TECHNICAL DETAILS ON THE SIMULATION ENGINE BEHIND TBG’S
REAL-TIME COMBAT SIMULATOR
PHYSICAL OBJECTS
All tangible objects in the game are called “PhysicalObjects.”
This includes anything that plays a role in the game’s physical
simulation. For example, vehicles, rocks, trees, projectiles, and
buildings are all PhysicalObjects. Some examples of objects in the
game world that are not PhysicalObjects include puffs of smoke and
small pieces of debris that litter the ground. These are not PhysicalObjects
because they do not play a direct role in the physical simulation.
PhysicalObjects are hierarchical. A PhysicalObject may have any number
of other PhysicalObjects attached to it as children, and in turn those
children may have their own children. A PhysicalObject is attached
to another PhysicalObject via a “joint”, which constrains
the relative positions of the two objects. The following types of
joints are modeled:
- Hinge joints
- Ball and Socket joints
- Slider joints
- Suspension/Steering joints
For example, the chassis of a wheeled vehicle might have 5 children:
4 wheels and a turret. The wheels would be attached to the chassis
via Suspension/Steering joints and the turret would be attached to
the chassis via a hinge joint. The turret might have a single child
of its own: a gun attached to the turret by a hinge joint. In this
example, there are 6 PhysicalObjects comprising a single vehicle.
PhysicalObjects have hundreds of properties, but the most important
ones are:
- Mass and Moment of Inertia.
- Total Armor Density – regardless of the actual material
that comprises the object, this value is in the unit of measure
of “millimeters of steel” – it tells us the equivalent
number of millimeters of steel that an object’s skin provides.
A 3D map of these armor thicknesses is supplied for each PhysicalObject
(allowing them, for example, to have more armor on their “front”
than on their “sides” and “rear.”)
- A listing of InternalComponents, as described below.
- Coefficient of friction for contact with ground and other objects.
- 3D map of the object’s surface to be used for projectile
collisions and penetration.
INTERNAL COMPONENTS
PhysicalObjects may contain any number of embedded items called “InternalComponents.”
These are items of interest that reside inside of the PhysicalObject,
such as engines, ballistic computers, gunners, drivers, fuel tanks,
ammo magazines, etc. When these items are inside of a PhysicalComponent
and are functioning correctly, they imbue the PhysicalObject with
capabilities that it wouldn’t otherwise have. For example, a
ballistic computer inside of a turret allows the turret to automatically
calculate trajectories for its guns. If the ballistic computer is
destroyed, then the turret loses this capability.
InternalComponents have an actual position and size within the PhysicalObject
that they are within, a rating of the component’s “toughness”
and tendency (if any) to burn or explode when hit by a projectile,
and certain properties related to its GUI display for a user who may
be in control of the PhysicalObject containing that component.
To
view some vehicle internal component schematics, click here!
PROJECTILE PENETRATION AND DAMAGE
When a projectile strikes a PhysicalObject, the engine first calculates
whether or not the projectile is able to penetrate the object’s
armor. If the projectile isn’t able to penetrate, then it will
either ricochet off of the armor (potentially hitting something else
afterward) or it will explode, depending on the type of projectile.
If it does penetrate, the effect of the penetration is modeled in
detail.
The decision about whether or not a projectile penetrates is based
on 3 factors: the projectile’s penetrating power, the thickness
of the armor being penetrated, and the angle at which the projectile
has struck the armor, each of which is covered below.
PENETRATING POWER
There are 3 types of projectiles modeled by the engine:
high velocity armor piercing slugs (AP), high explosive anti-tank
(HEAT), and high explosive (HE.) Artillery and mortars combine multiple
projectile types in one attack (their blast is modeled as HE and their
fragmentation is modeled as a high number of small AP projectiles.)
Each type of projectile has its own means of penetrating armor.
AP projectiles have a penetrating power that is dependent on the projectile’s
velocity. These munitions are simply dense, heavy slugs that use kinetic
energy to kill their targets. The projectiles have high penetrating
power at short range, but gradually lose penetrating power as they
fly through atmosphere because air drag slows them down during flight.
Their penetrating power is therefore highly dependent on the atmospheric
density of the scenario being played. With little or no atmosphere,
AP rounds can kill at extreme ranges. In high density atmospheres,
however, these projectiles lose penetrating power very quickly.
In contrast, HEAT and HE projectiles have fixed penetrating power
that doesn’t change over distance. These types of projectile
derive their penetrating power from explosive warheads. HEAT rounds
are shaped charge warheads that spray hot plasma in a forward-facing
cone when they explode. This configuration is ideal for penetrating
as much armor as possible but severely limits the warhead’s
area effect. HE rounds rely on concussion and fragmentation to cause
damage in a wide area, though it has little chance of ever penetrating
well armored targets, even in the case of a direct hit. Both HEAT
and AP rounds are generally less accurate than AP simply because they
fire at much lower velocities.
In summary, AP rounds have the highest penetrating power, at least
at short ranges. Depending on the scenario’s atmospheric density,
at some range HEAT rounds will become more effective than AP. HE rounds
are best used against soft or scattered targets.
ARMOR THICKNESS AND ANGLE
The penetrating power of a projectile must be greater
than the Effective Armor Thickness of the target in order to penetrate
its armor. The Effective Armor Thickness is determined by the actual
thickness of the target’s armor at the impact point and also
by the angle at which the projectile is striking that armor.
If a projectile hits a slanted surface, then it must penetrate more
armor than if it had surface at a perpendicular angle. Therefore,
the more “sloped” the impact point is on the target, the
higher the Effective Armor Thickness will be.
These calculations of penetration normals by projectiles
against armor are done on the literal triangles that you see rendered
for the unit itself. Therefore, that nice sloped glacis on the front
of the Paladin really does help it survive. When you're shooting at
a Paladin, you might see your shots bouncing off of its glacis up
into the air, but if you lower your aim a little to the flatter area
under the glacis, you might find that those same projectiles are now
penetrating and doing damage. This is because you're hitting the armor
at a more perpendicular angle, so you have less armor to penetrate.
EFFECTS OF PENETRATION
When a projectile penetrates a unit's armor, the simulation
actually traces its path through the interior of the PhysicalObject
to see which, if any, InternalComponents are hit by the projectile.
Every InternalComponent has a "Toughness Factor" and projectiles
have their own "Direct Kill Factor" (this value is different
for each type of projectile.) These values together decide if the
projectile damages, kills, or fails to significantly harm an InternalComponent
that it hits.
In addition to this kind of direct kill, projectiles which penetrate
also cause fragmentation damage. Each type of projectile has a "Fragmentation
Factor." This factor combined with the amount of armor that was
penetrated determines how much fragmentation is caused by the projectile's
entrance into the interior of the unit. Fragmentation will usually
only damage the squishy InternalComponents, such as drivers and gunners.
It can damage InternalComponents that are not directly in the projectile's
flight path (but they still need to be relatively close to the flight
path.)
Each InternalComponent and each type of projectile also have their
own "Burn Factors." For example, fuel and ammo magazines
have high burn factors, engines have a very low one, and most other
components have zero. Based on the burn factor of the projectile and
the InternalComponent being hit, there is a chance that the unit will
be ignited and burn, and a smaller chance that the unit will catastrophically
explode.
Also, AP projectiles with extremely high velocity have their own chance
of igniting a PhysicalObject that they penetrate due to kinetic friction.
This ignites the unit regardless of which InternalComponents are hit.
ION BEAM WEAPONS
Ion beam weapons use a particle accelerator to speed
up heavy ions to a sizeable fraction of the speed of light and then
hurl them at a target. The resultant energy transfer heats the target
up enough to vaporize metal. In practice against armored targets,
this means that one must steadily hit the target in the same area,
ablating away layers of armor by vaporizing it, digging into the armor
until the beam is able to reach into the interior of the target. At
this point hits on the target will be totally catastrophic - you're
now pumping millions of charged ions at astronomical speed into the
interior of the vehicle where transferred energy is unable to escape
effectively from the inside of the hull. The target generally blows
up and at least suffers greatly.
This means that ion beams, unlike normal projectiles,
deal lasting damage to a target on each hit (even hits which don’t
penetrate) because it ablates away some of the target’s armor
in the area that was hit. Future hits in that area, even by conventional
projectiles, will have less armor to stop penetration. Contrast this
with conventional projectiles where, if the projectile fails to penetrate
the target, no lasting damage is done.