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

Welcome to the home of HGamer3D!

HGamer3D is a tool to program 3D games with the Haskell programming language. Have a look at these slides from HAL 2016, which explain the motivation behind the library and the structure of the code.

The table below gives a current status of the main features.

Try It!

A short guide to compiling your first program is on the next page. You can see HGamer3D in action, by starting the pre-compiled example programs (sample browser) or a small space invaders clone.


HGamer3D comes with an installer, the tool is named arriccio, or for short aio. There is a detailed explanation of it below in a separate page. The installer is used for starting programs and tools. It works by copying binaries to a separate path in your home directory (~/.aio). In case you want to get rid of HGamer3D you can delete everything by just removing this path.

To install aio, there are two ways, if you have git installed, simply clone the installer and run the provided install scripts, there is one for each operating system, Linux, Windows or Mac.

git clone http://github.com/urs-of-the-backwoods/aio-installer
cd linux
source ./install.sh

Or install aio manually, by copying the executable to a directory, which is in your PATH.

Sample Browser

The sample browser can be started with the aio http://www.hgamer3d.org/tools/HGamer3D.0218 sample-browser command.

Example Game

Run the Minecraft-style space invaders game, by simply issuing this command: aio http://www.hgamer3d.org/game/SpaceIn3d.0218.


Feature Status - Samples
Scene Tree Sample 03
3D Objects Sample 01
Materials Sample 02
Scaling, Moving, Rotating Objects yes
Camera yes
Light yes
Sound Sample 04
Input Devices Sample 12, 05, 07
GUI Sample 06
Event Handling Sample 12
Multi-Threading (Haskell can do it) yes
Skybox Sample 09
Scene Loading Sample 08
Particle Effects Sample 11
3D Text Sample 10
Networking to be done
Physics to be done
Animated Model to be done

I will update this table when new features are available. Also my goal is to get tooling into a state where others can add features themselves (the underlying game engine - Urho3D - is pretty feature complete).

If you encounter any difficulties in using HGamer3D according to the guides below, please e-mail me a short description. The e-mail address for this is: uotbw@hgamer3d.org. This will help me to detect errors and fix them and future readers can benefit from it. Thank you!


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


The following pages give an introduction to the API:


  • March, 2018 - fixed Mac version 0.95, Mac users, please issue “aio HGamer3D update” command, see Start Programming
  • Feb, 2018 - version 0.95 with new features (Joystick, Skybox, Scene Load, Particles, 3D Text)
  • Dec, 2017 - updated instructions, to use it, fixed errors in Linux usage
  • Sep, 2017 - Version 0.9 - updated Website
  • April, 10th, 2017 - updated Website
  • Sep, 14th, 2016 - HGamer3D presented at HAL 2016, see abstract and slides.