HGamer3D - Programming 3D Games with HaskellΒΆ


29.8.2015 - Switch to a new setup

With version 0.6 HGamer3D is changing! A lot of experiences have been made and it was time to take those learnings into account. Previously it was quite cumbersome to compile HGamer3D on Linux. Also using the media chain and getting a correct set of shaders to work on multiple graphic environments was really difficult. In addition the binding toolset was complex, too. I also did experiments with different type of API’s, now culminating in a specific choice for the coming versions. All this led to a point, where a new setup was needed. Version 0.6 is now build on a new foundation. In summary the main differences are:

  • HGamer3D is now based on Urho3D.
  • Build system has been changed to CMake from a home-grown python setup.
  • Currently only one external library is used, instead of multiple ones, since Urho3D already includes a lot of functionality and includes additional tooling also.
  • The API of HGamer3D is now more aligned on one single paradigm, this includes a new binding mechanism, which is now based on an intermediate representation in MessagePack format.

With this some significant advantages are achieved:

  • Building is much more easier now.
  • The base-library used comes with a lot of functionality pre-build, which will be integrated into HGamer3D step by step.
  • Android and OS X is supported by Urho3D and there are good chances that HGamer3D will be compatible to those platforms in the future, today HGamer3D supports Windows and Linux.
  • The code base is much smaller and less complex, my hope is that contributors might be able to get into HGamer3D coding quicker.
  • Linux build is tested with each new commit on GitHub (by Travis-CI), so there is a proof, that it works.

There is also bad news: functionality is currently limited, due to the re-design. But since the basics are in place I’m optimistic that the recovery of functionality can be done quickly. So this version 0.6 is clearly an intermediate one where a lot of things are missing (no GUI, no Controller Input, no Network, no Physics, ...). Nevertheless version 0.6 comes with some examples and shows that basic principles are working.

Github link: http://www.github.com/urs-of-the-backwoods/HGamer3D

Table of Contents