The Matter of the GUI System

by Kilian Reisenegge

It was clear from the start, that we would not develop our own GUI system for our project, but take advantage of an already existing implementation. Lacking experience in this matter we relied on the recommendation of a lecturer, that libRocket is the best choice in the area of free libraries. However, already the integration of the library into our engine has provided some difficulties for my colleagues. At that time I had no idea that I too would get to have the pleasure of dealing with this library. In the course of implementation we realized, that libRocket would not meet our expectations and despite easy layouting with HTML and CSS we bumped into several problems with implementation (alpha in images, scaling, animations, etc.).


Due to my own discontent and the hassles with implementation, I began searching for an alternative and finally found the free CEGUI library. After some deep research and a game independent test-implementation we quickly assessed, that this extensive library would fulfill our needs. Furthermore there is a specifically developed layout editor, which allows you to create and edit different GUI layouts. Another plus is the lively community and the motivated developer team, who work to continuously improve the library. The library’s structure is event-based, which allows better structuring of the implementation and facilitates the integration of special requirements.