2026
Nebula
A Simulation library for an MMO 4x grand strategy game.
- C++
- Simulation
- Library
Nebula
Nebula is the simulation library for a persistent multiplayer grand strategy game. It defines the state of a galaxy, its planets, resources, industry, markets, populations, and fleets, and the evolution of the simulation state.
The simulation is designed to be deterministic: the same seed and sequence of commands should always produce the same result. Nebula is written in C++20 and does not depend on a game engine. The game server advances the live galaxy, and an offline harness runs the same code over compressed time for balance and regression work.
Requirements
- Visual Studio 2022 or later, with the Desktop development with C++ workload
- CMake 3.25 or later and Ninja, both of which ship with that workload
- The
clang-clpresets also need the C++ Clang Compiler for Windows component
Building
Open the Nebula folder in Visual Studio. It reads CMakePresets.json and sets up the environment itself.
From a terminal, use a Developer PowerShell or Developer Command Prompt. The compiler and the bundled CMake and Ninja are not on the default PATH.
cmake --preset msvc-debug
cmake --build --preset msvc-debug
Presets: msvc-debug, msvc-release, clang-cl-debug, clang-cl-release.
Testing
ctest --preset msvc-debug
CI builds and tests both toolchains.
Versioning
Nebula follows semantic versioning.
Snapshots and replays carry two further identifiers, both checked on load:
- Schema version - the on-disk format.
- Content hash - a synthesis of all definitions.
License
Proprietary. All rights reserved. See LICENSE.