This is a pet project of mine so that I can play with a few tools mixed altogether (namely: cross-platform and cross-compiler C++20, CMake presets, CLion integration, Conan migration, SFML, ...).
Dark Orbit (now named DarkOrbit: Reloaded) is a old Flash & web-based MMO game I used to play a lot when I was younger. The old client was a fixed-size window and UI, so recreating it makes for a great small learning project, not having to support thousands of modern features and configurations.
You need to install and configure Conan, CMake 3.17+ and Ninja.
[sudo] pip install -U conan # Not using sudo means having to manually add to PATH
conan profile new --detect default
# Using GCC or Clang with libstdc++? Execute this line too:
conan profile set settings.compiler.libcxx=libstdc++11
conan config set general.revisions_enabled=1
# Windows
powershell -Command "Add-Content $(conan config home)/global.conf 'tools.cmake.cmaketoolchain:generator=Ninja Multi-Config'"
# Others
echo "tools.cmake.cmaketoolchain:generator=Ninja Multi-Config" >> $(conan config home)/global.conf
Then (don't forget to run this from your VS command prompt if building from Windows):
conan install -if build/generators/Release .
cmake --preset default
cmake --build --preset release
# Windows
.\build\Release\DarkOrbit.exe
# Others
./build/Release/DarkOrbit