Nyx
Nyx is a small, statically typed interpreted language embedded in the Umbra ecosystem. It gives gameplay and UI code a high-level surface while leaving ownership, resources, and engine internals to the host runtime.
- Technology
- C++ / Language design
- Status
- Active development
Nyx development streams
Videos and live development sessions will appear here as work on the language moves into its next implementation phase.
In productionScripting needs safety without systems-level ceremony.
Gameplay scripting needs to be approachable without becoming disconnected from the engine’s type system. UI authoring adds a second constraint: behavior, component state, and declarative element trees must work together without coupling the language to one renderer or backend.
Keep the language small and the host boundary clear.
Nyx treats host integration as a first-class boundary. C++ and future Nox types enter through the same runtime registration model, while Chaos builds declarative UI on top of Nyx rather than inside it. Language features earn their place through working gameplay and UI examples.
What it does.
- 01
Static typing with inference where it improves readability
- 02
Lexer, parser, interpreter, diagnostics, and host bindings
- 03
Gameplay behavior and state-transition authoring
- 04
Declarative UI behavior through the separate Chaos layer
- 05
A composition-led object model designed around engine entities and components
How decisions
get made.
Small on purpose
A script starts as one file, with no headers or registration ceremony.
Host independent
The language sees registered capabilities, not whether they originated in C++, Nox, or another host.
Readable over terse
Syntax favors immediate comprehension over saving keystrokes.
