I've been coding for a while now and would like to start looking into programming games. I know the industry's standard language is C++, for 3D graphics the main choice is between Direct 3D and OpenGL, but what is the most widely used GUI framework? I'm currently on a Mac so if native Windows API is the answer, then what is the cross platform choice?
To be clear, I'm not looking for people's favourites but simply what the common or standard game industry's choice is so that I can learn and familiarize myself with it.
Thanks, Spencer
Scaleform is used in a lot of AAA games. Unfortunately, it comes with a price-tag to match! It basically lets you develop the UI in flash and then import it into your game (since designers are usually quite familiar with Adobe's tools, this makes things pretty easy for them).
For open-source solutions, there are actually quite a few. CEGUI is quite popular (though it tends to suffer from "kitchen sink" syndrome - in that it has everything but the kitchen sink). I've also seen GLO and Awesomium (which is actually pretty interesting).
Other than that, most game engines (e.g. Unity, UDK, etc) have their own built-in GUI frameworks.
I don't think there is any framework in particularly wide use. Inside the game application, we tend to roll our own UIs, or use the ones that came with the engine.
Games tend to have lots of custom art and animation which are difficult to implement with general-purpose widgets; and moreover most toolkits don't play nicely with D3D or OpenGL, or have good ports to the Xbox and PS3. So you will see a lot of scratch-built UI implementations that have widgets ultimately making direct draw calls for textured polygons and font glyphs.
Outside of the game in the "glue screens", ie the installer and other non-D3D parts of the app, typically we just use the native API for the operating system in question, ie Cocoa or (ugh) MFC.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With