Latest File Releases: Mark IV Engine

Sunday, 27 January 2008

Textured T-28


This one is a low-polygon test model <2500 triangles. I'm getting quicker at texturing them - I've started to do a bit of shading in the right places to add depth/aid perception and some little details (yellow stains etc.) to make it look more like a roughly used bucket of bolts.

Friday, 25 January 2008

Bones, XML, and Three-Headed Monsters

I'm replacing the original Scene-Node Hull-Turret joining system with a new one-mesh bone-based joining system, which allows the engine to control all of the gun pitches, turret yaws, and simplifies relative rotation.

This means an upgrade of the vehicle specification file format to a new XML-based VEH file format. This will be a little more difficult to edit manually, and requires an XML parser in the engine (which will add some complexity and possibly another required library).

To thrash the new system, and ensure that a fully-supportive feature set is developed, I have built this; the Three Headed Monster - the three turreted T-28 medium infantry support tank of the Red Army. If the engine can handle this, it can handle anything.

Saturday, 5 January 2008

New: Projectiles

I have been tinkering with basic projectile physics. So far I am actually tracking tank shells as 3D objects. In the previous simulation project, I approximated projectile motion without actually tracking a projectile in real time, which saved a lot of CPU, but was less accurate. This time I wanted to do better.

For testing, it is nice to visually see the projectiles (pictured) to make sure that they are following the correct path, and have the correct pitch (which will be used for armour penetration calculations later on).

At longer ranges (>1km) tracking the projectile over time allows us to simulate realistic flight delays, and have realistic collisions, but costs some CPU.

I'm not sure if this would be worthwhile to draw the projectiles in the final simulation as you can hardly see them at around 500 meters per second or faster. It would be nice if you could see them, however, so I'll try adding some special smoke effects to the tails of the shells and watch the results (if there is enough smoke on the tails, you should be able to observe the projectiles' paths at the longer 1-2km ranges). Even if this doesn't look great, I'm sure it will come in handy for slower projectiles at a later stage.

I haven't finished the projectile system yet, however. Working out the global pitch of guns in OGRE3D is very difficult (it was much easier in plain Direct3D). I'm tracking the local pitch of the vehicles to work out balancing on the terrain, but after taking left-to-right roll into account this doesn't give an accurate 3D world pitch of the gun. It is even more complicated for guns mounted on turrets, which must work out the pitch of the turret as well. There must be a way to extract this information from OGRE3D directly (as it would be a big pain to calculate manually). I will do some digging.....

Other areas not yet built into the projectile system:
* collision detection, which will cost a LOT of CPU (raytracing against terrain and nearby objects every frame or so).
* special effects (smoke trails)