A simple turn based strategy game written in Haskell using SDL. No longer being developed.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
art
.gitignore
CHANGES
Editor.lhs
GameMap.lhs
LICENSE
README
Setup.hs
TileSet.lhs
UIConsole.lhs
UITypes.lhs
Utils.lhs
exitstrategy.cabal

README

EXIT STRATEGY

Version: 0.0.3
Project Status: PRE-ALPHA


What is this?
=============

Exit Strategy is a simple Haskell project that intends to be a turn-based strategy game, using SDL for 2d hex-tile graphics, with multi player ability and AI for single player.

Right now, strat barely does anything. It's the focus of my SDL game series on my blog where I discuss how I implemented it, from start to finish. I hope it will serve as a useful guide to practical game programming in Haskell and, secondarilly, as a decent example of code to learn from.

You can read more on my blog, starting with the first part of the series:
http://www.animal-machine.com/blog/exit-strategy



Input Commands
==============

Key	         -> Action
---------------------------
` (backquote)	 -> Opens console
q    	      	 -> Quits program
Left/Right Arrow -> Changes selected tile
Right-Mouse    	 -> Hold down to pan window around
Left-Mouse       -> Click or hold to set the map tile
Mouse-wheel      -> Zoom in/out between tile set resolutions

Console functions:

:mapsize <x> <y>
    changes the dimensions of the map and fills new tiles with
    the default tile defined in the TileSet.
    (e.g. ":mapsize 10 10" to switch to a 10x10 map)

:randomize <x> <y>
    creates a new random map of width x and height y.

:savemap <fn>
    saves a map to the 'maps' sub-directory with the name <fn>.map.
    automatically uses the application data directory -- on UNIX
    this should be $HOME/.ExitStrategy. On Windows, it will be
    something like this: C:\Users\<username>\AppData\Roaming\ExitStrategy
    (e.g. ":savemap test" saves to $HOME/.ExitStrategy/maps/test.map)

:loadmap <fn>
    loads a map from a file in the 'maps' sub-directory with the name
    <fn.map>
    (e.g. ":loadmap test" loads from $HOME/.ExitStrategy/maps/test.map)




License?
========

See the included LICENSE file. The game source code and art are licensed under the GPL version 3.