← In development
07 / Systems language

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
The challenge

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.

The approach

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.

Inside the project

What it does.

  1. 01

    Static types and ahead-of-time compilation

  2. 02

    Explicit ownership, allocation, nullability, and mutability

  3. 03

    Optional interface files without textual header inclusion

  4. 04

    Compile-time generics with explicit constraints

  5. 05

    Native interoperation with Nyx through the shared Noctis Runtime

Design principles

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.

See the work

Nox

Follow the design work
Next projectNoctis Runtime