Skip to main content

A fast 2D game engine for Python focused on normal-mapped lighting, optimized rendering, a simple API, and easy modding.

Project description

ViscEng

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

  1. Clone the repository
  2. Create a venv
    • Python 3.11 is required. If you have pyenv already, it will default to 3.11 for this directory.
  3. Install requirements
  4. Run python main.pyw to start the engine. Look at the scenes folder for some example scenes, and look at assets 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


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)

Uploaded Source

Built Distribution

visceng-0.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for visceng-0.1.0.tar.gz
Algorithm Hash digest
SHA256 77f9a2dac9494d66e1c56a9665308dcbcc11e7acd702556f009aae4ffbf61700
MD5 ef64a77a757f3eb541c1e4e239a20f65
BLAKE2b-256 79b5c89cef2a91c9dbfd4c874be9126168b9059a5c314881f19db63db2c786fe

See more details on using hashes here.

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

Hashes for visceng-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f03bcd22d6c5e5745faebfa8069f96464e3b240cbdb20327fee55da210e87fd
MD5 2b9f788488b2e0b4ed2bfebf72845eaf
BLAKE2b-256 59138e046e7a4487386a502edf7eec68aec27f5364110921888e1e97c3ef1a99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page