tracer/README.md

2.2 KiB

tracer

Diclaimer:

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.

Building

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

NixOS

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 https://haskell.org 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.