Maybe you know this one: for UI in games, do devs create an entire windowing environment from scratch? It seems like that would be the best way to do it but man what a lot of work.
Sometimes. It depends on the UI requirement for the game.
I have seen some extremely-UI-heavy games which do exactly what you say; building a whole windowing environment entirely from scratch. (I'm working on a game that's doing that right now!).
But most major game engines provide a basic UI toolkit if your needs aren't too intense, and those are often more than enough for most games and are a whole heap less effort; they can typically be themed so that your UI doesn't look like everybody else's UI, and if all you need is a single window with some widgets and buttons and maybe a text field, that's probably going to be more than enough for you. Like, 95% of games would probably be totally fine with just that.
Maybe five years back I worked on and adjacent to a couple large games that were building their UI in an embedded copy of Flash (which wasn't as dead as people think!) Not sure whether large games are still doing that now, but it wouldn't surprise me if there are still some holdouts building their game UIs entirely in Flash!
Ubisoft used to use ScaleForm, the alternative Flash runtime for games, for a lot of the Assassin's Creed games.
I know some games use a specialised version of WebKit, for example Sea of Thieves uses Coherent UI[1]. There's also Ultralight[2] (ex Awesomium) which is similar.
Games using vanilla Unreal Engine can use what they call UMG, but otherwise there's plugins for most frameworks.
Some other games have completely custom frameworks of course.
I was part of a team that delivered four SKUs, DOS and Windows versions of two games. We made a fairly complete version of a GUI environment so that the DOS games would look like the Windows versions. We didn’t rasterize the TrueType fonts. We only used one size in Windows, so we used a bitmap font for DOS and it was enough.
Comments
Maybe you know this one: for UI in games, do devs create an entire windowing environment from scratch? It seems like that would be the best way to do it but man what a lot of work.
Sometimes. It depends on the UI requirement for the game.
I have seen some extremely-UI-heavy games which do exactly what you say; building a whole windowing environment entirely from scratch. (I'm working on a game that's doing that right now!).
But most major game engines provide a basic UI toolkit if your needs aren't too intense, and those are often more than enough for most games and are a whole heap less effort; they can typically be themed so that your UI doesn't look like everybody else's UI, and if all you need is a single window with some widgets and buttons and maybe a text field, that's probably going to be more than enough for you. Like, 95% of games would probably be totally fine with just that.
Maybe five years back I worked on and adjacent to a couple large games that were building their UI in an embedded copy of Flash (which wasn't as dead as people think!) Not sure whether large games are still doing that now, but it wouldn't surprise me if there are still some holdouts building their game UIs entirely in Flash!
Ubisoft used to use ScaleForm, the alternative Flash runtime for games, for a lot of the Assassin's Creed games.
I know some games use a specialised version of WebKit, for example Sea of Thieves uses Coherent UI[1]. There's also Ultralight[2] (ex Awesomium) which is similar.
Games using vanilla Unreal Engine can use what they call UMG, but otherwise there's plugins for most frameworks.
Some other games have completely custom frameworks of course.
[1] https://coherent-labs.com/Documentation/cpp/ [2] https://ultralig.ht/
I was part of a team that delivered four SKUs, DOS and Windows versions of two games. We made a fairly complete version of a GUI environment so that the DOS games would look like the Windows versions. We didn’t rasterize the TrueType fonts. We only used one size in Windows, so we used a bitmap font for DOS and it was enough.