Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Lambda-Heights is a fast paced game. You play a small lambda letter which can move and jump around. You need to jump onto layers to move upwards. Meanwhile the screen also moves upward - so you need to hold the velocity. If the bottom of the screen touches the player, the game is over.

Ingame screenshot


  • Games are recorded to the local disk, so you can watch your games again by choosing the replay in the replay menu.
  • You can adjust the update rate by pressing plus (+) or minus (-) during a replay, which results in slower or faster motion.


  • A or left arrow = Move left
  • D or right arrow = Move right
  • W, space or up arrow = Jump
  • Esc = Pause / Exit

Jump tricks

  • Double your jump impulse by having a velocity higher than 750.
  • If you are jumping and the bottom of the player is inside a layer, you can jump again, which results in a very high jump.


See the file for implementation details.


You need the following software installed on your machine to build lambda-heights yourself.

Install native SDL2 libraries


I recommend to use homebrew to install the SDL2 libraries:

brew install pkg-config
brew install sdl2
brew install sdl2_ttf
brew install sdl2_gfx


I think you will have no problems to find the SDL2 packages in the package manager of your distribution.


The haskell stack comes with a msys2 environment. You can use the msys2 console to install the SDL2 libraries.

pacman -S pkg-config
pacman -S mingw-w64-x86_64-SDL2
pacman -S mingw-w64-x86_64-SDL2_gfx
pacman -S mingw-w64-x86_64-SDL2_ttf

Build the project

Clone this repository, navigate to the root folder and run stack build. This should take some time to setup the project by installing the isolated compiler and all the dependencies of the project. When the process is done, you should find a executable in .stack-work/install/xyz/bin relative to the project folder. Copy the executable to the project root, because it needs the fonts folder.

Have fun!