A modern 2D game engine with advanced UI and graphics
Project description
LunaEngine 🚀
A modern, optimized 2D game engine built with Python and Pygame featuring advanced UI systems, procedural lighting, and embedded asset management. This engine have features like OpenGL and OpenAL!
PyGame Renderer is no longer supported, only OpenGL!
📋 Features
| Feature | Description | Status |
|---|---|---|
| Advanced UI | Roblox Studio-like UI components | ✅ Functional |
| OpenGL Rendering | Hardware-accelerated graphics | ✅ Functional |
| Performance Tools | FPS monitoring, hardware detection | ✅ Functional |
| Themes | The engine have pre-built themes | ✅ Functional |
| Filters | We home a huge amount of filters for your game(Blur, Neon, ...) | ✅ Functional |
| Lighting System | Dynamic lights and shadows | 🔄 WIP |
| Particle Effects | Particle system | 🔄 WIP |
| Image Embedding | Convert assets to Python code | ⚠️ Useless |
| Modular Architecture | Easy to extend and customize | :) |
Code Statistics
🚀 Quick Start
Installation
# First of all, install python 3.9+ (Not tested on older versions)
# Then you can install either from pypy or testpypi
pip install lunaengine
pip install -i https://test.pypi.org/simple/ lunaengine
Ignore
# Install dependencies
pip install -r requirements.txt
# Run a basic example
python examples/ui_comprehensive_demo.py
Requirements
Core Dependencies (required):
pygame>=2.5.0
numpy>=1.21.0
PyOpenGL>=3.1.0
PyOpenGL-accelerate>=3.1.0
PyOpenAL
Development Tools (optional):
black>=22.0.0
flake8>=4.0.0
pytest>=7.0.0
setuptools>=65.0.0
wheel>=0.37.0
twine>=4.0.0
Build
# Make build
python -m build
# Check files
twine check dist/*
# Upload testpypi
twine upload --config-file .pypirc --repository testpypi dist/*
# Upload PyPi
twine upload --config-file .pypirc --repository pypi dist/*
OpenGL
- Require OpenGL 2.0+
- OpenGL come actvated by default
Network
ToDo
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lunaengine-0.2.1.tar.gz.
File metadata
- Download URL: lunaengine-0.2.1.tar.gz
- Upload date:
- Size: 183.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f72108714ee9d3e393019a6c32056c78a3ba9867218fed40e1ad5296d4439b8
|
|
| MD5 |
9c13edb6bdab473c4d3ab0756fd96cca
|
|
| BLAKE2b-256 |
62b6b6b8f12f97cbcb3a0d125481872d036d03a9da16728b9385c0a7d47578c1
|
File details
Details for the file lunaengine-0.2.1-py3-none-any.whl.
File metadata
- Download URL: lunaengine-0.2.1-py3-none-any.whl
- Upload date:
- Size: 193.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee864375927b9444b1f17249399782c4ff3edffb9a8d991705cde23579e681bb
|
|
| MD5 |
f9f911bc119ac245d893b5e52a3969b2
|
|
| BLAKE2b-256 |
4edb8a7e751b2dd9f32bb73f631506c97575fdab9d67ec6e8b03b9020dc592a9
|