
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.
Start here¶
pip install --pre simvx, the GPU driver and supported platforms.
A first 2D and 3D program.
Browse the examples; most run in your browser.
Build Pong.
Build a 3D gem collector.
The visual editor, live in your browser.
Going deeper¶
Engine guides: Core engine (nodes, input, audio, UI, physics and more)
Rendering: Graphics (cameras, materials, shaders, 2D drawing)
Shipping: Shipping a game and Web export
One-page summary: API cheat sheet
Full symbol reference: API Reference
Licence¶
You want to |
Licence |
Cost |
Your obligation |
|---|---|---|---|
Open-source your game |
Free |
License your game under the AGPL; keep the NOTICE |
|
Ship a game under any licence, closed-source included |
Free |
Show the “Made with SimVX” splash or watermark |
|
Use the engine outside those terms |
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. Documentation prose is CC-BY-4.0 and its code snippets MIT (details).