Max Poly Level

Blitz3D Forums/Blitz3D Beginners Area/Max Poly Level

Ross C / LiamShearer,

Yes it is a fact and you are right to be cautious where bones and characters are concerned with Blitz.

I would like to let you know that on a dedicated rig, it is possible to have more than 30 characters, and using clever code you can swap these out where necessary like guards in an fps game).

I have had something like between 40 - 50 characters, with between 21 and 30 bones, each character with high res textures and something like 3,000-4,000 polygons, all animating, all running about nicely and in a pretty nice landscape too. All the characters were independent, following their own intelligence algos and I have to say looking pretty cool. Client confidentiallity prevents me from posting images unfortunately.

The extra problem Liam may face is networking traffic with all these characters, I have never attempted that although that sound like a cool idea to test!

I agree with RossC here again, 800,000 polys is a lot to ask in one render from Blitz if you want smooth gameplay and framerates.

However by dividing up your level into smaller chunks and using your own simple sort of 'portal' or culling system might help.

By that I really mean by turning off stuff which you cannot see and designing your levels in such a way as to keep the poly count visible to the camera always to a minimum, your levels could almost be endless (memory providing of course). You need to use a combination of tactics.

The secret is in loading everything into an array or type which you can access very quickly and switch on or off depending upon what the camera can see.

(1) using clever design and breaking levels into small chunks will allow you to have only the necessary sections available to B3d to render (i.e. hide the rest using the Entitydistance and Hideentity/Showentity commands). You only need to hide stuff infront of the camera as the rest (if they are loaded as separate meshes, won't get rendered if they are out of the camera view, so you can pretty much ignore them).

(2) Use a camera range which can change to refelct the section of the level you are in, as you can alter it on the fly. Where you need a vast emtpy field open the camera range up, when interiors are small and cosy, close it down and have more detail.

(3) Use textures no bigger than 1024 x 1024 and try to use DDS where posisble (look around the forum for informaiton on compressed textures it may help keep the quality of your levels very high).

(4) re-use animation sequences, by that I mean build one type of animating character and simply re-texture him where possible for all the different characters you need. By adding bits of additional accessories where necessary you can make them seem like individuals. When it comes to animation sequneces simply use the same set of animations for all the characters which have the same characteristics, bone count and names, i.e. a squad of soldiers only needs one set of animations, which every animating character mesh can share between them.

(5) Lightmap stuff instead of using real-time lights.

Hope some of this helps.

IPete2.