Game Development Community

Is it possible?

by Stacey Miller · in Artist Corner · 12/18/2009 (7:12 pm) · 8 replies

Hello all,

I am currently developing a 3D Online Racing Game and have a question.

Is it possible to get this detail -

http://www.3d02.com/image.aspx?asset_id=3M43855&img=fiorano_hamann_7.jpg&no=9&w=446&h=335

but still have no lag/low lag when driving? What would need to be done to achieve this?

Thanks

#1
12/19/2009 (12:40 am)
Sorry for this being in all those threads lol.
#2
12/19/2009 (9:43 am)
Renders tend to have exceptionally high polycounts due to the fact that they are not designed to do anything but sit there.
#3
12/19/2009 (9:55 am)
I know that, what im asking is do you think i can get highly detailed vehicles (not like the rally pack cars under addons) and no/low lag? What would i need to do to acheive this?
#4
12/19/2009 (10:55 am)
Lag is a function of networking- I believe you want good framerates (and probably low lag as well), but a model of that quality gives me pause. I have to ask though, are the models only used in the context of racing in the game? If so, then you can take some of the details out that won't be noticed during the race, like the brakepads visible under the rims. Also, some of the polygonal details in the model such as the grill in the front, can be represented with textures (in a racing game, all the cars will be facing the same way and the context in which a car is viewed head-on would most likely be a collision or spin-out, neither of which affords a player the opportunity to see all of those details).

If you want to go high-poly for the cars (and you should not go as high poly as the car you're displaying, IMHO), you should have an aggressive LOD scheme in place for them, since they'll be shifting distances regularly.
#5
12/19/2009 (11:55 am)
You will need to be aware of 3 things overall for visual performance in your entire game scene:
1. Polygon count of all visible objects. This is less important than it used to be, you can do an insane amount of textured polygons now.
2. Draw Calls, which is basicly all your meshes and submeshes for your shapes on the screen that have to be processed and calculated (at most you want between 2000 and 3000 depending on your GPU)
3. Video Memory usage (don't exceed what the card can do or you will get delays as memory is swapped on and off the card).

Keeping that in mind go wild making your game look as awesome as you think you need it to look. Physically model the large detail and form where its needed, use per-pixel effects to do more subtle detail and enhance the form with your shaders.
#6
12/02/2011 (11:39 am)
Forza 3 cars had 400,000 polygon counts for their cars. This as you know is not great for computers. They got away with this by having about 50-100 lod levels per car/piece of car and hiding what they could. If your in first person mode, its kind of like the first person arms in the 1.2 demo.
You can also cut down on poly counts in places like the grill or by using shaders.


EDIT: Sorry didnt realize this was a dead post since 09 lol
#7
12/02/2011 (7:12 pm)
Luckily these aren't always the type of forums you get a necro card on. ;)

I just wanted to say that although old, threads don't lose informative value. There's really no shelf life on information, as long as it is still true.

Quick question... I've noticed hitching when my pc loads a new model in-game before. (multiple games, over multiple cumputers, really) Is it possible to see frame-rates drop when changing LOD? I guess a more specific question would be how do graphics cards generally handle LOD? I'd think that in some situations it'd be better to keep all needed assets for a specific LOD in memory. A racing game is a pretty good example of my thoughts here. You're going to pass some cars back and forth, and sometimes have them leave your view complete, then come back into view again. All quite often. Would it not make more sense to leave the higher LOD in use for things that will be appearing over and over again, rather than causing the system to reload that higher detail over and over again, causing more hitching each time? -Compared to a single hiccup, that is?

I understand the concept of trying to keep your load in the system as low as possible at any given moment to increase FPS... but think V-sync on this. Rather than allow a card to spit out a ton of FPS, they're limited to prevent issues. Is this ever considered when thinking about levels of detail?
#8
12/04/2011 (8:36 am)
The system should keep all the model loaded in memory. The issues come up when drawing all the polygons at once. How high poly of models are you loading?

The difference in games like Forza is their engine was built to take those polys, rendering different. (hence why theres no pc or ps3 versions)

On most systems you can get away with amazing detail in a model thats 60k poly, but you need to split that model up as torque has problems with rendering 60k at once. For example if you car is the 60k, it will render easier if you split that 20k hood from the body, then split the 5k fenders/grills/etc and have those get their own lod's.
I know this because I attempted to put a 3mil poly static terrain into torque whenever they released the Collada support. It kind of worked up until about 300k polys where it welded the rest and made the engine very very slow. So I split it into 5-8k sections. In blender they were combined but just separate (if that makes sense) this allowed my 3mil poly model to render in the engine without lag, but the only issue it ran into was the seems would cause collision errors. Which with cars that have their own collision blocks shouldn't be a problem.

Let me know if that helps.