[Haskell-cafe] ANN: FunGEn 0.4.2, an easy cross-platform OpenGL/GLUT game engine

Simon Michael simon at joyful.com
Thu Aug 8 19:19:03 CEST 2013

I'm pleased to announce the hackage release of FunGEn 0.4!  
(Actually 0.4.2 as my 0.4 announcement did not reach the mail lists.)

FunGEn (Functional Game Engine) is a BSD-licensed, cross-platform,
OpenGL/GLUT-based, imperative game engine/framework.  With very few
dependencies and two example games, it's one of the easiest ways to
get started with game development in Haskell.

FunGEn was probably the first Haskell game framework, created by Andre
Furtado in 2002 (!). Here's his original feature list:

* Initialization, updating, removing, rendering and grouping
  routines for game objects;
* Definition of a game background (or map), including texture-based
  maps and tile maps;
* Reading and intepretation of the player's keyboard input;
* Collision detection;
* Time-based functions and pre-defined game actions;
* Loading and displaying of 24-bit bitmap files;
* Some debugging and game performance evaluation facilities;
* Sound support (actually for windows platforms only... :-[ )

What's new in 0.4.x:

* a new hakyll-based website, incorporating the old site content
* new haddock documentation
* tested with GHC 7.6
* fixed buggy input when holding down keys on windows
* input handlers now receive mouse position and modifier state
  (inspired by Pradeep Kumar; see fungentest.hs for examples)
* added q as quit key in examples

Home:    http://joyful.com/fungen
Hackage: http://hackage.haskell.org/package/FunGEn
Code:    http://hub.darcs.net/simon/fungen

Install from hackage: 

$ cabal update
$ cabal install FunGEn

Install source and run examples:

$ darcs get http://hub.darcs.net/simon/fungen
$ cd fungen
$ cabal install
$ (cd examples/pong; ghc pong; ./pong)
$ (cd examples/worms; ghc worms; ./worms)

Contribute patches:

- log in to hub.darcs.net and fork http://hub.darcs.net/simon/fungen
- push changes to your branch
- give me a "pull request" on #haskell-game

I have maintained FunGEn very sporadically. If you'd like to take it
and run with it, or co-maintain, let's chat! I'm sm on the
#haskell-game IRC channel.


More information about the Haskell-Cafe mailing list