Infernux · 熔炉
C++ / Vulkan / WebGPU runtime. Python is the real development interface.
简体中文 · Website · Documentation · Forum · Releases
This is a real editor capture from the 0.3.4 showcase: 65,536 ordinary GameObjects, one mesh, one material, and a RenderStack doing lighting, fog, color, tilt-shift, and MSAA.
What this is
A general-purpose game engine. Not a chat box glued onto someone else's editor.
The runtime is C++17, with Vulkan on native platforms and WebGPU in browsers. Gameplay, components, editor tools, assets, and render setup are written in Python 3.13.
0.4.0 brings Windows and Linux Editors, Windows/Linux/Android/Web Player builds, self-contained plugin payloads, packed runtime assets, and Hub-managed build environments. The same project is used to exercise gameplay, UI, input, and packaged file access across the four Player targets.
What you can do now
- Scenes, components, physics, audio, UI, animation, particles, prefabs
- Vulkan Forward / Forward+ / Deferred, PBR, RenderGraph, RenderStack
- Windows and Linux Hub, Editor, and standalone Player builds
- Android APK/AAB and Web Player exports through the same build service
- InxPackage plugins with runtime/editor separation and live asset and script refresh
- Path-based asset access backed by GUIDs and packed Player content
- Hub-managed Python and Android support, with background installation queues
| Target | Editor | Player | Graphics | 0.4.0 status |
|---|---|---|---|---|
| Windows x64 | Yes | Yes | Vulkan | Build and CI passed |
| Linux x86_64 | Yes | Yes | Vulkan | Build and CI passed |
| Android arm64/x86_64 | No | APK/AAB | Vulkan | Build and CI passed |
| Web | No | HTML/JS/WASM | WebGPU | Build and CI passed |
This table follows the auditable support matrix. Evidence and release boundaries distinguish CI acceptance from public release availability and device coverage. macOS and native iOS are not supported targets.
Platform exporters are official InxPackages with independent repositories and releases: Windows, Linux, Android, and Web. Each repository includes illustrated setup documentation and an installable .inxpkg release asset.
Each platform plugin carries its precompiled Player and target-specific runtime or build tools. Normal game exports use the installed engine and plugins; they do not require an engine source checkout, Git submodules, CMake, or native engine compilation. For Android, first install Android support under Hub's Installs page, then import the Android plugin. Hub owns the shared SDK, NDK, JDK, Gradle, and target Python dependencies and supplies their paths to the Editor. OpenGL, OpenGL ES, and WebGL are not fallback product paths.
MCP is no longer welded into the engine. It is the official default plugin infernux/mcp. New projects include it. Turn it off or uninstall it if you do not want it.
Animation-only FBX files can drive a matching skinned model without geometrically guessing joint correspondence; Assimp pivot helpers are handled, while incompatible rigs fail explicitly.
Plugins
An Infernux plugin is an InxPackage. Drop a .inxpkg, point at a folder, paste a GitHub URL, or install from the official list.
Refresh catalog updates the official list without upgrading installed packages. For a GitHub package, use Versions to check compatible releases and explicitly choose an update. Updates preserve asset GUIDs, enabled state, and user-added files; replacing local edits requires your consent. Already installed plugins remain usable offline.
MyPluginRepository/
README.md # repository only
package.py # standalone packer
package/
inx_package.json # optional metadata overrides
runtime/ # ships with the game
editor/ # Editor only
plugin_pages/ # extra tabs in the Plugins window
For local authoring, the selected folder itself is the package root; no
package/ wrapper or manifest is required. The output .inxpkg filename
becomes the default name and reference. Repository builds archive only
package/, so CMake, Gradle, Cargo, README, and temporary output stay outside.
Runtime code and regular assets go into a Player build. Editor scripts stay in the Editor.
Package assets have explicit .meta identities and participate in the same refresh process as project assets. Packages can carry materials, shaders, text, web pages, and native or other runtime files, not just Python scripts.
Player content stays in Content.inxpkg instead of exposing an unpacked Assets/ and Library/ tree. Engine asset APIs resolve authored paths through the cooked GUID index. Files that need a real filesystem path can be materialized with their relative layout preserved. This is binary asset packaging, not a promise of cryptographic protection.
Official plugin repositories (source, documentation, and .inxpkg releases):
Get started
Download the published Windows x64 installer from GitHub Releases and let InfernuxHub manage engine versions.
A fresh Hub installation includes its isolated Python 3.13 runtime. Each Infernux release is bound to the Python ABI encoded by its wheel. Hub checks that matching managed runtime before it allows the engine version to be installed; additional runtimes for older releases are installed explicitly from the Hub's Installs page.
Hub groups engine versions, Python runtimes, and Android support into separate tabs under Installs. Installations run in the background, with a compact progress strip and a hover-to-expand queue. Hub can remain in the system tray. Using the managed installation does not require prior Python or Conda experience.
From source you need Windows 10/11 x64, Python 3.13, Vulkan SDK 1.3+, CMake 3.25+, Visual Studio 2022, and MSVC v143:
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-wheel
python packaging/launcher.py
On Ubuntu or Debian, install the native dependencies once, then configure the
repository. The setup script initializes submodules and creates the Python 3.13
Conda environment from environment.yml. If an older infernux environment
uses a different Python ABI, the script replaces it instead of reusing it.
scripts/setup/install_linux_dependencies.sh
bash scripts/setup/configure_development.sh
conda activate infernux
cmake --preset linux-clang-release
cmake --build --preset linux-clang-release
Run the Python tests on either host. The native test example below uses Windows presets; on Linux, use linux-clang-dev instead.
python -m pytest python/test/ -v
cmake --preset windows-msvc-dev
cmake --build --preset windows-msvc-dev
ctest --preset windows-msvc-dev --output-on-failure
Docs
Citation
@software{chen2026infernux,
author = {Chen, Lizhe},
title = {Infernux},
year = {2026},
version = {0.4.0},
url = {https://github.com/ChenlizheMe/Infernux}
}
License
MIT. See LICENSE. Bug reports should include the engine version, OS, and how to reproduce. Read CONTRIBUTING.md before sending a large change.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file infernux-0.4.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: infernux-0.4.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 20.8 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efd78afabb7b3e40b91507fb1590689fbe54179ddadcc9419ca75aa614aa6123
|
|
| MD5 |
c70dee6c3782336a612c37da22da4da6
|
|
| BLAKE2b-256 |
345f7e416cd88f6045a7b6e70a745ceaaa6e4819c907fcdd50db3a27fc791c54
|
File details
Details for the file infernux-0.4.0-cp313-cp313-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: infernux-0.4.0-cp313-cp313-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 36.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a83342d505dd5f5fc833bac8290277f03190bdd6f093a9591ba1952a7f27c097
|
|
| MD5 |
0c5b5295a2d2252a5a1eae291a938d17
|
|
| BLAKE2b-256 |
deb8efe55e72fb565d7e8f5601077bc5bc809e4b9c228255b02c7dd29a1131d6
|
File details
Details for the file infernux-0.4.0-2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: infernux-0.4.0-2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 20.8 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbf4e5a7e232ee57b05360048eb6e0f952a874b5c39d49e3dc44a044c21af987
|
|
| MD5 |
a94cdfc49205533b6bf1c1266c08c25b
|
|
| BLAKE2b-256 |
d446f9a67abf1b3bfd8af463427d328bc621a85fb6efd0d59e64698336c9bdf1
|
File details
Details for the file infernux-0.4.0-2-cp313-cp313-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: infernux-0.4.0-2-cp313-cp313-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 36.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d0a5f562f8a80634d592c8f2379ed695f4d41c759f1e93c73c51d49f3dbf199
|
|
| MD5 |
3dccdcce2f16e4c02937472d736a3059
|
|
| BLAKE2b-256 |
a3ea6c0e70a3cad0751a273bda0e3393667fce9c9d78acede0346c1c24dac09e
|
File details
Details for the file infernux-0.4.0-1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: infernux-0.4.0-1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 20.8 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af3de517472cc9ac90ed5112077f8f7b2a690c0e43037bdddccb5dd67745aa5f
|
|
| MD5 |
237c91f3115db420834b644a24401f86
|
|
| BLAKE2b-256 |
ebba8d4a6fe00805c2c5dc48a4db6290cd2e0bf93390f70e1f0fde59d0ac1992
|
File details
Details for the file infernux-0.4.0-1-cp313-cp313-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: infernux-0.4.0-1-cp313-cp313-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 36.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14f08da4736f7d776e484416a44d82d6de17a6293ad5af8a66985e6fc88d8dc3
|
|
| MD5 |
6a8fd044acea1cf06776dba425f60295
|
|
| BLAKE2b-256 |
a7da85117510c47a0379b84836f1a7a519c407bd8a98be6360881c405688d3fd
|