A lockpicking-themed turn-based puzzle game on a hex grid. A series of
preset puzzles serves as an extended single-player introduction, after
which players enter a multi-player game with a client-server architecture,
in which players design puzzles (locks) and solve those designed by
others. A metagame encourages the design of maximally difficult puzzles,
within tight size constraints. The client supports Curses and SDL, with
all graphics in SDL mode drawn by code using SDL-gfx. The network protocol
is based on the binary package, and is intended to be reasonably
efficient. TVars are used to give transparent local caching and background
network operations. Also incorporates an implementation of a graph
5-colouring algorithm (see GraphColouring.hs).