Helm is a functionally reactive game engine written in Haskell and built around the Elerea FRP framework. Helm is heavily inspired by the Elm programming language (especially the API). All rendering is done through a vector-graphics based API. At the core, Helm is built on SDL and the Cairo vector graphics library.

In Helm, every piece of input that can be gathered from a user (or the operating system) is hidden behind a signal. For those unfamiliar with FRP, signals are essentially a value that changes over time. These signals can then be combined with other signals, producing new signals that map the old data into new data. This sort of architecture used for a game allows for pretty simplistic (and in my opinion, artistic) code.

This guide is still heavily a work-in-progress. The aim of the guide is to give you tips and tutorials that are not easily gathered from the documentation, which can be daunting at first.

Background Reading

© 2013-2014 Switchface Studios