Nox
Nox is the planned low-level counterpart to Nyx: a compiled systems language for engine logic, performance-sensitive code, and explicit control over memory and ownership. It aims to feel familiar to C++ developers while modernising the parts of C++ that create the most friction.
- Technology
- Language design / Compilers
- Status
- Design phase
Low-level control should not require legacy complexity.
Engine programming needs predictable performance and low-level control, but C++ carries decades of complexity in its build model, ownership conventions, and language surface. Nox explores whether those capabilities can be retained while making intent more visible in the type system.
Prove the language against real engine code.
The language is being designed around Umbra rather than as a general exercise in language completeness. Its first proving ground will be a bounded Penumbra rewrite, followed by incremental adoption where real engine code can expose costs, missing features, and weak assumptions.
What it does.
- 01
Static types and ahead-of-time compilation
- 02
Explicit ownership, allocation, nullability, and mutability
- 03
Optional interface files without textual header inclusion
- 04
Compile-time generics with explicit constraints
- 05
Native interoperation with Nyx through the shared Noctis Runtime
How decisions
get made.
Performance first
Language features should have visible costs and avoid hidden runtime work.
Modern where it matters
Ownership, modules, generics, and enums receive a cleaner model without discarding useful systems-level control.
Proven in an engine
Nox will evolve through measurable use in Umbra rather than theoretical completeness.
