2026-07-22 17:34:44 +02:00
# Towards
2026-07-18 14:31:15 +02:00
2026-07-22 17:34:44 +02:00
Game engine built as a modular monolith.
2026-07-18 14:31:15 +02:00
## Building
Dependencies:
2026-07-22 17:34:44 +02:00
- Conan 2 (`pipx install conan` , or `pip install conan` )
2026-07-18 14:31:15 +02:00
- Vulkan SDK
2026-07-22 17:34:44 +02:00
The Vulkan SDK must be installed before building. Do not forget to set PATH on Windows.
2026-07-18 14:31:15 +02:00
2026-07-22 17:34:44 +02:00
On Linux, Conan builds SDL2 from source and still needs the system OpenGL/X11/Wayland/ALSA development headers present.
2026-07-18 14:31:15 +02:00
2026-07-22 17:34:44 +02:00
First time only, create a Conan profile describing your compiler:
2026-07-18 14:31:15 +02:00
``` bash
2026-07-22 17:34:44 +02:00
$ conan profile detect
2026-07-18 14:31:15 +02:00
```
2026-07-22 17:34:44 +02:00
Install the pinned dependencies and generate the CMake toolchain + presets:
2026-07-18 14:31:15 +02:00
``` bash
2026-07-22 17:34:44 +02:00
$ conan install . --output-folder= build --build= missing -s build_type = Debug
2026-07-18 14:31:15 +02:00
```
2026-07-22 17:34:44 +02:00
Configure and build using the generated preset:
``` bash
$ cmake --preset conan-debug
$ cmake --build --preset conan-debug
```
For a release build, repeat both steps with `-s build_type=Release` and the
`conan-release` preset.
2026-07-18 14:31:15 +02:00
There are now two executables:
Server is at `build/modules/client/mmo_server`
Client is at `build/modules/client/mmo_client`
First run the server, so that client can connect. The server will try to use port 8080, but if it is already occupied, it will try use the next free higher one.