# InfEngine **Repository Path**: titd/InfEngine ## Basic Information - **Project Name**: InfEngine - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Open-source game engine with a C++17 / Vulkan runtime and a Python production layer.
中文文档 · Website · Docs · Quick Start
--- ## Overview Infernux is a from-scratch engine for teams that want to own the runtime, the tools, and the iteration loop. The project combines: - a native C++17 / Vulkan runtime for rendering, scene systems, platform integration, and physics - a Python layer for gameplay, editor tooling, content workflows, and render-stack authoring - an MIT license with no royalties, runtime fees, or closed engine surface The goal is straightforward: keep the hot path native, keep the authoring loop fast, and keep the architecture readable enough that you can extend it without fighting hidden engine policy. ## Why Infernux - Scriptable rendering: the render pipeline is exposed through RenderGraph and RenderStack APIs instead of being locked behind editor-only configuration. - Python where iteration matters: gameplay, editor extensions, asset workflows, and automation all live in the same scripting ecosystem. - Repository-first development: the codebase is intended to be inspectable and modifiable, not treated as a black box. - Honest scope: the current release is a Windows technical preview with a working runtime/editor core, not a finished multi-platform engine. ## Current Status The project already has a usable foundation for real engine work: - Vulkan forward and deferred rendering, PBR, cascaded shadows, MSAA, shader reflection, and post-processing. - RenderGraph and RenderStack systems that can be authored from Python. - Jolt physics integration with rigidbodies, colliders, queries, callbacks, and layer filtering. - SDL3-based audio, scene/resource management, GUID-based assets, and dependency tracking. - A built-in editor with Hierarchy, Inspector, Scene View, Game View, Project, Console, UI editor, build settings, and play-mode isolation. - Python-side component lifecycle, coroutine utilities, prefab workflows, serialized fields, and hot-reload support. - Game UI primitives including Canvas, Text, Image, Button, and event routing. - Hub packaging flows for both a standalone bundle and a Windows installer. Near-term roadmap priorities are animation, advanced UI controls, more onboarding material, and a stronger content pipeline. ## Architecture The engine is split by responsibility rather than ideology. | Layer | Responsibility | |:------|:---------------| | C++17 / Vulkan | Renderer, resource ownership, physics, scene systems, platform services | | pybind11 bridge | Native bindings exposed to Python | | Python | Gameplay, editor logic, tooling, automation, render authoring | This division keeps performance-sensitive systems native while leaving day-to-day production code in a language that is faster to iterate on and easier to integrate with external tooling. ## Quick Start ### Prerequisites | Dependency | Version | |:-----------|:--------| | Windows | 10 / 11 (64-bit) | | Python | 3.12+ | | Vulkan SDK | 1.3+ | | CMake | 3.22+ | | Visual Studio | 2022 (MSVC v143) | | pybind11 | 2.11+ | Use any Python 3.12 environment you prefer. The examples below use Conda because that is the most common workflow in this repository. ### Clone the repository ```bash git clone --recurse-submodules https://github.com/ChenlizheMe/Infernux.git cd Infernux ``` If you already cloned without submodules: ```bash git submodule update --init --recursive ``` ### Build the engine ```bash conda create -n infengine python=3.12 -y conda activate infengine pip install -r requirements.txt cmake --preset release cmake --build --preset release ``` This builds the native module, copies the required runtime dependencies, and installs the Python package into the active environment so `import Infernux` works directly from the workspace. ### Launch the Hub in development mode ```bash conda activate infengine python packaging/launcher.py ``` Development mode uses your current Python environment and local build outputs. It does not install the Hub's private runtime. ### Run tests ```bash conda activate infengine cd python python -m pytest test/ -v ``` ## Documentation - Website: