PRINCIPLE I · Fast inner loop
Python scripts, hot-reload, asset previews, and editor-side tooling keep the iteration loop under a second without weakening the native runtime core.
C++ / Vulkan core · Python production layer · repository-first
熔炉 (Infernux) is a from-scratch game engine that pairs a C++17 / Vulkan native runtime with a Python production layer for gameplay, editor tooling, and render-stack authoring. It is built for teams who want readable internals, a fast inner loop, and an MIT-licensed codebase they can actually own.
from Infernux import InxComponent, Vector3
from Infernux.coroutine import WaitForSeconds
class Mover(InxComponent):
def awake(self) -> None:
self._dir = 1.0
def start(self) -> None:
self.start_coroutine(self.pulse())
def update(self, delta_time: float) -> None:
v = Vector3(0.2 * self._dir, 0.0, 0.0)
self.transform.translate(v * delta_time)
def pulse(self):
while True:
yield WaitForSeconds(0.5)
self._dir = -self._dir
熔炉 is shaped around a simple position: keep the hot path native, keep the workflow scriptable, and keep the architecture readable enough that a team can actually take ownership of it instead of negotiating with a vendor.
The capture below is unedited: the editor sits in Play mode, the inspector is open on a custom height_gradient shader, and the runtime is keeping the entire pixel grid lit and updating without any scripted interaction.
height_gradient.frag shading hundreds of cube clones in a single material slot.The engine is shaped around engineering control rather than platform lock-in. Each principle reduces hidden cost for teams building real games and real tools.
Python scripts, hot-reload, asset previews, and editor-side tooling keep the iteration loop under a second without weakening the native runtime core.
RenderGraph, RenderStack, and material descriptors are inspectable and scriptable from Python. The render path is meant to be extended, not hidden.
MIT licensing and repository-first development keep the cost model simple: the work is in the code, not in negotiating with a vendor.
This is the current technical preview, sorted by the work areas that actually matter: rendering, simulation, content, scripting, tooling, and asset pipeline.
Forward and deferred rendering, PBR materials, cascaded shadows, MSAA, shader reflection, post-processing stack, and RenderGraph-based pass scheduling.
Rigid bodies, colliders, scene queries, collision callbacks, layer filtering, and scene-synchronized transforms backed by Jolt Physics.
Sprite-based SpiritAnimator, AnimClip2D and AnimClip3D assets, embedded FBX takes, skeletal animation playback, skinned mesh rendering, and an FSM editor for state machines.
Hierarchy, Inspector, Scene View, Game View, Project, Console, UI editor, Toolbar, gizmos, multi-selection, undo / redo, and play-mode scene isolation in a single shell.
Unity-style component lifecycle, serialized inspector fields, decorators, input APIs, coroutines, prefabs, hot-reload, and a built-in @njit decorator that opts in to Numba JIT with automatic pure-Python fallback.
GUID-based AssetDatabase, .meta sidecar files, dependency tracking, scene serialization, asset previews, Nuitka-based standalone build, and a PySide6 Hub launcher.
Because the gameplay and tooling surface is Python, you can pull NumPy, Numba, Taichi, OpenCV, and PyTorch directly into gameplay logic, editor tools, or offline pipelines.
The engine has moved beyond static-scene authoring while the roadmap stays clear about what still needs production hardening.
Rendering, physics, audio, Python scripting, prefabs, game UI, editor authoring, GUID asset workflows, 2D/3D animation previews, skinned meshes, asset previews, and standalone build are all online.
Upcoming milestones focus on richer UI controls, GPU particles, terrain, onboarding material, and stronger content production paths.
熔炉 exists for teams who want source access, architectural clarity, and a workflow they can actually reshape. Start with the docs, inspect the code, and push the engine further.