The game engine is still in the early stages, so please note that for every new push it is not guranteed that the new code will reliably work with your previous or current projects. Check the releases before attempting to get the newest from source.
TLeng2 (pronounced: tlenk-two) is a game engine that supports python (with the pygame-ce, pymunmk and NumPy modules) and C++.
The reason I started this project is to see what it takes to create a 2d game engine, and for me to get an even better introduction to computer 2d graphics.
The code is here to either inspire someone else to start a similar project, or to give some insight on a few things.
On every single general release update there always will be an example game, in the examples
folder.
The C++ version of the engine is a work in progress, but it will be available soon!
After the C++ section will be finished, the engine will change names from TLeng2 to TLeng3. TLeng2 aims only for support with python, TLeng3 aims to support python and C++ together.
Check the github wiki!
- RainCoin (Framework ver: 2.0-dev)
- ScalarTux (In development, Framework ver: v2.2.0.dev4)
- PixelWheel (In development, Framework ver: v2.2.0.dev12)
This software will have a GUI for the user
- SpriteStacking Viewer
- Tilemap Editor
- Level Creator
- Assistant for inputing assets to your game (Import Wizard)
- Scene/UI Creator
- Animation Creator
- Python:
- python 3.11+
- Pygame Community Edition 2.2+
- PyMunk 6.5+
- NumPy 1.20+
- ModernGL (not needed yet)
- C++ (WIP):
- SDL 3
- GLAD
- OpenGL
- CMake
It is recommended that everytime you create a game in Tleng
you create a Virtual Enviroment
. That is to resolve any conflicts that might arise from namespaces and more (Tleng
uses Pygame-CE
which conflicts with Pygame
).
Here is how to create a virtual enviroment
:
python -m venv name_of_your_virtual_enviroment
Then you want to activate the virtual enviroment
:
source venv/bin/activate
Now install the TLeng
game engine with pip
:
pip install tleng
Create a directory that is going to host your game files:
mkdir my_game_name
cd my_game_name
After that you can create a main.py
file:
touch main.py
your_preferred_editor main.py
Import tleng2
and start developing games!
The suggested file structure in tleng
is this:
app_name/
|- assets/
| |- images/ ...
| |- sound/ ...
| |- fonts/ ...
|
|- src/
| |- tleng2/ ... (*)
| |- menu.py
| |- settings.py
| |- level.py
| |- ai_movement.py
|
|- main.py
Explanation:
- An
assets
directory that you can structure as you wish, the structure sgoen in the example is not definitive. - A
src
directory that contains all the source files of the game, sctipts, scenes etc. - The
main.py
file exists to setup the entirity of the game at startup. It links all the scenes, specifys the plugins used and more.
(*) If you want to make modifications to the game eninge, then it's recommended that you import all the game engines files into your src folder.
2 = the engine is 2d (and because it's better than the previous try)
x = The general full release version
y = The bug fix version for the general release
z = is either Beta/Alpha/dev/exp of the general release or the bug fix version (exp : experimental)