A (not so) small python library for console (as in terminal) game development. It is developed as a framework to help learn development and python in an entertaining way.
A (not so) small library for terminal based game development.
Version updates always bear the possibility of bringing some breaking changes together with new features and improvements. We try to limit these but when they do occur they are documented on the wiki.
Historically, this library is used as a base to teach coding to kids from 6 to 15.
It aims at giving an environment to new and learning developers (including kids) that let them focus on the algorithm instead of the lousy display or precise management.
It started as a very simple library with very little capabilities, but over time it became something more. To the point that it is now possible to make very decent games with it.
So this is obviously still extremely simple compared to other game framework and it still does not aim at being anything serious for real game developers.
However, it can now be used by aspiring game developers for an introduction to 2D games development.
There is a Youtube channel that (will) contains tutorials.
Here is a quick view of what can currently be achieved with that library:
Have a look at the examples/ directory to see how most of these games have been done!
If you want a quick peek at the new features in the most recent version, have a look at this:
Hopefully you’ll find the pygamelib to have a lot of strong points:
The easiest way to install a stable version is to use pypi:
pip3 install pygamelib
It will pull all dependencies
The pygamelib only supports Python 3.6+. It will not run with Python 2.
We use pipenv to manage dependencies.
Run Pipenv to install the requirements:
pip3 install pipenv
pipenv install
If you want the development dependencies you need to run:
pip3 install pipenv
pipenv install --dev
Or you can just run make devenv
if make is available on your system.
To run the unit tests use the following command:
python -m unittest discover -s tests
It is not really a hard requirement but colored emojis are really bringing the games created to life.
We then recommend to have a color emojis font installed like Noto Color Emojis (on most Linux distributions you can install it from the package manager, search for “noto-color-emoji”).
If your terminal application is not displaying color emojis, please have a look at this file and follow the instructions.
To run the examples using pipenv:
pipenv shell
(pygamelib) cd examples/suparex
(pygamelib) python3 suparex.py
There is tons of limitations but for the most important ones: