FB1 Profile

British English

Armour

American English

Armor

Introduction

Prerequisites

Readers are required to read and use as a reference the Ground Zero Format GZF Standard version 1.1. The GZF standard describes the basic formatting rules to be followed within a GZF compliant file and describes the notation that this document uses to define the Full Thrust Fleet Book Volume 1, game profile rules. The GZF standard contains a description of the general concepts within a GZF file and their general application. A working knowledge of its contents is prerequisite to understanding the FB1 profile.

Scope

This document describes file encoding rules for the transfer of FB1 game data between players and applications. The encoding is known as a game profile. The game profile attempts to describe various models that can be used to hold game state and system design information in a common way.

From the GZF standard the concepts of block-types are used to describe the important elements in an FB1 game. This as always is a matter of data abstraction, which is reducing a game object, to those essential parts, which are required for playing and designing in the FT universe. The FB1 game profile also adds user defined fields to the GZF header block.

Association

This profile expands the concept of component association. This is the way that a contains relationship is modelled in the file format, for example a Class 1Battery is a component of a Ship as the Ship contains the Class 1 Battery. This component relationship is modelled by the association of different block-types in the file or by a foreign key field.

Association by simple file order, is for absolute relationships, where there is no ambiguity in the association. As block-type B follows block-type A in the file, and these two block types have a defined absolute component relationship, then block A always contains block B.

Example

Ship: EUS Huron

System: Class 1 Battery

System: Sensors

Ship: EUS Reliant

In this example, the relationship is defined that a Ship block type has an absolute component association to a Weapon block type and a System block type. All blocks that are of the required types following the Ship block are always interpreted as components of the Ship. The association continues until a non associated record is encountered (in the example another Ship block) or the end of the file. The one exception where the absolute association does not apply is when the component blocks appear before the owning block types. This allows for the case when weapons and systems can be defined as a generality and not in association with a specific ship instance.

The second form of component relationship is an optional relationship and this is modelled by the component block having a field that identifies an associated block( a foreign key field). As the relationship is optional the field may or may not exist or point to an actual associated block.

Example

Ship: Bogey 1

Fleet: Unknown

In this example the Ship has optional relationship with the Fleet block. In this case we don't know which fleet the bogey is in so the field doesn't point to an actual Fleet block.

The ordering of blocks is only mandated in the GZF standard for the header block to be the first block in the file. The FB1 profile expands this concept with suggestions of what should be a logical block ordering within an FB1 profile. Although these are not hard and fast rules they are strong recommendations. The recommended block order is the same as the order of the block specifications that follow.

In each block specification the first field is always the block type identifier and must be the first field in the block. All field names and defined field-body values are case insensitive. All field names and defined field body values are spelling sensitive. Spelling of common words will accept America and British English spellings and any parser must cope with both. This is the list of known exceptions:

Acronyms

Where the name of a FB1 is long and a common acronym exists the acronym willbe used. This is the list of known acronyms in use in this profile:

GZF User Defined Extensions

This profile adds two user-defined extensions to the GZF header block.

General Field Descriptions

This section defines some common fields and data definitions which are used in the specific block field definitions

Scenario Block

Example

Scenario: Playing With Fire

Turn: 9

Location: Mars

Date: 2257

Fleet Block

Example

Fleet: Earth Alliance

Admiral: Clarke, traitor@scum.com

Morale: 60%

Fleet: Shadow

Admiral: Morden, shadow@everywhere.com

Morale: 100 %

Ship Block

Example

Ship: HMS Thor

Class: Arapaho

Captain: Tim Jones

Fleet: NAC

Position-X: 79.1

Position-Y: 23.4

Velocity: 4

Course: 45

Facing: 6

Mass: 12

Thrust-Rating: 6

Thrusters: 3

Armor: O

Damage-Track: O *

Movement-System: Vector

Move: MD2 TP2 MD4

Orders: Fire both class 1 batteries at ESU Zorin

Log: In nebula cloud

System Block

Systems are the general term for the equipment on the ship. Weapons are a subclass of a ship's systems in that they have firing arcs and can cause damage. It is recommended that the weapons systems are grouped together.

Example

System: Class 4 Battery Firing-Arc: F Status: Inactive Damaged System: SML Firing-Arc: FP F FS Magazine: Mag1 Status: Active Log: 15 damage pts on Dionysus System: SMM Status: Active Magazine: Mag1 Ammo-Type: ER Capacity: 6 Rounds: - O Log: System: Enhanced Sensors Status: Active System: Power Core Status: Active Damaged Failure: 3 System: FTL Capacity: 6 Status: Inactive System: Hangar Bay Fighter-Type: Fast Interceptor Pilot-Quality: Ace Status: Launched Destroyed Log: Launched turn 6

Fighter-Group Block

The fighter-group block is used to describe a launched fighter group.

Example

Fighter-Group: Rudel Craft: - - - - O O Type: Heavy Attack Quality: Ace Position-X: 53.0 Position-Y: 35.0 Endurance: - - O O O O Screening: EAS Agrippa Carrier: EAS Theseus

Launched System Block

This is used to represent any system that has been launched from the carrying ship, this may be for example a missile, mine or nova-cannon

Example

Launched-System: Ms-1 Type: EMP Missile Position-X: 60.0 Position-Y: 73.9 Course: 12 Detection-Range: 6 Endurance: - 0 0 Launched-System: SLM-9 Type: Standard Salvo Position-X: 60.0 Position-Y: 73.9 Detection-Range: 6

Base Block

This is used for a base installation. It may be a simple self contained unit or composed of Base Sectors.

base-block

base

base

[class]

[hull-type]

[mass]

[cost]

[captain]

[fleet]

[status]

[course]

[facing]

[velocity]

[position]

[armour-track]

[damage-track]

[payload-track]

[orders]

[log]

*CRLF

[ *system-block / *base-sector-block ]

"Base" ":" text

base either has systems like a ship or is composed

of sectors each of which is like a ship

base indentifier eg Babylon 5

Example

Base: Babylon 5

Class: Babylon

Captain: Sheridan

Fleet: Earth Alliance

Position-X: 79.1

Position-Y: 23.4

Mass: 900

Damage-Track: --------- --------- --------- ---OOOOOO OOOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOOO OOOOOOOO OOOOOOOO OOOOOOOOO OOOOOOOO OOOOOOOO

Orders: Launch Rudel Group, Launch Baker Group

Log: 3 damage pts from Coeus turn 2, 2 damage pts from Montana turn 4

Base Sector Block

This is an absolute associated component of a Base Block, it can have absolute associated component System Blocks.

base-sector-block

base-sector

base-sector

[mass]

[cost]

[armour-track]

[damage-track]

[payload-track]

[orders]

[log]

*CRLF

[*system-block]

"Base-Sector" ":" integer

Weapons located in sectors use the sector firing arc:

and don't have or use their own firing arcs

Sector firing arcs are arbitrary and depend on the base

SSD

base sector indentifier eg 1

Example

Base-Sector: 1

Damage-Track: ---------- -----OOOOO OOOOOOOOOO

System: FCS

Status: Active

System: FCS

Status: Damaged Inactive

System: FCS

Status: Repaired Active

System: Class 1 Battery

Firing-Arc: FP F FS

Status: Active

Log: 1 damage pt on Dionysus

Terrain Block

This is to hold the more general sort of terrain such as asteroids, moons and planets.

Example

Terrain: Ceti Alpha III

Type: Planet

Position-X: 100.2

Position-Y: 66.8

Diameter: 24.0

Feedback on using this standard

Last Updated 12th June 98

1