Skip to content

Pixel based game engine integrated in your IDE

Notifications You must be signed in to change notification settings

latebit/latebit-engine

Repository files navigation

latebit

A game engine integrated in your IDE for pixel art games.

⚠️ Warning

This is very much in progress and far from stable. Use it a your own risk.

Development

Dependencies

The dependencies required to run the project locally are:

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.

Running tests

# Run all the tests
shmux test # i.e. `cmake --build build -t test`

# Run headless
SDL_AUDIODRIVER=dummy SDL_VIDEODRIVER=dummy shmux test

Debugging the test executable

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.

Linting and formatting code

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`