assets | ||
ideas | ||
src | ||
.gitignore | ||
cabal.config | ||
cabal.project | ||
ChangeLog.md | ||
LICENSE | ||
README.md | ||
Setup.hs | ||
shell.nix | ||
tracer-game.cabal |
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:
Aou have to have a recent version of Affection lying right beside the project folder. I have not yet released the needed version of the engine on hackage.
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.
After that you need to add the source location for the game engine to the sandbox, which you need to have cloned on your disc beforehand. This is done by
cabal sandbox add-source /path/to/affection/
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.