PDA

View Full Version : How many polys are too many for a casual 3D game?


elias4444
11-04-2007, 03:21 PM
I like making 3D games. Partly because I can't draw worth beans, but I can build 3D models and color them up really nice. But because my games are 3D, it limits my audience to those who meet the hardware requirements.

Here's my issue: my next game I'm planning is a casual game, and although it'll still use a 3D engine, I don't want it to be limited to only newer hardware.

What are some limits I should impose on myself when I build my models and things? How many polys per scene are too many? And anything else I should be watching? I'm already careful on texture usage, which is fairly easy to gauge (since you know how much memory a texture eats up), but the number of polygons per scene is a bit more difficult.

All help is appreciated!

moose6912
11-04-2007, 04:15 PM
Here's my issue: my next game I'm planning is a casual game, and although it'll still use a 3D engine, I don't want it to be limited to only newer hardware.


How about creating a 3D game with robots since robots are blocky looking, so they still look good even with low polygon models. But I would advise you to remove the 3D game idea as I have been told that 3D casual games do not sell.

GolfHacker
11-04-2007, 07:39 PM
But I would advise you to remove the 3D game idea as I have been told that 3D casual games do not sell.
What about Zuma?

oNyx
11-04-2007, 08:11 PM
Quake3 (released at the end of 99) used ~10k as guide line for the upper limit. It goes up to 12k in spots and some of the 3rd party maps exceed 15k or go even beyond that. The models used 300-1200 (3 lod levels).

Well, even with the really bad integrated chipsets the amount of polys won't be a problem. The fillrate is usually the biggest bottleneck. As long as you keep the poly counts reasonable, that is.

Sybixsus
11-04-2007, 08:12 PM
The number of polygons is not really the issue. Rendering polys in large batches is actually pretty quick on any vaguely usable card. The slowdown comes with state changes and fillrate, for the most part, so it's not really possible to give any kind of meaningful estimate on polygon counts for scenes.

zoombapup
11-04-2007, 08:20 PM
Try to find out how many poly's a mobile 3d game could push. That should give you a very reasonble stab at the low end of the 3D market.

princec
11-05-2007, 12:43 AM
My games push out around 1000 or so in a typical frame, largely unconnected so no optimisations done, and they run OK even on ancient G4 Macs. Actually they're even "okish" on G3s.

Cas :)

vjvj
11-05-2007, 01:59 AM
Great thread. I've been asking myself the same question lately and have been doing some research in this area in my spare time.

With regards to low-end hardware, the above responses are dead-on in that poly counts don't matter as much as fill and shader horsepower. In my mind, the biggest headache comes from the CRAPPY DRIVERS that accompany low-end hardware. For Meridian, we made the decision to declare Intel Integrated 8xx cards unsupported when we found that wacky, far-out features such as DX8 *vertex buffers* didn't work... *sigh*.

Unfortunately, I can't for the life of me remember how many tris per frame Meridian pushes. Its numbers are kinda misleading, though because the original engine did all sorts of hacky tricks that complicated the D3D port. This necessitated rendering far more triangles than were actually seen (about 2.5x of the actual geometry) just to render an image identical to the software renderer.

The Quake 3 numbers Onyx posted are pretty useful; I can add a few more for frame of reference (these are practical counts, not theoretical):

- Typical PS2 title: 50k - 75k per frame (I've seen as high as 120k per frame, but that was with crazy VU1 instancing)

- Typical PSP title: 10k - 20k per frame, usually leaning more towards 10k

Also, I understand that the DS has an enforced limit of 2k triangles per frame (max display list size or something of that nature). Which probably translates to about 1k - 1.2k per frame, practical. I think Quake 1 is around that number and I intend to do a little more research on that end. I know those are console numbers and don't totally apply (sorry, it's where most of my experience lies), but it should give you some idea of the kind of visuals that can be attained with those counts.

Lastly, here is a link that enumerates a bunch of games and lists the poly counts for their characters. Hope it's useful.

http://gamers-creed.com/?p=553

I might just ping you later about what you end up settling on. If you keep the shaders simple and batch well, you should be able to get pretty good throughput.

Sysiphus
11-05-2007, 04:28 AM
I worked on mobile 3d games. At least a 6680 or the like can handle well with 1000 tris in total and some averagely intensive 2d stuff running. I'd say this one or an ngage, can deal with like that count in a quite responsive/fast game.
But that is way, way less power than a very old pc machine has. Mobiles at least till that model, -I didnt work on series N- , didn't have co-pro unit, neither they had graphic card, and we're talking bout 16 or 8 ram, and count on a big bunch out for the OS. Really slow thing.

You learn to do crazily eficient 400 -500 tris "realistic" characters(and use tricks to animate em well).And trust fully on very careful good texturing, very small textures, often of 64 colors, also.Is amazing what you can get with heavy work.The engines there often don't have nor even quake times features (ie, no lightmapping, no smoothing normals often, etc...all good texturing and 3d rendered for backgrounds, and a ton of tricks)

I pretty know very well you can push a game in a crappy old machine of 700 mhz and uber old and low card, with even like several thousands of polies. But I agree with Sybixius, and also , count on the number of entities, of objects and texture files. In certain engines I saw quite an increase of performance using dxt textures. But from artist side, am no coder.A lot of othe rthings count, like having or not particles, AI killing stuffs cpu, whatever the bottle neck. Fillrate in some engines/systems is really a problem.
Also depends on if the game requires really fast response or not. Again, you can do wonders with effective use of tris and textures, and baking effects into textures, etc.

moose6912
11-05-2007, 06:31 AM
What about Zuma?

Zuma looks 2D to me.

svero
11-05-2007, 10:07 AM
Zuma is 2D.. but has the option to use 3D hardware for added effects etc... It's not a "3d" game in the classic sense of the term.

svero
11-05-2007, 10:08 AM
I will note that some true 3d games have done pretty well. Some of the 3d breakouts and tumble-bugs for instance...

Twitchfactor
11-05-2007, 11:21 PM
This question is like, "how long is a piece of string?"

The # of polygons is dependant upon your target machine and more importantly, your engine. I know of shit engines that can't push 2500 full-featured polys per frame @ 30fps. I also know of kick ass engines that push 100k textured/alpha'd/specular'd polys @ 60fps.

It's not about the # of polys, but what you do with them. How does each poly look? How is the poly being lit (or is it)?

The best idea is to work out your GAME first, then work out a poly-budget based upon your target machine & engine performance.

BTW, my last PS2/XBox game was pushing 150k colored-lightmapped polys per sec. The draw time wasn't really the bottleneck, it was AI costs.

My current game is on X360 and I'd say my average polys-per-frame is 75k, but they're fully normal mapped, with 2 layers of post-processing for HDR/bloom.

VladR
11-15-2007, 01:48 PM
Talking from my own experience with my own 3D engine written from scratch and using relatively recent cards, I managed to push up to 2.5M tris per frame at 30 fps on GF7600. This number drops to about 1.2M at GF6600 (which is extremely low-end gfx card these days). During rendering I was switching between up to 8 textures (all 2048x2048,few 4096x4096).
From what I remember from older days, GF3 could easily handle over 600k tris per scene smoothly and GF2 did well with up to 250k tris.

Anything under GF2 is so ubelievably old and shitty that I wouldn`t even consider it a gfx card. You can`t even buy a cheapest notebook with shittier gfx chipset these days.

So, as long as you stay under 100k per scene and don`t code like a pig, you should be fine.
And 100k is actually not that bad for few characters, terrain and props.

Just follow the few basic rules - vertex cache coherency, vertex cache miss ratio, vertex size cache alignment, PROPER INDEXING (!!!), minimal amount of DIP calls,proper Vertex Buffer flags.
Put as much work as possible into vertex shaders (ancient DirectX 8.1 needed), since even if they`re emulated in SW, the code is optimized for SSE which means it`ll run great even on notebooks without HW shaders.

Mattias Gustavsson
11-15-2007, 03:00 PM
I think there's lots and lots of computers around with graphics cards at the level of GF2 and below. And then we have all those old integrated graphics...

We're talking about the casual market after all, and I would definitely not call a GF6600 extremely low-end for a casual gamer!

princec
11-15-2007, 03:42 PM
Aye, I'd say that disgusting Intel 810 chipset is where you want to be aiming at. Yuk.

Cas :)

elias4444
11-15-2007, 04:14 PM
Yeah, I like torturing myself by testing on a laptop with integrated Intel 945 graphics, running Windows Vista (hardware = bad, drivers = bad). Still, I kinda hope that's a worse-case scenario, but you never know. :(

vjvj
11-15-2007, 11:12 PM
Yeah, I like torturing myself by testing on a laptop with integrated Intel 945 graphics, running Windows Vista (hardware = bad, drivers = bad). Still, I kinda hope that's a worse-case scenario, but you never know. :(

I totally don't have any data to back this up, but I think the Intel 9xx integrated parts are a good test bed for low-end/casual. Intel shipped a ton of them (which is a counterpoint to VladR's statement above; I agree that GF2 is extremely old and shitty for *discreet graphics*, but when we talk casual we are talking people who might have bought a "computer" without knowing wtf is in it i.e. it's probably Intel integrated crap), and as far as I can recall Intel completely owns that market still.

I would suggest testing on 8xx as well, but I'd be surprised if you can get that shit to work... I'll never forget checking Intel's site to look for known driver bugs only to find a list of KNOWN APPS THAT DON'T WORK. That shit was hilarious... And they were modern games, too. *sigh*

If you are going outside of casual and are doing the Blizzard thing (they generally have much lower min spec than the other AAA shops), GeForce 6600GT is an excellent min spec to target. That was NV's best-selling chip (yes, even better than the horrible FX 5200/5600/etc.).

Dock
11-27-2007, 04:11 AM
It really depends upon how low you want to aim. Generally with PC games it is handy to keep the poly count down and put the details into textures, as these can scale down well for weaker machines. It's more complicated than that, but in general it helps to keep the poly count down and the bone count down.

Laptops and integrated Intel graphics are the low bar to aim for if you want to be ultra casual. £300/$600 laptops are becoming incredibly commonplace and casual people tend to pick up these sorts of computers. Apple laptops are more powerful than a lot of PC laptops in terms of graphics, but still pretty weak.