Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Yes, this is another recommend game engine request; the 'twist' is I am doing a strategy game and on top of sprites, animation and abstraction of input controls, it has to have GUI support for rather complex controls, such as scroll-bars, select boxes, buttons and such.

I have tried XNA with various GUI libraries, but the problem is that those libraries was not 'completed'. I am just wondering if there are other engines which I can look at?

share|improve this question

closed as not constructive by Byte56, Sean Middleditch, Josh Petrie, Trevor Powell, michael.bartnett Jan 10 '13 at 0:58

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

8 Answers 8

up vote 5 down vote accepted

libRocket recently went open source.

It's not a game engine. They describe themselves as middleware. But the library is pretty well done, with focus on removing boilerplate code from you GUI design. It's based on XHTML and CSS, so if you're already familiar with Web developoment it might be a great fit.

But it is not a game engine you'll still need to solve those issues separately. You might find some guidance with this question.
Recommended 2D Game Engine for prototyping

share|improve this answer
    
Does libRocket renders the GUI elements, or just provide a description? Sorry if this is a dumb question, but the feature list doesn't really state if it does actually render. –  Extrakun Sep 14 '10 at 17:04
1  
It uses an abstract rendering backend. It's up to the user to define their own. However, the samples directory has a concrete renderer for Ogre3D, DirectX, and OpenGL. –  deft_code Sep 14 '10 at 21:05

XPF is still early in development, but it's progressing pretty quickly. It's based loosely on WPF and Silverlight, but it's developed for XNA.

share|improve this answer

Well, if you don't mind moving away from C# to C++ you could check out HGE. It's a little on the old side but is very easy to use and extend. If you're willing to search the forums a bit you will find ports of it to DirectX 9 and maybe OpenGL (it has been a while). By default it doesn't support things like shaders. It does include sound and input, but no physics or collision detection. For that there is always Bullet or Box2D. For a turn based game or simple real time game that may not even be necessary.

As far as GUI goes its built in GUI is garbage, but you can integrate CEGUI into it. CEGUI is actually pretty easy to extend to different rendering systems, even if skinning it can be cumbersome. The implementation for HGE is two files and they are pretty short.

Clanlib may also be something you want to look into. I haven't used it personally but it appears to be quite powerful and includes a pretty straightforward GUI component. It is also actively developed while HGE hasn't been updated for a couple of years.

share|improve this answer

As for XNA, have you tried FlatRedBall combined with Neoforce?

share|improve this answer
    
I have tried FlatRedBall, but haven't heard of Neoforce. Will check it out! On checking out Neofroce: Alas, like many XNA GUI projects, they are not being maintained by their developers. If only Microsoft will make GUI a part of the XNA core. –  Extrakun Sep 23 '10 at 8:35
    
Neoforce doesn't have a developer anymore but it's free for anyone to pick up and maintain ;p –  Oskar Duveborn Sep 23 '10 at 9:42

You could give Squid a try. It's an engine independent gui sdk for .net (written by me :P). Over here: http://www.ionstar.org/?page_id=4

share|improve this answer
    
I wish there's a way to mark two correct answers –  Extrakun Nov 5 '10 at 10:48

I don't know any free game engines that come with a Windows-level UI library, but CEGUI is a mature solution for those using OGRE.

Another option would be to use GTK+ or your platform's native widget set on Win32 / OS X, and embed an OpenGL context inside one of those widgets. Those are generally the "best" UIs if you're looking for a long feature list.

If your target platform is XNA you won't find much useful. The key selling point of XNA is cross-platform compatibility, which means heavy mouse control is not a priority for people using it.

share|improve this answer
    
I have been wondering about using Qt 4.5, to be honest, though I would like to find out if anyone has any experience with skinning it to be like a in-game environment, or running it on top of say, SDL. –  Extrakun Sep 14 '10 at 11:35
    
CEGUI can also be used directly in OpenGL and other rendering engines... –  Klaim Sep 24 '10 at 16:14

If you don't mind making some controls yourself and whish to have many custom controls and looks check out Scaleform. It's one of the leading in games menus UI.

You may think of it like a in-game Flash player.

share|improve this answer

You may consider immediate mode GUI method which is available in Unity 3D. Unity 3D is an awsome game engine which does very well 3-D, 2-D and GUI among other things.

share|improve this answer
    
As I mentioned in another UI question, I have never seen IMGUI scale up to multiple windows, combo boxes, and columned list controls. You hit efficiency walls and API design walls fairly quickly. Unity's current GUI library definitely does not scale well, in performance or features. –  user744 Sep 14 '10 at 13:34
    
It might be interesting to note that Unity's own GUI is implemented using the IMGUI system they provide. –  Jason Kozak Sep 14 '10 at 13:42
    
@Jason: That's a half-truth. The Unity editor (unity3d.com/support/documentation/ScriptReference/…) provides many more primitive widgets than the normal GUILayout. You'll also see that those widgets are vastly underpowered compared to a normal GUI library. And frankly if a game had a UI that felt like the Unity editor's does - in terms of responsiveness, focus behavior, activation rules, etc, not referring to the look - I'd hate it. –  user744 Sep 14 '10 at 14:25
    
@Joe A fair point if you're developing games in Unity; my intention though was only to point out an example of a more complex IMGUI in action. Since Unity is free, it's quite easy to download and evaluate. –  Jason Kozak Sep 14 '10 at 15:55
    
IMHO Unity3D's GUI has to be augmented with some third party libraries if you wish to do OOP programming, such as GUIX. However, Unity3D has an annoying bug where you can click through UI elements onto colliders attached to entities. This touted to be fixed in the next release. However, I am thinking of 2D at the moment, and doing 2D in Unity3D requires some hoops to jump through. It's otherwise a good rapid engine for 3D stuff. –  Extrakun Sep 14 '10 at 17:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.