This was our game entry for the "Ludum Dare 47" whose theme is "Stuck in a loop":
https://ldjam.com/events/ludum-dare/47/theme
However, it turned into a longer term project to explore the use of the Box2D library for physics in a custom 2D game engine.
- SDL2
- SDL2_image
- SDL2_gfx
- Box2D v2.4 (not v3 yet!)
To install these dependencies under Ubuntu or Debian:
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev libbox2d-dev
- MSYS2 (faux Linux environment within Windows)
- MinGW-w64 (installed using
pacman
inside of an MSYS2 environment)
You must install GCC, it is best to install it using the toolchain
group:
pacman -S mingw-w64-x86_64-toolchain
If you are using CMake instead of the raw Makefile, we need to install cmake
too:
pacman -S mingw-w64-x86_64-cmake
SDL2 dependencies:
pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_gfx
MSYS2 has Box2D v3.x in their database, while this project still uses v2.4, so we need to manually download the older package and install it:
wget -c https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-box2d-2.4.2-1-any.pkg.tar.zst
pacman -U mingw-w64-x86_64-box2d-2.4.2-1-any.pkg.tar.zst
With the raw Makefile:
make
With CMake:
mkdir build
cd build
cmake ..
ninja # if using the "Ninja" build system (the new default, especially on MSYS2)
make # if using the classic "make" build system
Note
on Windows, you must launch the "MSYS2 MinGW 64-bit" terminal, not "MSYS2 MSYS" to set up the environment such that the cmake
command works properly!
./game
The keyboard controls:
- A or ← for left
- D or → for right
- W or ↑ for jump
- S or ↓ for crouch/climb down (currently not implemented)
- SPACE shoot bullet (experimental)
- SHIFT jetpack thruster (experimental)
- CTRL enable grappling the ceiling (experimental)
- ESC will exit the game.