Game

Game Project Structure

Overview of the folder structure for a game project built with Nevo Engine.

Directory Overview

A typical Nevo Engine game project (like Nevo-base) is structured to separate game logic, assets, and build artifacts.

src/

Contains the source code for your game.

  • main.cpp: The entry point of the application. Responsible for initializing the engine, registering components/systems, and starting the game loop.

include/

Contains header files for your game code.

  • nevo/: Public headers exported by the Nevo Engine. Game developers should primarily include headers from here.

game/

The runtime working directory for the game. Contains all assets required by the engine.

  • assets/: General assets.
  • levels/: Scene files (JSON) defining entity hierarchies.
  • materials/: Material definitions (JSON).
  • shaders/: Custom shader files.
  • textures/: Image assets.
  • systems/: Custom ECS systems implementing game logic (e.g., MonkeyRot, Freecam).

build/

Generated by the build system. Contains the compiled game executable, the libnevo_engine.so shared library, and intermediate build files.

CMakeLists.txt

The build configuration file. Defines how to build your game and links it against the Nevo Engine library.