You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Astro 6d8d2cb126 flake.nix: fix the package 8 months ago
assets add policeman 3 years ago
ideas old new idea 5 years ago
src some update 9 months ago
.gitignore update to new affection 10 months ago laying foundation 5 years ago
LICENSE laying foundation 5 years ago strike out old info 5 years ago
Setup.hs laying foundation 5 years ago
cabal.config update to new affection 10 months ago
cabal.project update to new affection 10 months ago
flake.lock flakify complete 9 months ago
flake.nix flake.nix: fix the package 8 months ago
shell.nix modernize shell.nix 1 year ago
tracer-game.cabal update to new affection 10 months ago



Tracer is an ongoing project, which is still under heavy development.

About the project

This is my first attempt at a game, which is not a clone or port of anything.

I've been working on it since February 2018 and is to date not finished. The game itself is written entirely in Haskell, using my own game engine Affection.

I aim to get the game into a presentable, playable state in September 2018 for the conference Datenspuren. But there is still quite a lot to do until then...

About the game

In this game you play an anonymous hacker/spy for hire. You have recently been hired to steal the database of a company. The database is stored offline on-site at the company's headquarters, where you set out to intrude using means of social engineering.


For building the game you need an installation of ghc and cabal-install.


There is a shell.nix file to build you a nix-shell environment as build environment. There is only one assumption in this file:

To get the build environment, just run

nix-shell shell.nix

in a console from the project's folder.

After the environment has been built, run

cabal run

to build and run the game's executable.

Other GNU/Linux systems

System dependencies

To get the build environment, make sure you have a recent version (>= 8.4.3) of ghc installed acompanied by a matching cabal-install. Both of these are available from in a bundle called haskell-platform. You can also check your system's package manager for it.

Additionally you need the development libraries for:

  • sdl2
  • libglew

Haskell sandbox

Before you install any haskell packages I recommend highly to build a sandbox for the project. To do this, invoke

cabal sandbox init

in a terminal in the project folder.

Now your sandbox is ready for installing all haskell dependencies by invoking

cabal install --only-dependencies -j

This may take some time, depending on your hardware.

Compiling the game

To compile the game, run

cabal build

in the sandbox.

Running the game

To run the game, invoke

cabal run

in the sandbox.