Skip to main content

A game engine based on pygame, which aims to make game development easier.

Project description

English | 简体中文 | 繁體中文

:speech_balloon: Preamble

"Just because c++ is the greatest language ever invented doesn't mean that writing games in c++ is easy and fun, and the same goes for pygame."

:sparkles: About Linpg Engine

PyPI PyPI PyPI

Linpg (Lin's python game) Engine is a game engine developed by Linpg Foundation, which aims to standardize the development of Pygame games and make the codes easier to read, expand and maintain.

Linpg Engine is developed with a modular concept. It implements many features which are commonly used in game development. Simultaneously, the Linpg Engine also maintains a high level of compatibility with Pygame, making it easy for developers to migrate existing Pygame projects to Linpg Engine or use the features which Linpg Engine provides on their own Pygame projects.

We always need your help to make Linpg the best it can be! No matter who you are, any contributors are welcome!

Join our Discord: https://discord.gg/3wz6bs5jvu

:crystal_ball:Some awesome games developed using Linpg

A-story-of-us, a visual novel game only contains around 100 lines of code. A great starting point for anyone who is interested in Linpg.

GFL-Last Wish, a turn-based strategy game that demonstrates some advanced features and the unlimited potential of the Linpg engine.

:hammer_and_wrench: Dependencies

Required
pygame-ce
pyvns
numpy
Recommended*
pyyaml
opencv
speech_recognition

* All these libraries will be installed by default as some common features cannot be enabled without these libraries.

Special shout out to the developers of these libraries. They make game development using python no longer unthinkable.

:computer:Installation

Recommend:

pip install linpg

We also highly suggest you download and use A-story-of-us as your starting point.

Building From Source:

First, clone this repo:

git clone https://github.com/LinpgFoundation/linpg

(Optional) If you are interested in trying out the latest build, then you should switch to dev branch:

git checkout dev

If you have not install linpg-toolbox yet, please do so by using command:

pip install --upgrade linpgtoolbox

Install using linpgtoolbox:

linpgtb -i .

That's it, enjoy!

:world_map: Branches

master:

The current stable version.

dev:

The latest version that is available to the public. While this version may contain patches that fix identified problems, it may also have unknown or known new bugs that can cause harm to your system or projects. This version is typically recommended for experienced developers.

:books: How to contribute

  • It would be best if you can fork the "dev" branch as your starting point. If the "dev" branch does not exist, then fork the "master" branch.

  • After you have finished your work, you should request to merge to the "dev" branch instead of the "master" branch.

  • We are looking forward to seeing a pull request that contains a detailed explanation about any changes that were made.

:construction: Changes in Linpg Engine through the generations

Linpg 1 (Obsolete) Status
(Hard coded) Basic implementation of the visual novel system :white_check_mark:
A extremely simple main menu :white_check_mark:

Linpg 2 (Obsolete) Status
Non-hard coded and easy-to-edit visual novel system :white_check_mark:
A more dynamic main menu :white_check_mark:
Basic implementation of the combat system :white_check_mark:
Basic Support for video files :white_check_mark:
The visual novel system maintains 55 fps and the combat system reaches 45 fps :white_check_mark:

Linpg 3 (Current Version) Status
A more modular and aesthetically modern visual novel system :white_check_mark:
Options menu :white_check_mark:
Better and more complex combat system :white_check_mark:
Map Editor :white_check_mark:
Dialogue Editor :white_check_mark:
Most functions work when correct input is accepted :white_check_mark:
Visual novel system and combat system can maintain 60 fps :white_check_mark:
Video can be played at a stable 60 fps :white_check_mark:
Pygame native input box (English only) :white_check_mark:

Linpg 4 (On Schedule)
support pyglet (two libraries, one standard)
Rewrite using a combination of c++ and cython for better performance
Better options menu
Enemy AI systems will be partially affected by machine learning.
More convenient and beautiful map editor and dialogue editor
More readable and standardized code
Most functions are able to report errors and take the most appropriate approach after accepting incorrect input
The combat system can have more varieties.
The input box will support Chinese, Japanese, and more

:memo: License

Linpg is licensed under LGPL(GNU Lesser General Public License)-2.1-or-later.

See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linpg-3.8.2.tar.gz (137.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

linpg-3.8.2-py3-none-any.whl (143.1 kB view details)

Uploaded Python 3

linpg-3.8.2-cp313-cp313-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.13Windows x86-64

linpg-3.8.2-cp313-cp313-manylinux2014_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.13

linpg-3.8.2-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

linpg-3.8.2-cp312-cp312-manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.12

linpg-3.8.2-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

linpg-3.8.2-cp311-cp311-manylinux2014_x86_64.whl (17.9 MB view details)

Uploaded CPython 3.11

File details

Details for the file linpg-3.8.2.tar.gz.

File metadata

  • Download URL: linpg-3.8.2.tar.gz
  • Upload date:
  • Size: 137.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for linpg-3.8.2.tar.gz
Algorithm Hash digest
SHA256 792c68a09c80665811bbf9641f9ecca0ac1989062932a1c7e42cf7f4c997bb10
MD5 9ae88f66536cde0c1810b4542cc04c19
BLAKE2b-256 ca2b10323a4f691255b4a3651066aedcfc7e3dbe858d98f9ff619b0706a3ba2f

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-py3-none-any.whl.

File metadata

  • Download URL: linpg-3.8.2-py3-none-any.whl
  • Upload date:
  • Size: 143.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for linpg-3.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 286b877d9e964600035bc8e2f4d2dac6bad2bbca87882e208f2aa3eb007b3d28
MD5 a1a6e2a0c80759846c0ae79c2ceefa40
BLAKE2b-256 c7987b5cdc5f0c0c05a7060302c5c757ee9b7364a54925967faf6bc43e906681

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: linpg-3.8.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for linpg-3.8.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 817e29c8bad3c1cb8104ff6ae765eca7c69f3de5863952edf16848e43055e477
MD5 cb7ae1ed87c218b79d770796f80dcb06
BLAKE2b-256 60a726b0f26063e654e32fd01e4690cf06e5628053726d38a0ff4e9de72521ed

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for linpg-3.8.2-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa2f2347004afe013f35a1472d0c6d0ff7623af22557385e8e31e4d327796074
MD5 b7ccacbcb60eb699d14c2cf11227e3c5
BLAKE2b-256 499803062693d319b9fac3bbf49022846fea89b15782cada352a6518201adec4

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: linpg-3.8.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for linpg-3.8.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9371303bcb5dfb275c99d2e956c5c92b8bd358f3f7b93b7988d77209a00faf25
MD5 8127218c2e0665ccbd8cce8d207c436c
BLAKE2b-256 bb4462f7361013819d47b2a89756f03a972e61cef6eb00e16e116d4375dd3727

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for linpg-3.8.2-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 647dfdef43dc8f1ab59ed19a017417b52cd13f2b9b62932d124ed021591ef65d
MD5 d59d39fcb59ccdeb8f66ec22600ea8ce
BLAKE2b-256 f5d2ffb6c410b5e5b952bb9c3861fdd8e084b10a78a40a2ff74ae50264126cea

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: linpg-3.8.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for linpg-3.8.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9153e75e0f86fd457a7fe253138af470a254560cbd2e623e0ecb8257c360e6e3
MD5 71649fb2d63a5a112ae708e5817635dd
BLAKE2b-256 32c7c01dc9ed8050ba43aa6da2dda3cb5282786ce0af0d2b064b12e7d0629d41

See more details on using hashes here.

File details

Details for the file linpg-3.8.2-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for linpg-3.8.2-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d11d0711dcbe54f2ac4cc3429ab80363e40d89709bf1c89cf49306a020df5d93
MD5 6e66fc911525f9e5e7ab03eb48dd269a
BLAKE2b-256 d16e4fa64e28096257008ad2c6a6f8e882316ec91060156bacee8faf636f17a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page