Advertisement

What does "Low Poly" mean in an FPS game today?

Started by June 15, 2006 02:20 PM
9 comments, last by DirectXFreak 18 years, 7 months ago
I'm working on characters for an FPS game where there will be up to 20 to 60 people in a map at a given time. Based on the current systems people generally have for gaming, what would be the advisable poly count? (I'm thinking 300 to 600). I could alter the scene (add fog & smoke) in order to reduce character quality but still give the impression of nice stuff; nevertheless, I'd like to be able to do the most possible. It would also be help if someone knows what the max polygons per character with each video cards are: ATi 9600 series nVidia 6600 series nVidia 6800 series nVidia 7800 ATi x700 series ATi x1800 series ..and anything else you want to toss in. (i.e. Feedback welcome!) If I ran some benchmarks would it tell me the max poly per char is? (I dunno, that'd be pretty complicated for a computer to calculate, wouldn't it?) Thanks, Darshan 'Nex' Shankar Red Winter Studios, Lead Producer
D. "Nex" ShankarRed Winter Studios
T = total number of polys which your graphic card can handle
A = estimated number of additional polys (map, particle system, buildings etc.).
C = number of polys per character
N = number of characters at the same time

C = (T-A)/N;

Seriously though, it depends. What kind of effects are you using, how are you drawing characters, are you using video memory or system memory? What other kind of stuff is in your scene? What kind of pixel shading are you using? What about vertex shading? How much of the actual screen space will the character take up? (2-3 % in RTS, maybe 10 % in FPS) How big are your textures? How many rendering passes do you have? What kind of lighting do you use? Do you use LOD? Is stuff sorted according to their z-values?

Generally it comes down to:

  1. How much filling is done? (fill rate, how many pixels is processed)

  2. How many vertices is passed to the GPU?

  3. How much data is transferred over the BUS?

  4. How much work is done per-pixel?

  5. How much work is done per-vertex?

  6. How much CPU will be used on sorting, LOD, animation, etc.?


That at least what I can think of.
You should try to keep all of these balanced and low, if one is high and all others is low the high one will be the bottleneck and you won't get to take advantage of the fact that the others are low. There isn't a way to say a number of characters, a character is an entity like everything else and have many parameters to be considered.
Advertisement
First let me say that I am in no way an expert on this. Just throughing in my gut instinct on this. I would say you would have to look up the vertice counts on the cards in question. Then determine how many triangles your models have. Multiply and divide out then you would have a rough estimate of how many polygons you could get with the different hardware. Of course some benchmarks wouldnt hurt so you could take into account the rest of the system as that cpus and what not will have an impact on poly counts. You may want to get in touch with Futuremark or some benchmark company to find out how many polygons there models have so you could look through orb at the different systems and configurations, and basically do the same thing above, so you could get a nice cross-section without having to setup your own benching lab.
Thanks for the replies, and much thanks CTar for the formula.

Sadly, I have no information on the scene/map and other details. I am merely creating the character models. I thought it'd be a good idea to plan ahead on my poly count limit. I suppose it would be better, then, to simply do the model and then use some poly redux.

Once again, thanks for the input.
D. "Nex" ShankarRed Winter Studios
Quote: Original post by D Shankar
Thanks for the replies, and much thanks CTar for the formula.

Sadly, I have no information on the scene/map and other details. I am merely creating the character models. I thought it'd be a good idea to plan ahead on my poly count limit. I suppose it would be better, then, to simply do the model and then use some poly redux.

Once again, thanks for the input.


To be honest, the formula wasn't completely serious, but the idea of it applies. You have to figure out how much processing power you have for your characters (T-A), then you figure out how much you have for every character and can then figure out what you polycount can be. The only way to really know what you need is test the throughput of different kind of stuff, what is you peak performance with you target card? If your peak performance is X and you are allowed to use 30 % of the power then you can count on (30/100)X, X can't be a simple scalar it will contain information about how many shading instructions can be used, what the fill rate is, how much video memory you have etc. You need some technical data about your engine and your game before being able to determine the exact number.
Most modern FPS games use between 4500 (HL2) to 8500 (CoD2) for their highest LoD characters.

If you do some searching on this, there was a discussion not too long ago on this exact issue.

EDIT: In this forum, of course.
-------------www.robg3d.com
Advertisement
Alright; thanks prof & ctar.
My target aim is the 6800GT, but that is subject to change, esp. since my game's release date is 2011 ;).

For now, I'm going to go ahead and model the char. with an aim of 2500-6000 poly. I don't even think if my rig can handle it (an Ati 9250 Radeon ;)). I'll be upgrading to a workstation soon enough.
D. "Nex" ShankarRed Winter Studios
6000 should be high enough. Its easier to add than remove as far as modelling goes.
When you make textures, though, make sure you make them at 4x resolution if you are unsure of your specs (especially more than a card cycle or two away). So if you are planning 1024 per character, texture it at 2048, IMO. Models you can pretty easily add more detail to... texture have to be entirely redone.
-------------www.robg3d.com
Don't worry; I haven't even begun to look at texturing. And I'm well aware of the "power of 2" rule.
D. "Nex" ShankarRed Winter Studios
Most recent games use normal mapping of some kind, which makes high polycount less of an issue. Most game companies now do something along the lines of making two versions of each model: a very-high poly one, and a low-poly one, and use a program to create a normal map to project the high-poly version onto the low-poly version. There are lots of ways to do this and lots of variations (parallax mapping, etc), but basically, poly count should not be an issue; with decent shaders you can get a ton of detail without an overwhelming amount of polys, and almost all current cards and games are limited more by fillrate than by polycount.

This topic is closed to new replies.

Advertisement