Training Grounds

Issue #210 resolved
Justagai created an issue

Each Platform in the training ground is an object. There are many different types of platforms which hold different placement of gates and targets. Pictures of the different platforms are shown at the bottom.

The values associated with the Training grounds objects follows the same standard as normal objects and goes like this:

In memory:

  • Object Class: 14 (Training grounds platform)
  • Object type: 202 to 210 (decimal)
  • Rest of the object values apply
  • Gate Status: 0 means inactive, 21 = active, 53 = 1 Gate passed, 61 = 2 gates passed, 63 = all passed(edited)

When a platform gate status is active or above, the object is shown on the radar to indicate to player that is the current platform to be passed

In a Mission file:

  • Object Type
  • IFF (not used)
  • goal/layout (used to determine the amount of targets on a platform)
  • Amount (used to determine if targets attack or not)
  • x, y, z,
  • pitch, yaw, roll

Target placement (Goal/Layout value in Mission file):

Every platform type has a different meaning for which bit represent which target.

For example one it seems that first two bits are first gate, second two bits are second gate, then last 2 bits are third gate.

Odd bits are the targets left of the gates, while even bits are the targets right of the gates.

We will need to go one by one, taking screenshots, and labeling every position with a number from 1 to 6 to match every target-bit mapping.

Or even editing the mission file to have all different gate types laying around with all different goal layout values.

For every gate, we have 6 of the same time, and then we assign to each of them one of these values in "goal": 1, 2, 4, 8, 16, 32 That would make 6 platforms, each with a single target at different positions.

Amount value (Determines if targets attack or not):

  • 0-1 = don't attack
  • 2+ = attack

This applies to all targets for that platform. They all attack or they don’t.

Reversed targets:

Some levels will have targets attack the player from behind. This is because the platform is reversed.

Dark platforms:

Some platforms are dark. It's dependent on their position/rotation relative to the light source.

Other info:

  • Destroying a target increases time by 2 seconds
  • Missing a gate reduces time by 15 seconds
  • Level 9 seems to be a repeat of level 8 (possibly the same for all levels above 8)
  • Platform object type values before 3A (58 decimal) will not load anything
  • 46 (70 Decimal) and above repeats the platform order but with a descending order until 6D (109 Decimal) (not always consistent, not used by any level either)

Comments (13)

  1. Justagai reporter

    Updated Training grounds platform pictures (actually readable now)

  2. Justagai reporter
  3. Random

    There are always 110 gates remaining when starting a training mission, no matter how many objects there are in the XWI file (it is correct for all official level files). When first starting a course, the Starting Platform (Type ID: 0x3A) (the one with the single gate) must be the first gate passed. This leaves 109 remaining.

    Each platform has its own corresponding object in the XWI file. A level has 36 regular course platforms, each with 3 gates for a total of 108. The final gate in the round is a full circle back to the Starting Platform. This triggers course completion. Will complete even if there are gates remaining. The engine will load the next mission in sequence (LEVEL2, LEVEL3, up to LEVEL8). The remaining gate counter is reset to 109. Turrets and mission clock are reset according to the loaded XWI.

    The Starting Platform must be the last object in the XWI object list. If not, flying through the first object will count a missed gate.

    Other objects (like mines, nav buoy) placed in a training course cannot be destroyed, but mines will shoot at you. The death of any ordinary FG craft (even if not your own) triggers the mission end.

    All turrets on a hostile platform will be activated if the player is within 400 meters of the center of the platform. Firing rate appears to be randomized, from rapid bursts to long delays. They have variable accuracy like mines, with a chance to miss. Firing rate and accuracy need further testing.

    Missed gates are not penalized until completing a gate in another platform (probably because gates in backward-facing orientations wouldn't be sequentially the same backward as forward). Missed gates will include any missed on the prior platform, and any missed platforms inbetween. Missed gates on the current platform will instead be counted when the next platform is activated. The ordering of platforms is dependent on the object order in the XWI file.

    XWI data:

    Starting Platform (0x3A)
    Number of craft: minutes on the clock
    Form/Objective: seconds (can be > 60)

    Other platform types:
    Number of craft: If > 1, indicates turrets are hostile.
    Form/Objective: Bitfield indicating which turrets are present.
    Okay so the exact bitfield varies based on platform. The only constant is that:
    0x3F = all 6 turrets enabled

    Object IDs: 0x3A,3B,3C,3E,3F,41,42,44,45 are used in official training levels.

    Bitfields for each platform:

    Platform 0x3B
    Bit 1 (0x01): back left
    Bit 2 (0x02): back right
    Bit 3 (0x04): middle left
    Bit 4 (0x08): middle right
    Bit 5 (0x10): front left
    Bit 6 (0x20): front right

    Platform 0x3C
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): middle right
    Bit 4 (0x08): middle left
    Bit 5 (0x10): back right
    Bit 6 (0x20): back left

    Platform 0x3D
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): middle right
    Bit 4 (0x08): middle left
    Bit 5 (0x10): back right
    Bit 6 (0x20): back left

    Platform 0x3E
    Bit 1 (0x01): middle left
    Bit 2 (0x02): middle right
    Bit 3 (0x04): back left
    Bit 4 (0x08): back right
    Bit 5 (0x10): front left
    Bit 6 (0x20): front right

    Platform 0x3F
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): back right
    Bit 4 (0x08): back left
    Bit 5 (0x10): middle right
    Bit 6 (0x20): middle left

    Platform 0x40
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): back right
    Bit 4 (0x08): back left
    Bit 5 (0x10): middle right
    Bit 6 (0x20): middle left

    Platform 0x41
    Bit 1 (0x01): middle right
    Bit 2 (0x02): middle left
    Bit 3 (0x04): back left !!
    Bit 4 (0x08): back right
    Bit 5 (0x10): front right
    Bit 6 (0x20): front left

    Platform 0x42
    Bit 1 (0x01): mid left
    Bit 2 (0x02): mid right
    Bit 3 (0x04): front left
    Bit 4 (0x08): front right
    Bit 5 (0x10): back right !!
    Bit 6 (0x20): back left

    Platform 0x43
    Bit 1 (0x01): mid left
    Bit 2 (0x02): mid right
    Bit 3 (0x04): front left
    Bit 4 (0x08): front right
    Bit 5 (0x10): back right !!
    Bit 6 (0x20): back left

    Platform 0x44
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): back right
    Bit 4 (0x08): back left
    Bit 5 (0x10): middle left !!
    Bit 6 (0x20): middle right

    Platform 0x45
    Bit 1 (0x01): front right
    Bit 2 (0x02): front left
    Bit 3 (0x04): back right
    Bit 4 (0x08): back left
    Bit 5 (0x10): middle right
    Bit 6 (0x20): middle left

    These observed locations are for the player perspective when viewing a platform with a "front facing" orientation. Front is the first gate of each platform.

  4. Random

    Here's the data I gathered on the firing rate and accuracy of the guns.

    All gun turrets share a single global cooldown timer in memory. 59 units per cycle (subtracts 8 per frame) for an actual cooldown time of 8 frames (256 ms real-time). When the cooldown is finished, each active gun has a chance to fire, and the cooldown is reset (even if no gun is fired).

    For every active gun, there is a 1/8 (12.5%) chance to fire.

    Here is the accuracy at each range (hits / shots fired).

    100 meters: 3043 / 3282 = 92.71%
    200 meters: 2530 / 3265 = 77.48%
    300 meters: 2136 / 3292 = 64.88%
    400 meters: 1673 / 3268 = 51.19%

    The test was conducted with the player craft stationed above a platform (ID: 0x3B) at the exact distance from the direct center of the platform. A single middle-gate turret was active and firing. The turret is slightly to the side of each gate, but the laser fires from the top side of the gun. The distance fired is very close to estimate, but not exact.

  5. Log in to comment