11
\$\begingroup\$

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?

\$\endgroup\$

8 Answers 8

5
\$\begingroup\$

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

\$\endgroup\$
2
  • \$\begingroup\$ 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. \$\endgroup\$
    – Extrakun
    Sep 14, 2010 at 17:04
  • 1
    \$\begingroup\$ 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. \$\endgroup\$
    – deft_code
    Sep 14, 2010 at 21:05
2
\$\begingroup\$

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.

\$\endgroup\$
2
  • \$\begingroup\$ 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. \$\endgroup\$
    – Extrakun
    Sep 14, 2010 at 11:35
  • \$\begingroup\$ CEGUI can also be used directly in OpenGL and other rendering engines... \$\endgroup\$
    – Klaim
    Sep 24, 2010 at 16:14
2
\$\begingroup\$

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.

\$\endgroup\$
2
\$\begingroup\$

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.

\$\endgroup\$
2
\$\begingroup\$

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

\$\endgroup\$
1
  • \$\begingroup\$ I wish there's a way to mark two correct answers \$\endgroup\$
    – Extrakun
    Nov 5, 2010 at 10:48
2
\$\begingroup\$

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

\$\endgroup\$
2
  • \$\begingroup\$ 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. \$\endgroup\$
    – Extrakun
    Sep 23, 2010 at 8:35
  • \$\begingroup\$ Neoforce doesn't have a developer anymore but it's free for anyone to pick up and maintain ;p \$\endgroup\$ Sep 23, 2010 at 9:42
0
\$\begingroup\$

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.

\$\endgroup\$
-1
\$\begingroup\$

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.

\$\endgroup\$
5
  • \$\begingroup\$ 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. \$\endgroup\$
    – user744
    Sep 14, 2010 at 13:34
  • \$\begingroup\$ It might be interesting to note that Unity's own GUI is implemented using the IMGUI system they provide. \$\endgroup\$ Sep 14, 2010 at 13:42
  • \$\begingroup\$ @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. \$\endgroup\$
    – user744
    Sep 14, 2010 at 14:25
  • \$\begingroup\$ @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. \$\endgroup\$ Sep 14, 2010 at 15:55
  • \$\begingroup\$ 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. \$\endgroup\$
    – Extrakun
    Sep 14, 2010 at 17:08

Not the answer you're looking for? Browse other questions tagged .