Game Development Community

Poly count for Characters

by Lykon · in Torque Game Engine Advanced · 03/22/2008 (12:36 pm) · 12 replies

Does anyone have an estimate for what the maximum poly count should be when one is aiming for a TGEA scene with about 7 characters on screen simultaneously and a few buildings around them?

I am trying to create as detailed characters as possible and this information would be invaluable in assisting me to achieve that goal.

#1
03/24/2008 (3:59 pm)
Hey Gerard,

It depends on the GPU that is being used.

I think in Gears of War and UT3 they used about 3000 per character, i think TGEA would be able to handle that without to many problems...anything else would be overkill as i assume you will be using normal maps too.

Hope that helps :)
#2
03/24/2008 (4:25 pm)
Gerard, I don't think it really matters on the poly count, although the lower you can the better, it's just the amount of objects per level that make alot of slow down in the FPS department. Just a word of advise too, try to keep the textures down around 512x512 as going larger does make a difference in game play, from what I've seen anyway.
#3
03/24/2008 (5:06 pm)
Thanks guys. Yeah, I plan to make use of normal maps to handle the bulk of the detail work. I will keep in mind the restriction regarding texture sizes as well Chris. I was just wondering what I should aim for in terms of reducing my initial high polygon character down to something that would function the game engine. Thanks for your help!
#4
03/24/2008 (5:12 pm)
It also very much depends on your game. You need to keep track of your general scene expectations, and build a poly budget for the entire scene--not just 1 character.

For example, if you are making an RTS and expect 200 characters on screen at any one time, then 3,000 is probably quite a bit too much.

However, if you are making a single player adventure game where at most there will be 4-6 characters on screen at any one time, then 3k is quite appropriate, and you could even increase that if your game art requires.
#5
03/25/2008 (4:58 am)
Hi Gerard, just thought I'd throw our experience on Buccaneer in here for what it's worth...

Here's what we've found to hit us most / helped us most.

Chris is right. As far as we can tell, the more objects, or more importantly, objects with collision boxes you have in your level = bad. ie a 5000 poly town with one collision box is cool for us, but put them in as individual houses and it hits our framerate ( you can destroy our towns by the way so we needed them as individual .dts...

From our point of view it was very, very important to make the Lowest LOD character (or ship in our case) as crazy low as possible as it's used most of the time in the water reflection. Our highest LOD ships are about 3000 - 4000 so also use a 3000-4000 reflection, but this is only when you are right next to them. most of the time they use a 300 poly reflection LOD as this is the lowest LOD we have. We've had 12 of these running online ( 6 a side ) with no great problem.

We found a big framerate hit on Nvidea cards once we had all of our textures in there. We originally had individual .pngs for everything.. It took a while, but we found after loads of advice from the forums that by having say a dozen large texture sheets (1024x1024) saved out as DDS instead of say 150 individual .pngs, and remapping all of our artwork to these sheets completely stopped this problem, and was a huge saving on framerate...Don't take this as gospel from me, I don't even know if DDss are supported properly, but it certainly did the trick from our end 8)
#6
03/25/2008 (12:28 pm)
Great point about the texture sheets Harvey!

Though depending on the game i would say 512x512 is a little low for games today unless its for RTS.

In my experience modern FPS type games use 1024x1024 as a minimum with games like unreal using 2x 2048 for player textures and 1x 2048 each weapon, though using this resolution would depend on screen activity etc.
A normal set of textures for a UT3 or GOW player would be:-

2x2048 diffuse colour
2x2048 specular
2x2048 normal map

and the following for weapons

1x2048 diffuse colour
1x2048 specular
1x2048 normal map

I would recommend using the highest res. of everything that you can get away with, then cut the texture sizes and poly counts down until you get the performance you want.

I tend to create all my textures at 2048 and then resize them as needed.

The book d'artiste: Character Modeling 2 from www.ballisticpublishing.com has some great info in there on these subjects, you should give it a read :)

Hope that helps
#7
03/26/2008 (5:02 pm)
Thanks for your information everyone. It is always useful to get some practical knowledge from people who have already worked with the engine.

Personally, I am creating a role playing game, with third person perspective. Therefore, I would like to have rather detailed characters.

Harry, I understand what you are saying about collision detection, and I will be wary of having too many objects with their own collision boxes on the screen at the same time.

With regards to what resolution I should use in terms of the diffuse, specular, and normal for my characters what is the consensus of opinions? Should I aim for 2048, 1024, 512? Remember I want to have as highly detailed characters as is possible, so I would hope to have at least 1024x1024 resolution textures.

Also, regarding my RPG type game play, is 3K an appropriate number for characters? I would hope to have around 7 characters on screen simultaneously, and then a few buildings in the background as well, which would be a few thousand more polygons.

I would not be aiming for the lowest end in terms of gaming machines though, I would be aiming towards the higher end in terms of technical specifications. Do you guys think that is feasible, given the polygon/texture detail I am aiming for?

Thanks a lot to everyone for their assistance!
#8
03/27/2008 (1:29 pm)
Hey Gerard,

I just ran a little test for you :)

I placed 200 objects into the Stronghold mission with the following settings:-

1280x1024 screen res.
All objects had 1024x1024 diffuse colour and normal maps applied.
FSAA x 8.
Everything on the highest settings availiable in the options menu.
Total polycount of 37200 tri's.
Collision was on all objects.

and i got a average FPS of 34 depending on where i was looking in the map (i was in the centre of the populated part, near the towers and the campfire).

My system is:-

Mainboard : Asus M2N32-SLI DELUXE
Chipset : nVidia nForce 590 SLI
Processor : AMD Athlon 64 X2 5600+ @ 2800 MHz
Physical Memory : 2048 MB (2 x 1024 DDR2-SDRAM )
Video Card : Nvidia Corp GeForce 8800 GTX
Hard Disk : MAXTOR (250 GB)
Hard Disk : SAMSUNG (400 GB)
DVD-Rom Drive : ATAPI DVD A DH18A1P
DVD-Rom Drive : SONY DVD-ROM DDU1615
Monitor Type : ViewSonic VX912 - 19 inches
Operating System : Microsoft Windows XP Home Edition 5.01.2600 Service Pack 2
DirectX : Version 9.0c (March 2008)

I create most my textures @ 2048x2048 and resize them if needed later on as this "future proofs" my project if i decide i want higher res at a later date.

I hope that helps a little with your enquiries :)
#9
03/28/2008 (3:20 pm)
Thanks a lot! I would assume then that 1024x1024 is an acceptable resolution to use for textures when one is designing for modern hardware. I have heard from a number of game artists that the optimal resolution is 2048x2048 resized to 1024x1024.

According to your test, which I am very grateful for!, having a number of objects with around 3,000 tris per object, and a 1024x1024 diffuse/normal maps for each, I could still conceivably place a very large number of objects on screen at the same time and have an acceptable FPS at the end of the day!

As I am making an RPG the main thing for me is going to be the in town sequences, where you a have a decent number of NPCs milling about in the background (doing the things that NPCs do, like walking around in circles, and pretending to be productive...) and the prerequisite scenery (buildings, trees, rocks, etc.) and I would still have a hihgly detailed scene that does not collapse on a mid-range modern gaming rig!

Thanks to everyone for helping me to ascertain the polycounts and extra details that I should aim for in terms of getting a product out there with the proper amount of detail vs. computing power available for the TGEA.
#10
04/10/2008 (6:25 am)
I was re-reading this and I think I forgot to clarify something, I was hoping to DTS object for my characters and buildings...with poly-soup and the new optimized TGEA 1.7 engine this should be feasible right?

Is there a huge difference between DIF and DTS objects for poly count allowable on screen simultaneously?
#11
04/10/2008 (10:55 am)
Most modern video cards handling PS 1.1 or later, (definitely 2.0 and later) can handle textures 1024 or later. If you want to support slightly older hardware then 512 is certainly the safest as many of those early video cards couldn't handle textures any bigger. The start of the console.log in TGEA displays your machine's video card capabilities including the maximum texture size that it can handle.

I haven't test it in 1.7 but in previous versions Atlas terrains would crash if you made the texture leaf chunks bigger than the max size the video card could handle.
#12
04/10/2008 (11:40 am)
I always say shoot for the 1024 mark for your textures. But yeah if you want to support the labtop market and intergrated cards you are going to want to drop down to a 512 size or you will run into a issue like we did where the large textures will literally bring them cards down to there knees.
We had a scene with around 7-8 buildings and the buildings used 2046 textures and two of our laptop machines could not run the game with more then 5 fps. And these are fairly new laptops.

Eventuly we settled with 512 size texture maps for the buildings and that brought the fps upto around 50-60 on the laptops.

So also take into account your target market. If you want to target the high-end only then by all means for with 2046 size textures. But if you want machines 2+ years older or the laptop market then you will want to go alot smaller then that.