4 Dec 2012
Game Engines & Optimizing
I have been thinking quite a bit about analysing and optimisation of 3D assets for game engines. To state the obvious, the less information processed the better the performance in game. There is the standard in PC games of 60 FPS (frames per second), and 30FPS is more common on consoles. Anything over 60FPS is really hard to tell the difference, although the BBC have been experimenting with 300FPS for sport broadcasts. The performance of any game relies heavily on the game engine; I had the experience of a poor port from console to PC earlier this year. I paid for the game Dark Souls and actually had to download an un-official patch which fixes the frame rate and you can manage the settings. The From-Software actually said 60FPS was impossible due to engine restrictions, but this can be reached on a high-end PC with this fix.
Anyways, more importantly and relevantly is optimization for the UDK engine. There is the fundamental way of making a strong library of assets which share much information, for example using the same mesh and applying a different material (re-skin), and shared textures in areas (a little like Fallout but not abused so much). More importantly for a game artist I have been looking at analysing and fixing models in 3DS max, as well as efficient texture mapping and unwrapping.
It may be interesting to know that the triangle count and texture size is a small amount of the information used from assets. Each triangle can be broken down into verts, so the number of verts counts for a lot, and can store more than position data. Here I have been using a 3DS Max script, which calculates these variables and displays it as a figure. I was surprised to find out the UV unwrap seams counts for so much – it's almost a whole other assets worth of information. Knowing this I could imagine how cheap tiled textures could be... I've gotta thank Mike Pickton again for sharing this information.
To help understand UDK a little better I recently purchased Unreal Tournament 3 on Steam. Not only is UDK packaged with the game to encourage community created levels, but it also has levels made from the same packages available to play with inside UDK. I have noticed in recent years lots of games have the Unreal Engine; this is because it is flexible, pretty all-encompassing and has a cheap licence… This all adds up to industry standard in game engines. More recent and becoming more popular is the Cry Engine, this is apparently a lot simpler to use (with less customization), but very effective and reproduce outdoor scenes. Also from my own experience playing Crysis the physics and destructibility is a big feature.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment