Tuesday, March 29, 2016

Game Development vs Movie Development

Games and movies are somewhat different when it comes to production processes, you only need to look at games to see that they have not quite caught up to movies clarity, quality and production values. There are good reasons for this and I will touch on some things that comparatively change between developing a game and a movie

For starters, the polygon count, texture size and post-effects.

Video games cannot quite match the polygon count of films as of yet and often have to cheat shapes and polygon counts to get similar results to film. Generally a polygon budget for assets such as characters, terrain, world objects and interactive objects tend to be in the hundreds to 10s of thousands, rather than the millions that can be offered in film. Generally the higher polygons are converted into a normal map and then applied to the base mesh for games.

An example of a character model for a game: Uncharted 4

Golum Model from the Film Lord of the Rings 

As you can see, the model for film has a greater polygon count on the base mesh. while the base mesh on the game character is much less and uses larger polygons to fill in the space. Game developers have to consider the polygon count, how much can fill the frame at once and also due to games being more reactive, have assets that can be shown and rendered in milliseconds (also known as frame time) as they need to be shown as the player reacts to the game and what they can see.

Textures are also significantly smaller in games, which tend to have textures from 256x256 pixels all the way up to 4096x4096 on average.

An example of a character using a single 4k texture map
(model extracted from Rainbow Six : Siege)

Character from the film Avatar 

Film characters and models can have 8k+ texture maps or even hundreds of 4-8k maps per model

“Almost every asset rendered by Weta for Avatar was painted to some extent in MARI. A typical character was around 150 to 170 patches, with 30 or more channels (specular, diffuse, sub-surface, etc) and 500k polygons at Sub-division level one. The full texture set ran to several tens of gigabytes, all of which could be loaded in MARI at the same time. The biggest asset I saw being painted was the shuttle, which came in at 30Gb per channel for the fine displacement detail (500, 4K textures). Assets of over 20M polys can be painted.”  - Jack Greasley

Now since video cards and ram are limited on PCs and game consoles when assets are fetched from the Video Ram and dedicated Ram, game developers have to budget for smaller, compressed textures and in some cases, less layers per material/shader.

Games, as they need to be rendered in real time and non-linearly, require instant rendering times down to the microsecond. Films will have the advantage of having every scene pre-rendered and the luxury of objects having higher quality, but does not have the spontaneous real time control of games.

Which comes down to animation: Animation in games requires more branching animations for character as they are required to blend between character actions and player control

Ninja Gaiden 2 : A good example of spontaneous and large sets of animation

Since the player expects the character to behave properly when the controller buttons/stick is touched, you would expect that a character would need to transition accordingly. So if a character walks then runs, then jumps then attacks, the animation will need to flow between each corresponding action. Unlike film, this is less linear.

Not to say that films have it any better, generally the workflow is much more linear: the scene is set, the characters have been story boarded and the characters/action can go from one pose to the next in a more structured way.

This is only a small piece of the overall picture, I have not covered things like dynamics and post processing, bit you can already see the kinds of differences and challenges film and game developers face when creating something in their medium.


Mari covers Avatar's Models in glory

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.