🤖 AI Summary
This work addresses the performance bottlenecks arising from interpreted execution of Python scripts in game engines by proposing an open-source engine architecture that harmonizes development convenience with real-time rendering efficiency. The engine employs a C++17/Vulkan-based core, seamlessly interfaced with a Python production layer via pybind11. It introduces, for the first time at the engine level, a unified mechanism combining batched state synchronization and Numba-driven just-in-time (JIT) compilation—featuring automatic loop parallelization—to substantially accelerate script execution. Empirical evaluation across three representative workloads demonstrates performance approaching that of native code and comparable to Unity 6. Released under the MIT License, the project leverages a modern technical stack including NumPy and LLVM.
📝 Abstract
This report describes Infernux, an open-source game engine that pairs a C++17/Vulkan real-time core with a Python production layer connected through a single pybind11 boundary. To close the throughput gap between Python scripting and native-code engines, Infernux combines two established techniques - batch-oriented data transfer and JIT compilation - into a cohesive engine-level integration: (i) a batch data bridge that transfers per-frame state into contiguous NumPy arrays in one boundary crossing, and (ii) an optional JIT path via Numba that compiles annotated update functions to LLVM machine code with automatic loop parallelization. We compare against Unity 6 as a reference on three workloads; readers should note differences in shading complexity, draw-call batching, and editor tooling maturity between the two engines. Infernux is MIT-licensed and available at https://chenlizheme.github.io/Infernux/.