Game UI

Guild Wars has a fully customisable, scalable UI engine too. TBH I'm surprised there isn't anything optimised for games as supporting multiple resolutions is a requirement now (and of course has been for decades on PC!).
 
god of war used flash.
What they did was build a highly optimized flash player for the ps2
Yeah, when I was at TRI, we modded and optimizaed a Flash player for PS2 as well for Spy Hunter 3 (an open source one, in fact). Many studios use it in fact because Flash as a tool is something pretty useful for artists/designers and it's pretty widely known. Doesn't mean it isn't a headache from the point of view of development.

Scaleform doesn't do much to relieve those headaches that come from integrating Flash into a piece of software that is even otherwise inches from maxing out the limits of the hardware. It's value is that they've already written the core libs for parsing and rendering Flash and ActionScript and so on. Games that manage to use it effectively naturally had to take a lot of efforts to mitigate those problems, but in no case was it ever a plug-and-chug problem.

I mentioned the work I did for a UI system like Grall talks about for WoW that handled all the problems of multiple resolutions, aspect ratios, scaled up well, fully customizable, fully 3D, etc. and it ran in a relatively tiny memory and CPU footprint -- but the only reason that's even possible is because I was starting from zero. You can't really get that out of a system which has a decade of legacy baggage carried along with it. Counterpoint is that the more you focus on the resource minimization of the API, the less you're going to be able to make something really clean and usable for artists.

Guild Wars has a fully customisable, scalable UI engine too. TBH I'm surprised there isn't anything optimised for games as supporting multiple resolutions is a requirement now (and of course has been for decades on PC!).
Assuming we're talking about stuff that's completely self-contained and not dependent on proprietary tools like Flash, I believe they do exist out there, but many of them have either very serious problems or shortcomings, are too young and immature to be all that useful, aren't very customizable, or have certain attributes which are deal-breakers for a lot of studios (such as being platform-specific).
 
I loved the diegetic interface in FC2 and still play this game today partly due to its immersive qualities. Dead space has the advantage of having a 3rd person view and space suit to render on which does suit the process better. I applaud FC2 as one of the few games on consoles that made an effort to be realistic.

I agree. I've been wishing for games to have nice first person animations after playing Breakdown on the original Xbox.

I think the interface in FC2 would have been fine if there was more draw distance in the game. Then they would be free to create levels with obvious landmarks, They opted for a design with nice details up close but an inability to see off in the distance. I was watching a show called Expedition Africa and they were constantly using landmarks. The open world games would use fog, then they would use depth of field or bloom to cover up aggressive level of detail and objects popping into view. I think this is becoming less over used in the last years although there are still games like Red Faction Guerrilla where the only hope to navigate is to follow the arrow overlay because the environment is so unremarkable and full of hills that block any view that would give a sense of relative location.
 
Kinda interesting it hasn't been mentioned yet, but the UI for Metroid Prime has to be named as one of the most genius-like UIs ever. I'm not sure what other game before MP showed its HUD as a projection on the inside of the character's helmet - even going as far as showing a reflection of the character's face on the glass when hit by bright light/explosions...

I always loved that aspect. It really added to the immersion of the game.
 
Flash is not that bad, if you use a customized version with hardware rendering and bitmap cached fonts, etc. Our menu engine is based on gameswf (http://tulrich.com/geekstuff/gameswf.html) so the content can be easily created by flash tools. We have replaced the tessellator/triangulator with our own, etc, and done lots of callbacks to the engine code that allow all the most heavy things to be done efficiently (on native code). Antialiasing is not a issue either, since hardware MSAA works nicely (and since you do not need depth buffer in overlay menus, you can have 2x larger color buffer in the EDRAM at once, allowing a free 2x AA at least).

Unfortunately actionscript still gives the option for content creators to create slowly running menu screens, so their script needs to be reviewed (just like any program code).
 
I think it's just best to give players options to have information on screen, rather than design the HUD for them, but I guess designing a proper HUD is part of making a game unique. In online FPSs though, I do like to mess around with things, get rid of the crosshair, ammo counters ect. That can up the realism when things might be losing your interest.

Japanese games tend to be the worst offenders, especially the old Armored Core games. The outer part of the screen is filled with all sorts of non-sensible information that adds nothing really to the simulation aspects of it. Even if it was important, it's badly placed and the player pays no attention anyways.
 
We've been using scaleform since I integrated it with our multiplatform engine over a year ago now and the results seem promising...

Performance wise I'd say it's gotten alot better since version 3 & I know they have ALOT more improvements on the way in terms of optimizations (I.e. multi-threading up the renderer) in the coming releases...

The great thing about scaleform however is the API since it's just so damn easy to customize and modify to get it to fit with your engine (as an example I ended up swapping out the stock scaleform renderer for PSP & writing my own which bumped our performance right up by about 30%)

Actionscript perf can be *dangerous* in the wrong hands but since our artists are all pretty new to flash they don't write much aside from simple stuff to drive animations & in general scaleform provide their own CLIK custom widget sets for artist to create menus from which are much more optimized and suited for in-game use...

Overall I think flashed based UIs (done right) are such a big win for us as they completely remove the burden of art/flow-centric UI changes (which happen ALOT) away from coders and the artists are happier since they can tailor the look and feel of their UIs to their hearts content giving us a much higher quality output overall...

We're now using Scaleform on all our internal projects on every platform (PC, PS3, Wii, PSP) & the results should hopefully (when we ship) speak for themselves...
 
On another note I took a very brief look at the RAD game tools guys stand over at GDC this year & they seemed to be showing off their own Flash-based UI solution (not sure if it's available for licensing yet or not...)

From what I saw the technology didn't seem as feature-rich/mature as scaleform (understandable) however I'd certainly be interested to find out what their performance metrics are in contrast...
 
A question regards Scaleform - does it retro-engineer the animations back into components? I've done some Flash authoring with Swish, and it's so damned easy I can see the appeal, but the final Flash animations are a mess. I'd rather have a renderer that can use Swish's file-format, preserving objects as objects and paths as paths etc. Given the inefficiencies of Flash, is there no similar animation language with the tools and libraries? Presumably MS offers Silverlight for XB360, but i have no experience of that.
 
A question regards Scaleform - does it retro-engineer the animations back into components? I've done some Flash authoring with Swish, and it's so damned easy I can see the appeal, but the final Flash animations are a mess. I'd rather have a renderer that can use Swish's file-format, preserving objects as objects and paths as paths etc. Given the inefficiencies of Flash, is there no similar animation language with the tools and libraries? Presumably MS offers Silverlight for XB360, but i have no experience of that.

I'm not privy to the internals of exactly what scaleform is doing with it's data but they do provide a commandline tool which we use extensively to convert .swfs into an optimised format for game use. The tool also optimizes & strips out all your embedded textures (.jpeg & .png) so you can optimize them too like we do & just provide GFx with a custom loader so it knows what to do with them...
 
Ugh. It's sad to find out anyone considered flash in-game was a good idea. Just make your own UI. It's not that hard, I've made dozens. It only takes a few hours really. And if you do it right, you only need one and it works with every game/program you ever make.
 
I recently played AC2 on PC... the menus were done in Flash too (at least the endgame credits have Adobe Flash mentioned)... and they were HORRIBLY slow. The game runs nigh on flat at 30fps (with VSync) at the highest settings... but opening the radial weapons menu for example makes it go to a crawl (interestingly, fraps doesn't say the framerate slows down somehow, it seems, the UI runs independently from the 3d renderer and gets overlayed in-game). And I have by no means a slow PC.
 
I recently played AC2 on PC... the menus were done in Flash too (at least the endgame credits have Adobe Flash mentioned)... and they were HORRIBLY slow. The game runs nigh on flat at 30fps (with VSync) at the highest settings... but opening the radial weapons menu for example makes it go to a crawl (interestingly, fraps doesn't say the framerate slows down somehow, it seems, the UI runs independently from the 3d renderer and gets overlayed in-game). And I have by no means a slow PC.

heh blame scaleform, easy to use middleware but not always the most efficient for rendering.
 
AC2 did not use Scaleform

AFAIK, AC2 (Assassins Creed 2) did not use Scaleform. It used the actual Adobe Flash Player which renders in software and is MUCH slower than Scaleform's hardware accelerated solution.

Many games using Scaleform can be found here:
http://www.scaleform.com/gamesusing

I've played a lot of the ones on that page and they all seem to have really nice and fast UI... just my opinion.
 
Ugh. It's sad to find out anyone considered flash in-game was a good idea. Just make your own UI. It's not that hard, I've made dozens. It only takes a few hours really. And if you do it right, you only need one and it works with every game/program you ever make.

You've obviously never worked on a large scale production game with a heavily iterative UI development process before then...

When your entire UI gets overhauled like 3-5 times over the course of development you'll begin to understand where the value is in a UI framework that can truly take 99% of coder support out of the equation..

THAT is why flash in games is a good idea..
 
I recently played AC2 on PC... the menus were done in Flash too (at least the endgame credits have Adobe Flash mentioned)... and they were HORRIBLY slow. The game runs nigh on flat at 30fps (with VSync) at the highest settings... but opening the radial weapons menu for example makes it go to a crawl (interestingly, fraps doesn't say the framerate slows down somehow, it seems, the UI runs independently from the 3d renderer and gets overlayed in-game). And I have by no means a slow PC.

There could be any number of reasons why there setup is slow...

If they're using an inflexible flash API (which they might be if they aren't using something like scaleform) which forces you down the route of running heavily unoptimal SWFs in real-time then I'm not surprised performance is an issue...
Similarly depending on how they are compositing their flash/scene rendering they could be running themselves into all kinds of problems...
Saying that however I played ACII on Xbox360 & didn't notice any issues whatsoever with the UI performance in game so unless your PC is a little under-equipped I'm sure where you're seeing such heavy slow downs...

Personally I don't believe flash in games is slow if done correctly (see the latest scaleform build for proof.. If I can get it hitting 60fps on PSP then it's likely not the library itself thats causing your game to run slowly...)
 
Underequipped? It has a Core i3 330M and a 5650 Mobility Radeon... this laptop even runs GTA4 with medium to high settings at 30fps (mostly). So, certainly not...

And plus, the game ran mostly between 30 and 40 fps with the highest settings too (all maxed out, plus 2x AA)... only the menus were laggy as hell!
 
Underequipped? It has a Core i3 330M and a 5650 Mobility Radeon... this laptop even runs GTA4 with medium to high settings at 30fps (mostly). So, certainly not...

And plus, the game ran mostly between 30 and 40 fps with the highest settings too (all maxed out, plus 2x AA)... only the menus were laggy as hell!

It's hard to say for sure (only the AC2 developers know), but since they used the software Flash player and not Scaleform, it could have had a hard time rasterizing the UI at a high framerate. Instead, they may have turned down the UI framerate to be 50% of the game speed or something... just guessing.

Whereas on X360, you can depend on six virtual cores, so it's likely they dedicated one of them to the Adobe Flash software rasterizer. Again, the problems with AC2 are not because of Flash as an authoring tool or Scaleform runtime... they're going to be Adobe Flash Player related or because the content wasn't optimized.

Using the Flash studio for rapid animated UI has many advantages, but like any solution, you can always misuse or overuse it to produce problems, both memory and performance, even too much animation will be annoying.

I know Scaleform is trying to address this with their new AMP profiler tool and upcoming GFx 4.0 which they claim is going to be 2-10x faster and supports Flash 10 AS3. We'll see if they live up to the claims.

I'm looking forward to seeing what users do with Epic UDK+Scaleform Flash, which is *hopefully* shipping soon.
http://forums.epicgames.com/showthread.php?t=724791

There's another post about whether it's easy to learn... sounds like UDK will include a full UDK game UI sample and a lot of Scaleform's kit (scroll down to see the post from Mr. Scaleform)
http://forums.epicgames.com/showthread.php?t=728593
After playing with Flash studio and Scaleform, I just can't imagine implementing a custom hard-coded UI anymore... seems like a waste of time. Much easier to just let an artist and scripter do it.
 
Back
Top