I had been looking for a nice library to create in-game graphical user interfaces but couldn’t find any BlitzMax module I liked. I’ve looked at FryGUI in the past but decided not to use it. The examples were impressive enough but I wasn’t under the impression that it’s being actively maintained. CEGUI, wrapped by Brucey, is an impressive module as well. My impression was that skinning is rather hard, as is its ease to use. I also heard it’s not fully wrapped yet, but I might be wrong. I don’t necessarily think this is a bad point as one rarely needs all features. But not being fully wrapped means the API can get some breaking changes as well. And I hate it when that happens (points to Zend Framework).
As both are free modules, which is of course always a good thing (my htbaapub.mod modules are free as well), you’re never certain of support when problems arise. Since it’s all open source I can make any changes I want myself if ever needed. But I’m lazy, I don’t want to do that. I want to focus on creating my game or application. Not being sidetracked because I library I use doesn’t do what it should do. I’m not saying that this is the case for FryGUI or CEGUI (which was recently updated), but it’s something to keep in mind.
Not too long ago a new commercial library was released, ifsoGUI. It had put me off at first because of the skin that was used looking fairly identical to the default Windows XP theme. It gave me the impression that it tried to be a in-game MaxGUI clone. Until I found out it had support for custom skins which are also easy to create.
All the demo’s were impressive enough, the module is well documented (there’s also a Wiki, the other named modules are documented as well by the way), a clear API, the source is available, it’s being actively developed and there’s active support for it. Another reason I chose this module was because of the short learning curve. I need to be able to quickly implement it, not spending hours and hours figuring out how the module is supposed to work. I think ifsoGUI gives me this, and that’s why I chose it.
PS: If I made any mis assumptions please let me know so I can correct my post.