SimVX
A Python game engine for 2D and 3D: scenes are plain Python, rendering is Vulkan, games export to the browser.
Pre-alpha. SimVX publishes development releases only (
0.0.0.devN) and is under active development; the API changes between builds. Once stable versions ship to PyPI, development builds continue on pypi.simvx.com.
Install
You need Python 3.14+ and a GPU driver with Vulkan 1.2+.
pip install --pre simvx
pip install --pre simvx --extra-index-url https://pypi.simvx.com/ # or the latest development build
From source: git clone https://git.simvx.com/simvx/simvx.git && cd simvx && uv sync, then run
commands through uv run (building from source).
Linux x86_64 is tested; Linux aarch64, Windows and macOS builds are untested. The
install guide covers GPU drivers, platforms and glslc for your own shaders.
A first program
import math
from simvx.core import Camera3D, Material, Mesh, MeshInstance3D, Node
from simvx.graphics import App
class MyGame(Node):
def on_ready(self):
self.add_child(Camera3D(position=(0, 5, 10), look_at=(0, 0, 0)))
self.cube = self.add_child(
MeshInstance3D(mesh=Mesh.box(), material=Material(colour=(1.0, 0.2, 0.2, 1.0)))
)
def on_update(self, dt):
self.cube.rotate((0, 1, 0), math.radians(90) * dt)
if __name__ == "__main__":
App(title="My Game").run(MyGame())
Save it as my_game.py and run python my_game.py: a window opens with a red cube spinning.
For the example library, pip install --pre "simvx[examples]", then simvx examples run demos_asteroids2d;
simvx examples copy <id> --to <dir> copies one into a directory you own to start from.
simvx editor opens the visual editor.
Features
- Scenes are Python files. Diff, review and test them like any other code; the editor reads and writes them as Python.
- One language, one toolchain. No scripting bridge: pdb, pytest and mypy work on your game.
- One API for 2D, 3D and UI. The visual editor and IDE are built on the same widgets you use.
- Browser export.
simvx export web my_game.pywrites a static WebGPU page. - GPU-driven Vulkan renderer with PBR, shadows, SSAO, bloom and post-processing.
- Batteries included: physics, audio, animation, tilemaps, navigation and a headless test harness.
Links
Documentation · Examples gallery · Issues · Contributing · Changelog
Licence
| You want to | Licence | Cost | Your obligation |
|---|---|---|---|
| Open-source your game | AGPL-3.0-or-later | Free | License your game under the AGPL; keep the NOTICE |
| Ship a game under any licence, closed-source included | Game-Distribution Exception | Free | Show the "Made with SimVX" splash or watermark |
| Use the engine outside those terms | Commercial licence | Separate terms | Write to licensing@simvx.com |
The features, tutorials and demos examples are MIT; each port under examples/ports/ carries its own
licence, the editor sample projects follow the engine's, and bundled third-party assets keep theirs
(examples licence). Documentation
prose is CC-BY-4.0 and its code snippets MIT (details).
"SimVX" is a trademark. Contributions are accepted under the CLA. © 2026 Gabriel Bouffard.

