updated readme
This commit is contained in:
parent
c2a3bb3536
commit
157158076f
1 changed files with 112 additions and 1 deletions
113
README.md
113
README.md
|
@ -1,3 +1,114 @@
|
||||||
# tracer
|
# tracer
|
||||||
|
|
||||||
Game in the making. Nothing to see here yet.
|
**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](https://haskell.org), using my own
|
||||||
|
game engine [Affection](https://github.com/nek0/affection).
|
||||||
|
|
||||||
|
I aim to get the game into a presentable, playable state in September 2018 for
|
||||||
|
the conference [Datenspuren](https://datenspuren.de/2018). 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](https://github.com/nek0/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.
|
||||||
|
|
Loading…
Reference in a new issue