A proof-of-concept 2D game engine. Created in University of Michigan's EECS 498-007 Game Engine Architecture course during Winter 2024.
Core ideas:
- Actors are containers of components
- Scenes are containers of actors
- A game is a collection of scenes
- Multiplayer games are made by replicating state
Sage Engine uses CMake for its build system. To get started, clone the repository and initialize submodules:
$ git clone https://github.com/dnsge/game-engine
$ cd game-engine
$ git submodules update --init --recursive
# Install dependencies via brew
$ brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer boost
# Initialize cmake build directory
$ mkdir build && cd build
$ cmake ..
# Build the engine
$ cmake --build .
# Engine will be built at bin/sge
$ vcpkg install
$ mkdir build && cd build
$ cmake "-DCMAKE_TOOLCHAIN_FILE=C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake" ..
$ cmake --build .