Skip to content

Simre1/haskell-game

Repository files navigation

haskell-game

A game in progress using apecs for handling the game state as well as physics, polysemy for algebraic effects, a slightly modified version of GPipe for graphics and my own interpretation of FRP Signals (Sigma) for data flow management.

Getting Started

Prerequisites

This haskell project is using stack, which makes it easy to reliably build haskell projects on different machines. You will also need at least OpenGL 3.3.

Installing

The following should get you the project installed and running.

git clone https://github.com/Simre1/haskell-game.git
cd haskell-game
stack build
stack exec haskell-game-exe

Press Space to start the game and then use the arrow keys to move and Space to shoot!

Checking out the code

A good place to start would be the file ./app/Main.hs, which is the main file for the executable. If you are interested in the Signal implementation Sigma or how GPipe and apecs work together with polysemy, look no further than ./src/Sigma.hs, ./src/Window/GPipe.hs and ./src/ECS/Apecs.hs respectively.

Releases

No releases published

Packages

No packages published