Every TA unit needs three parts: FBI (definition), 3DO (model), BOS/COB (script).
1. The FBI file
A plain text file with key=value; lines. The most important fields:
[UNITINFO]
{
unitname=FLASH;
name=Flash;
description=Fast Attack Vehicle;
buildcostmetal=135;
buildcostenergy=705;
buildtime=1890;
maxdamage=420;
LOSight=390;
weapon1=EMG;
badtargetcategory=NOTAIR;
movementclass=TANKSMALL;
...and so on.
}
buildcostmetal/energy+buildtime→ balance.maxdamage→ hit points.weapon1..3→ references to weapons defined in weapons.tdf.movementclass→ which terrain type the unit can traverse (from movement.tdf).
2. The 3DO model
Cavedog’s proprietary 3D format. Tools like UpSpring or older 3DO converters import from 3DS/OBJ models. Important: pieces (movable parts) must be named, because the BOS script addresses them by name.
3. The BOS/COB script
BOS = source language, compiled to COB. Controls:
Create()— initializationStartMoving()/StopMoving()— driving soundsAimFromPrimary()/AimPrimary()— weapon aimingShot1()— firing, effectsKilled()— destruction animation
Example (schematic):
FlashPiece torso, turret, gun;
Create() {
hide gun;
show turret;
}
AimFromPrimary(piecenum) { piecenum = turret; }
AimPrimary(heading, pitch) {
turn turret to y-axis heading now;
return TRUE;
}
Installation
- UFO file (or individual files packed into an HPI) into the TA folder.
- If it’s a new unit category: extend the side patch /
unitslist — details on File Universe under “Third Party Units Anleitung”.
Balance tips
- Always start from existing units as reference (copy Flash stats, then adjust).
- DPM = damage × rate of fire → compare against cost for rough fairness.
- Don’t overdo LOSight — see the LoS bug (max. 288px without patch).
Sources
- Unit Creation Tutorial (TA Universe)
- File Universe: tools like BOS compilers, UpSpring, FBI editors.