Which model format would you use for this?

Blitz3D Forums/Blitz3D Programming/Which model format would you use for this?

OrcSlayer(Posted 2007) [#1]
Basically what I have going is this:

There are two teams lead by a single field commander (the player character and your AI opponent). They can spend points to create replicant troops which automatically try to advance and take enemy territories. This game mode is similar to one in a somewhat obscure title from 1998, Future Cop. It was full 3D and the player was able to create up to 40 units at a time, I believe, though the units you could create were basically unanimated, compared with the walker the player controlled.

So, say I want to do this with animated humanoid models. They don't really need to be that detailed...only as much as the average RTS (think between Warcraft 3 and C&C 3). But, from what I understand...this is STILL way to much to handle with B3D format, as the bone animation multiplies your slowdown exponentially with each additional animated entity...

So, this leaves three animated formats, MD2, 3DS, and X. I would like to rule out MD2 altogether to begin with...the lighting support is atrocious. I know very little of how animated 3DS and X files work in Blitz...and have no clue if they would be able to do what I need.

I suppose I could create the field commander as a B3D mesh, for better detail, and have the mass production units use one of the other formats, so they wouldn't totally kill the framerate. Anyone have an opinion on the best way to go about this, or is there just no way to realistically manage up to 100 animated low-poly troops at once using Blitz3D?


Rob Farley(Posted 2007) [#2]
I didn't think Future Cop was obscure! Was a great game though.

Personally I use B3D for everything. I would suggest just doing a few tests, 40 animated meshes doesn't sound too much to me, but then it depends what else is going on. Just try it and see, its easy enough to swap out models formats afterwards if the frame rate is pants.


Matty(Posted 2007) [#3]
As you are probably aware, different machines can handle different polycount/bone counts/surface counts etc. In a way you may need to decide what you want your minimum spec machine needed to play the game smoothly/enjoyably.

I can only give you advice based on the two machines I own:

Assuming you want 40 animated models at RTS level of detail then:

On my 500Mhz AMD with Geforce 2MX - stick with 2d (obviously you are not going to use something like this but felt I'd add it nonetheless - you couldn't even get away with 40 static meshes on that system with a sum polycount of over 5/6000 polygons in blitz3d)

On my 'new' laptop (bought in June 2005 with what would be considered top of the line specs in say Dec 2004 for a laptop) I can have, multiple hundreds of md2s as long as they are below around 300 polygons all animating and in view whereas I can have roughly half the number of boned b3ds with similar polycounts and really low numbers of bones.

More realistically in a game situation where there is a static mesh level/terrain and particle effects, (ignoring more complex physics for now as I don't know if you'd use/need them) I can get away with about 15 boned animated b3d models running around a level at a decent frame rate, push it past say 30 and the frame rate will really plummet (if they are all animating and on the screen - you may notice also though that if they are animating and not on the screen it is more of a performance hit than simply removing them from play and using a pivot to represent their position until they come back into view/near view). Md2s will increase that number to around 25-50 depending on their polycount. However my laptop will probably not play any games released in the last 6 months - although I've not tried many on it, it will however play Doom3 and Dawn of War at an acceptable frame rate on low/medium settings.

I've never seen an animated 3ds model and know little about getting x models in animated format into b3d as x files


OrcSlayer(Posted 2007) [#4]
Hmmm...pretty much what I was afraid of. It seems quite obvious that if I want decent detail (300-500 polies) on the mass produced troops, I cannot use B3D under any circumstances.

I don't plan on this game running on really old/underpowered rigs, but then again I don't want it to need top-of-the-line hardware to run. Oh well, this was really a hypothetical question for a project I plan to do in the near future. I may have to just go with another engine when I reach that point, as much as I hate to...unless 3DS/X can work for my needs.

Anyway, thanks for trying guys. I'll see if I can dig up anything else...


Carrot(Posted 2007) [#5]
There is another option that I've used before, and that is to use static meshes for say, 90% of the troops and animated meshes for the rest.
The trick is to keep switching the 10% that are animating and it gives the illusion that all the troops are animated.
This will only work if you don't need all the troops animated at the same time.


Rob Farley(Posted 2007) [#6]
Hmmm...pretty much what I was afraid of. It seems quite obvious that if I want decent detail (300-500 polies) on the mass produced troops, I cannot use B3D under any circumstances
And you conclude that from one person telling you that his 'new' system (of which no specs were described) said over 30 on screen at a time would make the frame rate (which was not noted) plummet.

The Future Cop scenario probably has no more than 10 units on screen at one time anyway.

As I said, and I will reiterate... Do some tests yourself and see how it performs.


OrcSlayer(Posted 2007) [#7]
Well, I've tried with fairly low polygon B3D meshes and quickly have a steady framerate of 60 plumet to 20-15 (though it looks even worse) with as few as 15 meshes (that would be about 500 polies each and very few bones). And my computer can run Half Life 2 on full detail with very few jerky areas...

You would easily be able to see this many meshes as the troops are being produced...especially near the team bases.

It may just not be a good idea with Blitz, unless I do it with MD2 models. I suppose that could be possible, since I have to realise that I can use high res textures on them. In fact, it may not even look half bad...