A game engine integrated in your IDE for pixel art games.
This is very much in progress and far from stable. Use it a your own risk.
The dependencies required to run the project locally are:
- LLVM/Clang:
>=15.0.6
- cmake:
>=3.28.1
- vcpkg:
>=2024-02-07-8a83681f921b10d86ae626fd833c253f4f8c355b
While not a strict dependency, shmux may be convenient to save some typing.
Once your system is set, you should be able to run
# if you have shmux installed
shmux prepare
# otherwise
cmake --toolchain=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -B build .
ln -s build/compile_commands.json compile_commands.json
At this point you should be good to go. If your editor makes use of clangd
, you should also see autocompletion and formatting hints.
# Run all the tests
shmux test # i.e. `cmake --build build -t test`
# Run headless
SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy shmux test
Usual development tools are available and can be used against the test executable
# Create a test executable with debug symbols
shmux debug
# To debug
gdb ./build/test.out
Debug builds are instrumented with Address Sanitizer, which should help with memory leaks detection.
It's highly encouraged that you set your IDE to run these checks while you code, but should you need it, you can also run format and tidy manually.
shmux format # i.e. `cmake --build build -t format`
shmux tidy # i.e. `cmake --build build -t tidy`