I deliberately left off doing any UI work at all in my game, because when I first fired up Unity the UI system was on the cusp of being replaced. Well, with the advent of Unity 5 (well, the tail end of 4) that replacement has arrived — so maybe it’s time I put some thought into health bars and stuff so you can actually, you know, keep track of your own status?
So’s Your (Inter)face
The old UI system was pretty bad, it has to be said. Every single frame, you had methods rebuilding the UI from scratch — which is pretty counter-intuitive in a world where everything else is a persistent object that changes itself. I mean, I’ve had it printing a frame-rate counter and a couple of other bits and pieces along the way, but I put no effort in to making a proper HUD because I knew that entire system was going to get superseded.
While I waited, of course, I still had to think about the kind of interface I even wanted to build.
Project Y4‘s solid black with glowing orange outlines wasn’t quite what I wanted when I made that, but rather a constraint imposed upon me by the host engine (well, and my own abilities). WC3‘s interface is sadly one part of the game that is not very moddable at all, with every component fixed in position and no way to just hide it all and start again.
Which was a bit of a pickle because I wanted something much more minimalist than that. Ultimately, the UI is a set of controls, not the entire point of the game; you want it to be thematically appropriate, but subtly enough that it doesn’t take over the universe. Yes, yes, having a giant interface was an old-world performance concern, because it meant that you had less pixels of 3D world to render, but we’re past that now. WC3‘s UIs are too thematically appropriate, so much so that it’s impossible to tone them down for a scenario that is much less boisterous.
Sticking to the world of strategy games, though, I played Earth 2150: Lost Souls recently and I found its interface designs rather engaging. There are nice solid protruding buttons, sunken parts like screens for unit schematics and text and panels with rivets and stuff for everything else. The colours and the style of panelling change per faction, but always remain very… well, lumpy? I mean that in a good way.
I think I kind of want that, but scaled down and trimmed back a lot. My game is, after all, set in an industro-military future, and chunky metal panels would suit that theme perfectly, just as long as they keep to the edges and expose maximum game world for maximum visibility of all those giant architectural setpieces I intend to create.
Many modern games have gone too far in trimming their interfaces down, though. Games like Wolfenstein: the New Order have very little interface at all… Or rather, bits and pieces of their interface phase in and out of existence as you press something or something happens. There’s not much to hang onto, and I find this pretty annoying.
Consider Unreal Tournament, where every gun you have is at the bottom of your screen (or not). When you want to scroll up or down your weapons, you always know what you have and have not got access to. Wolfenstein, however, only brings up the weapon list when you start scrolling — that means you don’t really know where in the wheel you’re scrolling from, making it actually rather frustrating to find the weapon you want to get to.
Whereas, with a permanent interface that always highlights the weapon you’re on and the relative positions of all the other weapons, flipping up and down the list is easy. (Maybe a permanent bar would highlight just how shit the weapon variety in Wolfenstein was, though — dual wielding is all fine and dandy, but there was basically nothing else.)
No Excuses is primary an action game so the more concise interface of a shooter is definitely the basis for layout if nothing else, but there will be inventory and conversation screens and all the rest so this will only get us so far.
Coming back to the strategy world, Supreme Commander: Forged Alliance does a pretty good job of having a nice persistent interface while showing off maximum game world (it’s even configurably persistent — you can minimise most bits of it).
The original SupCom‘s interface was badly chunky, but FA split all of that into faction-coloured little modules scattered around the edges of the screen. I would hesitate to go this way because I think clean holograms are not quite grungy enough for the atmosphere I want to create; on the other hand, glowing lines are, as demonstrated by Project Y4, pretty easy to knock together.
Naturally, all of these conflicting desires have to be filtered through what I can actually produce.
Substance Designer might offer plenty of ways to generate textures for physical materials, but it won’t give me the design sensibility to layer them up as tastefully as Lost Souls did, which means I probably can’t go for the thematic metal plating I truly want. There were a few attempts at that in the bad old days, so, er, probably best avoid that angle.
Besides, I would like to be able to easily change the colour scheme, like UT or Deus Ex, for either player customisation or mission-specific schemes. If I used heavy metal panels, that wouldn’t work — I’d have to generate new sets of panels for each scheme rather than letting the game do all the work (unfortunately, Unity‘s basic materials/shaders aren’t its most flexible element — WC3 allows you to layer different filtermodes and that is, er, still better).
So I’ll probably end up with something with flat colours and a few faintly glowing outlines again, then. Grumble.
2 thoughts on “Blog 635: So’s Your (Inter)face”
The UI is crutial in a game and how it is achieved . In RPG they must be good a sorting for all the loot , be descriptive to engage the player ect . Where as shooters are ment to be minimal to prevent obscuring the battel and are minimilistic so players spend more time playing the game and less time in the interfance . So try to decide how you UI is going to compliment you design .
I’m also designing for a 1280×1024 monitor, so I expect everyone with a widescreen will have reason to hate me by the end.