A fast 2D game engine for Python focused on normal-mapped lighting, optimized rendering, a simple API, and easy modding.
Project description
Custom 2D game engine adapted from my previous, cancelled game, known in development as "Visceral Velocity". This version of the engine has been rewritten from scratch to be more efficient, and more user-friendly.
Features
- Comparatively fast rendering in pure Python using Pyglet (~2000 FPS on a large tilemap on a Ryzen 9 7900X, where a similar scene in Pygame would be ~90 FPS)
- Simple and easy-to-use API for quickly getting repetitive things done
- Built-in support for tilemaps using a custom format (and level editor)
- 2D lighting, shadow-casting, normal mapping, and more
- Easy modding support with everything exposed as pure Python to a modder
- Simple multiplayer synchronization using a custom P2P protocol, with a broker server for NAT traversal
Installation
- Clone the repository
- Create a venv
- Python 3.11 is required. If you have pyenv already, it will default to 3.11 for this directory.
- Install requirements
- Run
python main.pyw
to start the engine. Look at thescenes
folder for some example scenes, and look atassets
for the resources used in those scenes.
License
None yet.
Contributing
Feel free to contribute! Just fork the repository and make a pull request. If you have any questions, feel free to ask in the issues tab.
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
visceng-0.1.0.tar.gz
(16.4 kB
view details)
Built Distribution
visceng-0.1.0-py3-none-any.whl
(16.6 kB
view details)
File details
Details for the file visceng-0.1.0.tar.gz
.
File metadata
- Download URL: visceng-0.1.0.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77f9a2dac9494d66e1c56a9665308dcbcc11e7acd702556f009aae4ffbf61700 |
|
MD5 | ef64a77a757f3eb541c1e4e239a20f65 |
|
BLAKE2b-256 | 79b5c89cef2a91c9dbfd4c874be9126168b9059a5c314881f19db63db2c786fe |
File details
Details for the file visceng-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: visceng-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f03bcd22d6c5e5745faebfa8069f96464e3b240cbdb20327fee55da210e87fd |
|
MD5 | 2b9f788488b2e0b4ed2bfebf72845eaf |
|
BLAKE2b-256 | 59138e046e7a4487386a502edf7eec68aec27f5364110921888e1e97c3ef1a99 |