haskell-sand-game
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.
.gitignore
Harbinger.hs
Harbinger.pm
LGPL-3
LICENSE
Particle.hs
Quad.hs
README
RandTest.hs
Sand.hs
Sand2.hs
Sand4.hs
Sand5.hs
acidball10x10.png
background.png
background1024x768.png
ball10x10.png
ball160x160.png
ball20x20.png
ball40x40.png
ball80x80.png
blank10x10.png
block10x10.png
block160x160.png
block20x20.png
block40x40.png
block80x80.png
dustgen10x10.png
eater10x10.png
eater160x160.png
eater20x20.png
eater40x40.png
eater80x80.png
greenball10x10.png
lightdustgen10x10.png
sand5-printer.pl
sand5.pl
sine.orc
sine.sco
sine2.orc

README

== Haskell Based Sand-Game sonified ==

This is a haskell based sand game. I don't use arrays and I manage to deal with each pixel a couple of times in a linear fashion!

So it is programmed functionally, unfortunately as I add features like communication and randomness it seems to get less fun as I begin to have crazy types such as StateT X IO ().

Anyways, it uses SDL and you can use the mouse. The music is provided via cSound and perl.

This sand game is just an automata game with some randomness. There is light dust, dust, blocks, acid (which pushes walls up), eaters (blocks which eat things on top of it), light dust generators and dust generators. You change which dust-type you currently have by right clicking.

Browse the source code: https://github.com/abramhindle/haskell-sand-game
get it from git: git clone git://github.com/abramhindle/haskell-sand-game.git
Most worthwhile file to read: https://github.com/abramhindle/haskell-sand-game/blob/master/Sand5.hs

to build try:
{{{
 ghc --make Sand.hs
 ghc --make Sand2.hs
 ghc --make Sand4.hs
 ghc --make Sand5.hs
}}}

They are all different but related. 

The music is produced via harbinger (in perl and csound) you run both Sand5 and sand5.pl

{{http://churchturing.org/x/max4.gif}}
Here's a 6mb animated gif of the sand game in action.

=== License ===

(c) 2013 Abram Hindle 

Under LGPL Version 3, please see LICENSE

=== Video ===

Here's an avi: [http://churchturing.org/x/musical-sand-20090325.avi] [http://churchturing.org/x/sand-game-20090328.avi]
Here's the same thing on youtube: [http://www.youtube.com/watch?v=xv_wITSdyoo]
[http://www.youtube.com/watch?v=_u1MJbQQQYQ]


http://softwareprocess.es/static/Sand-Game.html