← All projects

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-cl presets 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.