Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 2.39 KB

README.md

File metadata and controls

91 lines (63 loc) · 2.39 KB

Ludum Dare 47 game

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.

Dependencies

Debian / Ubuntu

To install these dependencies under Ubuntu or Debian:

sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev libbox2d-dev

Windows (MSYS2 & MinGW-w64)

  • 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

Compiling

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!

Running

./game

Playing

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.