Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A 3D, LAN FPS game of hamster balls flying around and shooting lasers written in Haskell
branch: master
Failed to load latest commit information.
paper added html and ps make option to print code. moved code to src/ folde…
references minor changes. added a folder for references
src minor documentation cleanup and updated ctags file
tests added banners to top of files and moved some stuff around
tga add missing powerup files
unused add tests and unused folder
.ghci noserver mode work now and some other minor updates
.gitignore moved tga out of src. added data-files config for cabal, now the game…
HamsterBalls.cabal relax requirement on version of random package, was >= before
LICENSE fixed typo on david's name. bumped up version number
README updated instructions in README
TODO more code cleanup and moving stuff around
makefile added banners to top of files and moved some stuff around
tags minor documentation cleanup and updated ctags file


Installation instruction

1. Download source code:
    git clone git://
    cd hamball
2a. (Preferred) Use cabal.
    cabal install
2b. (Only if you're too lazy to use cabal and are advanterous -- you may need to manually install additional dependencies)


v0.1 of this game was written in Haskell, in Spring 2009, by:
Harley Trung
David Costanzo
Alexander Thompson
Matthew Sills

v0.2 was released and is currently maintained by Harley Trung.  Please send a github message if you have any question/comment/suggestion.

Yampa (v0.1 used YampaMod, our customized version of Yampa, but v0.2 now uses the original Yampa)
OpenGL- (OpenGL- will break because they define their own GLfloat data type)


Currently this breaks with OpenGL- because they define GLfloat as a newtype instead of Float like before. I haven't looked much into fixing this.  Maybe in the future or if you already have an idea, please let me know (github message!)

Cabal dependencies should take care of this, but otherwise juse:
    cabal install OpenGL-

If you get -lXrandr or -lGLU error, make sure you have libxrandr-dev and libghc-opengl-dev installed.
Eg. For Ubuntu:
    sudo apt-get install libxrandr-dev libghc6-opengl-dev

Something went wrong with that request. Please try again.