Monday 23 May 2011

Poly Count research

So we all know poly count is very important within games and production animation. I've tried to collate some research material on industry guidelines and tips on poly count within productions and games. This will also set me a limit on my own modelling as I can further progress by learning how to model to the specific poly count.

Article from http://forums.runicgames.com/viewtopic.php?f=6&t=2311&start=160

"This is adam ... I am the tech artist over here at runic. I end up putting in a lot of the game asset on the art side so I can probably give you some info on our format and restrictions.

Almost all of our textures our 512x 512 or 256 x 256 and even some 128 x 128. Most of the environment textures for the tileset are 256x 256 so that would probably be the way to go. We end up outputting the textures to dds format. There is a free plug for photoshop at:

http://developer.nvidia.com/object/phot ... ugins.html

We can support full alpha (DXT5) and 1 bit alpha (DXT1). In many cases 1 bit is a better option as full alpha can have sorting problems depending on if a model with alpha has to render under them or over them. The best way if to just try it out in the editor when it gets released. You can always change it to 1 bit if full alpha doesn't work out.

I suggest that if you are going to make textures with alpha always store it in PSD format or some other lossless format like tiff or targa until you are ready to integrate them as dds in the game as dds has lossy compression. Also it is best to create an alpha dds from a texture that has a dedicated alpha channel in photoshop, not like png where the alpha is just stored with the color values (although we use superPNG format that allows a png to have dedicated alpha channel). This is needed so that you can paint the area that gets alpha out a color matching the rest of the texture and helps prevent a white pixel halo. Formats like regular png end up sampling white as the blending bg color between the alpha area and non alpha area creating a halo effect when converted to dds.

Here is a link to the superPNG plugin
http://www.fnordware.com/superpng/

As for your second question it is a wee bit harder to answer. Since our levels are semi random the length of a level and the amount of props changes a bit. What we do is instead of aiming for a level polycount is we aim for each asset to hit a consistent level of detail in both model and texture across the game. Our main characters end up being higher than our props and our props usually end up a little higher than our tileset pieces for there size on screen. A main character might be around 1400 tris, a regular similar sized monster might be around 1000 tris, a props of about the size as a character might be around 300 - 600, and a whole wall tile might be only 100- 200. I know these seem a bit low but we are aiming at having a lot of monsters on screen plus we are looking to have computer specs that allow our game to be played by people that don't have the Rolls-Royce of computers :)"


In comparism to this article, another article from teamxbox.com has figures of poly counts from game assets.


I stumbled upon an interesting blog entry from Rick Stirling, a character artist, about the polycount of game character models. This post is interesting since it quotes some approximate numbers for the models.

Here are some examples that caught my eye:

Gears of War, Xbox 360, 2006
Wretch - 10,000 polygons with diffuse, specular and normal maps
Boomer - 11,000 polygons with diffuse, specular and normal maps
Marcus - 15,000 polygons with diffuse, specular and normal maps

GTA San Andreas, PS2, 2004
Characters - 2,000 polygons with 1 256×256 8bit texture
NPCs - 1,200 polygons with 1 256×128 8bit texture

Halflife 2, PC, 2004
Alyx Vance - 8323 polygons
Barney - 5922 polygons
Combine Soldier - 4682 polygons
Classic Headcrab - 1690 polygons
SMG - 2854 polygons (with arms)
Pistol - 2268 polygons (with arms)

Halo, Xbox, 2001
Masterchief - 2,000 polygons

Metal Gear Solid 3: Snake Eater, Gamecube, 2005 (Small mistake here, it's not on GC but PS2)
Snake - 4,000 polygons

Resident Evil 4, Gamecube, 2005
Leon - 10,000 polygons

Jak & Daxter, PS2, 2001
Jak - 4000 polygons

Jak II, PS2, 2003
Jak - 10,000 polygons*

Lost planet, X360/PC, 2007
Wayne - 12392 polygons (but finally 17765 polygons for compatibility with motion blur effect)
VS robot - 30-40K polygons
Background - ~500K polygons
Peak number of polygons per frame - ~ 3 million**

Dead Rising, X360, 2006
Peak number of polygons per frame - ~ 4 million**

The Legend of Zelda: The Wind Waker, GC, 2002
Link - 2800 polygons

The Legend of Zelda: Twilight Princess, GC/Wii, 2006
Link - 6900 polygons

Super Mario Sunshine, GC, 2002
Mario - 1500 polygons
Levels - ~ 60k polygons

Dead or Alive series, Xbox, 2001-2004
Character - ~10k

Vitua Fighter 5, Arcade/PS3/X360, 2006
Character - ~40k with diffuse, specular and normal maps
Background - 100K - 300K polygons

Medal of Honour: Allied Assault, PC, 2002
Character - 4096 polygons

Project Gotham Racing 3, X360, 2005
Cars - 80K-100K polygons (interior + exterior), damages add between 10K and 20K more polygons per car

Gran Turismo 5: Prologue, PS3, 2007
Cars - 200K polygons (probably interior + exterior)

Midnight Club, Xbox360/PS3, 2007
Cars - 100K polygons

Gran Turismo 3, PS2, 2001
Cars - ~2K-4K polygons

Gran Turismo 4, PS2, 2004
Cars - ~2k-5K polygons

Lair, PS3, 2007
Main dragon plus its rider - 150K polygons
16x16KM scene - 134M polygons (streamed into memory, not loaded at run time)

*Might be a cut-scene model
**No precisions whether it's actual rendered polygons or just the number of polygons sent to transform, pre Z-pass and culling.

It has always been interesting to me to see how many polygons were used on a certain game model. It's trivia, in most case, but I like these graphics related trivial tidbits.

No comments:

Post a Comment