ㅤ
Game Engine in Python ( Pygame, OpenGL, Bullet Physics, Cython )
ㅤ
This is an engine whose main language is Python. The project implements three-dimensional space and graphics, which are
rendered via OpenGL, or just GLSL. The engine uses many other libraries to make it easier to work with.
The optimization in the project is bad, as is the graphics, but the first is a consequence of the language and the second
is the lack of good shaders.
The engine is based on its own implementation, its own implementation of three-dimensional space. Rendering takes place through the creation and use of shaders on GLSL, all information is transmitted to them through classes моделей The main language of the engine is Python, it is used for initialization VBO, CAMERA, LIGHT. The rendering is based on the Modernlib library, based on OpenGL. The language itself helps to create .frag and .vert. This will help me use your GPU to increase performance and graphics quality. Currently, work is underway to improve the API and improve the internal classes of the engine. There are already provided for the user widgets (button, additional window, soon the input field), error screen, loading screen. Do not forget that the PyGame library is also at the heart of the project, which makes it easier to use some functions both in terms of their use and in terms of documentation
- PyGame;
- ModernGL;
- Numpy;
- PyGlm;
- PyWaveFront;
- Loguru;
- clone repository from GitHub (https://github.com/MarcT1me/QuantumCore.git)
- install requirements
pip install -r requirements.txt - run main.pyw
python .\main.pyw
Compile command: pyinstaller --name "Quantum Game v0.4.4" --icon="QuantumCore/data/QuantumCore.ico" --add-data "C:/Program Files/Python311/Lib/site-packages/moderngl;moderngl" --add-data "C:/Program Files/Python311/Lib/site-packages/glcontext;glcontext" --add-data "F:/project/QuantumCore/core/elements/entities.py;entities" main.pyw
Eclipse the python version, icon name and game version to your own before using. After compile - copy all data in directory
(textures, models, game data and other). In the future it will work through a separate engine function
ㅤ
- light: after add 2 and more light source;
- model loader: 3 loaded models in scene;