Infernux · 熔炉
Build worlds. Give them intelligence.
An open-source game engine you write in Python, on its way to 3N: a Neural Network-Native engine.
Website · Download · Tutorials · API · Roadmap · Community · 简体中文
Real engine footage from the engine demo reel. No concept art.
What is Infernux?
Infernux is a game engine where Python is where you work and C++ is where it runs. You write gameplay, editor tools, render pipelines and numerical code in Python; a C++ runtime, a Vulkan renderer and Jolt physics do the heavy lifting. The same project ships to Windows, Linux, Android and the browser.
It is also built toward a specific goal: 3N, a Neural Network-Native engine. In most engines, AI is a plugin bolted on after the game is finished. In a 3N engine the world is data a model can read, the simulation is a place where it can act, and the shipped game is somewhere it can run.
import infernux as inx
class Spin(inx.InxComponent):
speed: float = inx.serialized_field(default=90.0, range=(0.0, 360.0))
def update(self, delta_time: float) -> None:
self.transform.rotate(inx.Vector3(0.0, self.speed * delta_time, 0.0))
An ordinary Python class. speed appears in the Inspector and can be tuned while the game runs.
Highlights
- Python first. Components with Inspector fields, coroutines and prefabs. Project scripts and plugins hot-reload transactionally, including the behaviour of instances that already exist.
- A renderer you can author. Describe a RenderStack in Python and the native RenderGraph runs it: Forward, Forward+ and Deferred paths, PBR, shadows, post-processing, GPU particle graphs, skinned animation, screen and world-space UI.
- A complete game loop. Multi-scene editing, FBX and Blender import with live source sync, Jolt rigid bodies and scene queries, audio, animation state machines and Timeline.
- Compute in the game. Batch NumPy access to world data, CPU/GPU JIT and Taichi integration for numerical gameplay. This is the data path models will use.
- An editor you can extend. Dockable panels and menus written in Python. InxPackage plugins carry components, tools, assets and platform exporters. An optional MCP plugin lets agents drive the editor through the same command and undo paths you use.
- Built to be inspected. Assets keep a GUID identity from import to cooked Player. Players load a packed asset index, never your project folder.
Platforms
| Target | Editor | Player | Graphics |
|---|---|---|---|
| Windows x64 | ✅ | ✅ | Vulkan |
| Linux x86_64 | ✅ | ✅ | Vulkan |
| Android arm64 / x86_64 | — | APK / AAB | Vulkan |
| Web | — | HTML + WASM | WebGPU |
Requirements and known limits per platform are in SUPPORT.md.
Get started
Use the engine. Install InfernuxHub, pick an engine version and create a project. The Hub manages Python environments and Android tools for you; no native compiler is needed. Then follow the five-step start to a component spinning a cube, and continue with the courses.
Build from source. Windows needs a Visual Studio installation with the Desktop C++ workload, CMake 3.25+, the Vulkan SDK and Python 3.13. The Windows preset lets CMake select the newest compatible Visual Studio generator installed on the machine.
git clone --recurse-submodules https://github.com/ChenlizheMe/Infernux.git
cd Infernux
./scripts/setup/configure_development.ps1
conda activate infernux
cmake --preset windows-msvc-release
cmake --build --preset windows-msvc-release
cmake --build --preset windows-msvc-install-wheel
python packaging/launcher.py
If configuration cannot create the selected generator, install a CMake version
that lists a compatible Visual Studio generator in cmake --help, or set
CMAKE_GENERATOR to one of the listed generators and configure again.
On Linux, run scripts/setup/install_linux_dependencies.sh and bash scripts/setup/configure_development.sh, activate infernux, then use the linux-clang-release and linux-clang-install-wheel presets. CONTRIBUTING.md covers the full workflow.
The road to 3N
| Stage | Status | What it unlocks |
|---|---|---|
| Python authoring, batch world APIs, CPU/GPU compute | ✅ Available | Models and gameplay share one data path into the world |
| Deterministic stepping, snapshots and replay | 🔜 Planned | Reproducible runs for debugging and learning |
| Batched worlds and a tensor data plane | 🔜 Planned | Many environments stepping side by side, zero-glue data exchange |
| Portable inference in the Player | 🔜 Planned | Trained models ship inside the game on every target |
Ten interactive maps chart every system on the roadmap. Release notes live in UpdateLog.md.
Community
- 💬 Questions, demos and ideas: community forum
- 🐛 Reproducible bugs: GitHub issues
- 🧩 Plugins: authoring guide and template
- 🛠️ Contributing: start with CONTRIBUTING.md
License
Infernux is released under the MIT license: free to use, no royalties. Third-party notices are indexed in licenses. Windows builds are signed free of charge by SignPath.io with a certificate from the SignPath Foundation (policy).
Citing Infernux
@software{chen2026infernux,
author = {Chen, Lizhe},
title = {Infernux},
year = {2026},
version = {0.4.2},
url = {https://github.com/ChenlizheMe/Infernux}
}
Metadata
Release files for infernux 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| infernux-0.4.2-2-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| infernux-0.4.2-2-cp313-cp313-manylinux_2_35_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.35+ x86-64 | Details |
| infernux-0.4.2-1-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| infernux-0.4.2-1-cp313-cp313-manylinux_2_35_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.35+ x86-64 | Details |
Total release size: 139.8 MB
Release files / infernux-0.4.2-2-cp313-cp313-win_amd64.whl
| Download URL | infernux-0.4.2-2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 26.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7cd4cb1df615a2cdeec2f4c23ff66054e2b7ca1542f5356c8134c8807abf6975
|
|
BLAKE2b-256 checksum How to use checksums |
eb59d4d2f66e139a6ca4ecf624750c3b9c7d9d70d68643c7bc2791c6ea950614
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / infernux-0.4.2-2-cp313-cp313-manylinux_2_35_x86_64.whl
| Download URL | infernux-0.4.2-2-cp313-cp313-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 43.7 MB |
| Tags | CPython 3.13 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
f3a494eb5be809711a9d69b2c6bd69aa6b76f7eebafe61c2b42e10d961354eda
|
|
BLAKE2b-256 checksum How to use checksums |
dbb94011d67af8c085c4d7f674029a564bf5a22b0e29a4cc99f2c02b79f574a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / infernux-0.4.2-1-cp313-cp313-win_amd64.whl
| Download URL | infernux-0.4.2-1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 26.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b777197bdce1d86485f485f2c0044b996da86291f692d75cc95f10acaa03b20
|
|
BLAKE2b-256 checksum How to use checksums |
be378eb314760980c5c966e745a07e79765393b58f7a061caeae19505b47cbe9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / infernux-0.4.2-1-cp313-cp313-manylinux_2_35_x86_64.whl
| Download URL | infernux-0.4.2-1-cp313-cp313-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 43.8 MB |
| Tags | CPython 3.13 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
8f910f343dd2bafb78fb168ac1267fddfd2f0f451bb96237443d3b9e79433ca7
|
|
BLAKE2b-256 checksum How to use checksums |
c8005f35f28ac66e1d147d601e813a8c7c8da7a7e4e99d8e5e6b3d569002d641
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for infernux 0.4.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.