Create a Game with Haskell

_images/RotatingCube2.jpg _images/SpaceInvaders.jpg _images/SoundEffects.jpg

Using Haskell - the famous functional programming language - for game creation should be fun and ideally suited to explore functional programming.

This website and the HGamer3D library will help you with that. It is all about simple and fun game programming with Haskell, learning step by step and putting a focus on how to do it. The library is open source and works on Linux, Windows and OS X. I am myself on the road to use this vehicle to get a better grasp of Haskell.

And now, start reading and coding with HGamer3D.

Table of Contents

If you encounter any issues please send me an e-mail, so I can correct it:


A big “thank you!” to the creators and maintainers of Haskell, GHC, Urho3D, stack, Textadept and other open source libraries and tools. HGamer3D is based on their work.


  • Aug, 21th - fixed bug in child creation, update Run with “aio update Run” or “aio update” (if no alias set).
  • Aug, 14th - new version, update CreateProject and Run.
  • Aug, 9th - fixed basic issue in Mac version, added element trees, update CreateProject and Run, updated this website to adapt to API changes
  • July, 19th - detected that Mac version has serious issues, new version is work in progress
  • July - fixed memleak, updated CreateProject, please do: “aio update Run”, “aio update CreateProject” (if no alias set, use full urls)
  • June, 28th - fixed Mac platform build, (missing symlink in engine), please do: “aio update Run” (if no alias set, use full url)
  • 7th June 2016 - fixed regression on aio Windows, please do: “aio update Lua”, “aio update Stack” (if no alias set, use full url)
  • June 2016 - fixed “CreateProject” on Windows, please do: “aio update CreateProject” (if no alias set, use full url)
  • May 2016 - fixed Mouse bug (Windows, Linux), 100%CPU bug (Linux), please do: “aio update Run” (if no alias set, use full url)
  • May 2016 - updated “aio” with better error messages, please download version 0.1.2