I'm not too much of an expert in Haskell, but I did notice that building the game required keeping track of a lot of state information, which was not very intuitive in Haskell (although the OpenGL state info is rather intuitive).  If I were to do it in Haskell again, I would try to learn more about FRP (Functional Reactive Programming) and see if that improves things in terms of state.

Ruby is my favorite imperative language, so I would certainly recommend it for game development.  It would likely be much easier in Ruby, but perhaps a little slower.  My experience with Ruby on Rails has been that it is always a little slower than I wish it were :)

-- Duane

On May 3, 2009, at 4:48 PM, Daryoush Mehrtash wrote:

I noticed that Chipmunk also has a Ruby interface.  Do you have any pro/con of implementing the game in Ruby vs Haskell?

Thanks,

Daryoush

On Sat, May 2, 2009 at 12:00 PM, Duane Johnson <duane.johnson@gmail.com> wrote:
Reprinted from my blog post [1]:

===

The semester is over, my final project was a success (at least in that I passed the class) and it’s time now to release the game I made for Graphics 455: Silkworm!

This is my first full application in Haskell.  The process has been an enlarging experience–I’ve come to really enjoy the mental work that goes into thinking about a program in a functional way.  I highly recommend the challenge to other software engineers.

Silkworm combines the Hipmunk binding to Chipmunk 2D Game Dynamics with OpenGL, and GLFW (an alternative to GLUT).

It’s built to work on Mac OS X, but it uses cross-platform libraries so it should be fairly easy to port to other platforms.  The source code is here [2] and below are some screenshots [1]

-- Duane Johnson
(canadaduane)

===

[1] http://blog.inquirylabs.com/2009/05/02/silkworm-game-written-in-haskell/
[2] http://inquirylabs.com/downloads/Silkworm.tgz_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

/