Refined Palette

Refined Palette is a puzzle game where the player finds their way through a maze by passing through colored gates. Passing through gates changes the player character's color palette and allows them to move through a different set of gates. Players must plan ahead and think critically about how each gate will change them in order to succeed.
Jam year: 
2014
Diversifiers: 
I am who I want to be
Platforms: 
Mac OS X
Technology Notes: 
Game is programmed entirely in Haskell. SDL bindings are used for sound, and GLFW bindings are used for graphics and input. The main Haskell library used for writing the game is Netwire 5.0. The game is built upon a very preliminary version of a library called Lambency which is developed by one of the team members. It supports basic 2D, 3D, and input but aspires to be a fully featured game engine in the future.
Installation Instructions: 

The game is written in Haskell and is built using the Haskell Cabal. It was written on OS X 10.9, so there is no guarantee that it runs on other platforms, and even on OS X 10.9 there are a few things that need to be done:

1. Upgrade to GHC 7.7 because 7.6 has linking errors on OS X.

2. The GLFW bindings are out of date. They bind to GLFW 3.0.3, but 3.0.4 has some important bug fixes that can be gotten from source.

3. SDL and SDL-mixer (for sound that I didn't get to) are also required, but you have to have sdl-config in your $PATH and SDL1.X installed exactly in /usr/local/lib

4. Lambency (a dependency) requires a newer version of the Haskell OpenGL bindings that supports mip-map generation, so those should also be taken from source.

Once everything is in place, the standard cabal way of installing and building is done:

cabal configure

cabal build

Credits: 

Programming - Pavel Krajcevski

Design - Jonathan House

Art - Daniel Gallagher

Music and Sound - Will Blackmon and Isaac Hinkey

Source files: