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

Run builder.py:

python builder.py

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 :hammer:
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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

linpg-3.8.1-cp312-cp312-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

linpg-3.8.1-cp312-cp312-manylinux2014_x86_64.whl (15.6 MB view details)

Uploaded CPython 3.12

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

Uploaded CPython 3.11 Windows x86-64

linpg-3.8.1-cp311-cp311-manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.11

linpg-3.8.1-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

linpg-3.8.1-cp310-cp310-manylinux2014_x86_64.whl (13.1 MB view details)

Uploaded CPython 3.10

File details

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

File metadata

  • Download URL: linpg-3.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for linpg-3.8.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3c73fd3c1e365bfe067a812731df06c09d437d79aaa6c932f456b6e726beaf55
MD5 c501807291ed97c18279b09872156504
BLAKE2b-256 72277b7b462983bd8846706474113a347b28e902a6f39098c91cda2540431146

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for linpg-3.8.1-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6cdfb51015b48c1787b5d359d16c8efa0b908b1560a6f5555431220a893e1f8
MD5 cf45bcd54a1d11f44765f2a163562e66
BLAKE2b-256 f0e0471d4a1d0649d9c22166ad2b5687fb81174157828bedb4d8a01cd5121f38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: linpg-3.8.1-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/5.1.0 CPython/3.12.3

File hashes

Hashes for linpg-3.8.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3c5a918d5482845f96ac449374c04786299b334e583b305064b36c8bb8aa06d5
MD5 5fc0e59c58991b7b9010901590067745
BLAKE2b-256 c595da9164cf5c1fb58336598d06387bc535c269c75d7903f54cd682483a8157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for linpg-3.8.1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46013060daa006356bc089dbe86a4cf3c2aac10e641c91a46ff0ca0b13cc6bfe
MD5 c7897e4a24e636bc89cb274d954217c5
BLAKE2b-256 90751a36b9869f70d2f8ece5b9a0725dd730aa4c29e3143bb5a41172ed18b724

See more details on using hashes here.

File details

Details for the file linpg-3.8.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: linpg-3.8.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for linpg-3.8.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 36a5ea01c1b5d4325beb3099a14ba745a30b8bdfea1f3fc8f7d31c52dd2e4577
MD5 f68459f75e8dfe7face01e0013b558de
BLAKE2b-256 ff6df1894299c0ba645a547c1e640ba16935f4fa3828abd3cf5f40a288e4b128

See more details on using hashes here.

File details

Details for the file linpg-3.8.1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for linpg-3.8.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4eaf88a259e2b76ce492ca02a06693da4d956609cc14cfbd854f00483462b82a
MD5 288f4a724758505c30324b06e9e6a42c
BLAKE2b-256 1f7102b39f7799412fbca865a57e3493f94b3007207448c8fd779044ef32a3d5

See more details on using hashes here.

Supported by

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