Polygon Limit?

Just curious… What’s the max amount of polygons the game engine can handle?

I’ve been working on a futuristic hovercar racing game but the game runs extremely slow. I think thats the result of my crappy laptop’s hardware maxing out.

Will the integration of OGRE have any effect on the limit? Speaking of OGRE wasnt it due in August? Not to rush or anything but thats what ive read in some past threads.

Anyway, Here’s a Screenshot:

It all depends on your hardware set up really.

With a semi decent GPU the in game limit should be somewhere in the 15,000 - 20,000 range, so as to keep a game “playable”. Much of that depends on how much of everything you have “on screen” at any given time (im pretty sure that blender already uses BSP though)

The first thing I thought to my self when I looked at that screenshot was: "Wow, I wonder how many polys are in that “pipe roof”. If you ask me, that section would be the thing most responsible for killing the framerate.

Instead of using a pipe like construction I suggest you hold to a single plane, and then later add a glass roof texture to it. Because, having a face for every single window is just a waste. Think in planes for your primary construction, and try to rely more on textures for adding detail rather than meshes. (you really overdid the mesh detailing for something that is supposed to be rendered in real-time, not just on the roof, but pretty much on everything)

As for the OGRE plug in: There are already snapshot builds up. They are far from stable, but just the fact that they are here is a testament to the progress of the project.

An official release is probably going to show up in a month or so. It should improve every aspect of the BGE (in the graphics department at least), but even so you’ll still have to optimize, because many people don’t have the hardware to support a magnitude of polys, HDR, DOF and other things that ogre will provide as an option (or I hope it will provide).

Either way it will speed up the GE quite a bit.

Thanks for the advice Social! I’ll start again from scratch and try to use the method you gave me. Its hard to keep a good balance between detail and polygons but i guess you just have to be tricky with the texturing.

And so Venomseven learns the secret of the 6th gen consoles’ graphics.
No, really, when I started modeling I always wondered how the hell the real people making video games could create such good graphics with a limited polygon count. Not counting things like LOD and VIS, you need to be skilled at using textures and lighting.
And not forget to recalculate the normals too once in a while.
Shame you’re going to remodel that roof. I liked it!

BTW: charge the battery of your laptop; it’s nearly dead! :eek:

if you show debug properties or your framerate and profile, It’s really amazing how slow blender gets.

The polygon limit depends on the hardware and the GPU, getting slow at 1000 triangles doesn’t happen on my PC.

I tried the OGRE snapshot earlier and made a 52,000 poly lit and textured fractel subdivided cube and it ran at 45 FPS

You can raise the polygon count of a level by clever optimization by not rendering geometry objects when they’re not seen, since this is a racing game you can have checkpoints on the track which will swap out one rendered mesh for another or make the rest invisible so they’re not rendered.

Collision also takes up framerate, turn off collision for all faces you know will not be collided with.

I suggest this:

Join together all static objects

Remove doubles

Turn off collision for all faces that don’t need it

Use small textures

Use texture for detail, not modeling

Don’t use ray, near, or radar sensors unless you absoloutely have to

Use physics sparingly

Go for python instead of LogicBricks

Get the latest GFX drivers

Get the latest hardware

Afaik, the BGE already uses BSP by default. So basically anything that is off screen at any given moment will not be redrawn by the renderer, until it appears on screen again. So there is no need to write a script for that.

Usually optimization requires nothing more than balancing the poly count, with the overall geometry quality. If you absolutelly need to have more complex (higher poly objects) in your game, than you can still have them, as long as everything else is reasonably low poly.

That, or you can write/use an LOD script, which should work just as well, if not better.

I just tried the game on my uncle’s computer and it runs fine = ) The only thing is i dont come over here often so after it gets a slight makeover (i still wanna keep the dome shape but i will use planes for the pipes) if it still dosnt run decently enough to develop further im going to just wait until i buy a new computer.

How many sides do you have for the pipes?

Usually 4 or 5 sides with set smooth on can give an illusion of roundness. (i’m using 5 sides for rails in my marble game)

Don’t delete your lovely roof just yet! Make it into a normal map and use that in the GE. (There’s a few example .blends, just look around!) I’ve done this before, it looks great!

http://feeblemind.tuxfamily.org/dotclear/index.php/2005/08/23/43-tutorial-blender-and-normal-maps

I like to model some stuff in high detail, then still use it in the game engine without too much slowdown.

I would reccomend making a fallback 2d texture of the roof incase the graphics card doesn’t support shaders. That way the people that have good hardware can play your beautiful game, and the people with older stuff can still play it at good speeds but it won’t be as beautiful.

No, BSP is a method of subdividing the level into nodes that represent certain areas. If BGE used BSP, it would have to calculate the BSP tree before you could play your game. The technique you are thinking of is frustum culling, which is a way to only draw objects on the screen. Blender has been using this since 2.34 I believe.

I never heard of the GE’s culling system being called BSP and the Blender change logs specifically say frustum culling. If you have a box for instance and there’s complex inside geometry inside of the box it will still render what’s inside when looking at it from outside. A solution is keeping the inside geometry from being rendered when outside and only rendering it when inside. Don’t forget collision faces take up framerate too.

All games old & modern have fairly low-poly counts, what they do is create the illusion using textures. Which then is improved with Bump-mapping.

With your very detailed window you could easily remove the Window frames and replace them with textures representing the Window & frame. And with the actual cyclinder support, you could reduce the amount of poly’s making it smooth & take a few of the cylinder supports completely out.

The same with your glass fencing, could easily be repalced with a plane & a Window & frame texture.

If its being used in a racing game then all your detail goes to waste unless the player decides to slow down just to look at it.

All your indentations can be easily faked using shades on textures & your gaps at the bottom can be faked with a “vent” texture.

Then you would have a drastically improved frame rate.

Ahh, blah, yes of course, frustum culling. BSP was just stuck in my head for some reason.

Thanks for the correction bacon.

heh no problem social :slight_smile: these confusing computer terms…bleh

sorry for being off-topic venom.