Bridge Command - Scenarios

Introduction

Bridge Command is built around the principle of 'Scenarios,' and loads one at the start of each session. The scenario sets the scenery area loaded, the other vessels in the simulation and the vessel simulated. It is essential to load a scenario when starting Bridge Command, but the scenario itself can be extremely simple or very complicated.

Bridge Command comes with a scenario writing programme, which automates the process of scenario writing, so you don't need to worry about the technical details of each file if you use this editor. This writer is documented here. Below is the full technical specification of the scenario format.

Specification

The files that make up a scenario are text files. Each scenario is stored in its own folder under the Scenarios folder. This folder is itself in the main Bridge Command folder, so if you have a typical installation and Bridge Command is installed in C:\Program files\Bridge Command 4.7GPL, then a scenario named 'Test Scenario' will be stored in C:\Program files\Bridge Command 4.7GPL\Scenarios\Test Scenario. The scenario files can be edited with a text editor (as distinct from a word processor), such as the Windows programme Notepad. This comes on all computers running Windows, and can be started from the Start Menu, by going to the 'All Programs, Accessories' submenu and clicking on the Notepad icon. An alternative method of starting notepad is with the Windows 'Run' command, again on the start menu, and typing notepad and then clicking OK.

Each scenario is made up of four text files, named
To get a feeling for how the scenarios work, it's probably best to start of by experimenting with an existing scenario, and modifying it. This should help you get to grips with what's involved than just reading the specification below, though it will be useful to understand the details of how things are defined.

To copy an existing scenario to experiment with, copy the entire folder for that scenario, and rename it as something else. Then you can modify the scenario as much as you want without losing the original.

Environment.ini

This defines the scenery loaded, along with its tidal and magnetic characteristics.

Example

Setting="SantaCatalina"
StartTime=7.25
StartDay=28
StartMonth=2
StartYear=2009
SunRise=8.817
SunSet=16.8
Variation=0
VisibilityRange=5
Weather=0.5
WindDirection=90
Rain=2
You will notice that textual settings, such as SantaCatalina are enclosed in quotation marks, while numerical ones are not. This is the general principle in all files.

Line by line analysis

Othership.ini

Bridge Command allows you two ways to control other vessels in the simulation. This file allows you to set up ships with a pre-planned track, which can have many legs as required. You can also set up ships which can be controlled as the scenario is run with the Map Controller, a programme which is distributed with Bridge Command, and is documented here.

The first line sets the number of vessels that will be loaded, so if you want a simple scenario with no other ships, this file just contains one line:
Number=0
However, if you want to load one or more other vessels with pre-planned tracks, the format is as below

Example

Number=1

Type(1)="HMAS_Waller"
InitialLong(1)=-118.486
InitialLat(1)=33.385
Legs(1)=2
Bearing(1,1)=190
Speed(1,1)=10
Distance(1,1)=1.5
Bearing(1,2)=190
Speed(1,2)=0
Distance(1,2)=1
In this case, one vessel is being loaded, hence Number=1. For each vessel loaded, the same setting are used, so the setting name is followed by the vessel number in brackets, with no additional spaces.

Settings

To make the ship move, a route is set made out of one or more 'legs' of set length, bearing and speed. As each can have many route legs, now a double number is added to the end of the setting name in brackets, the first number being the vessel number, and the second the leg number. These are separated by a comma, and there is no space between them. Therefore Bearing(1,2) is the bearing of the second leg of the first vessel, whereas Bearing(3,1) is the bearing of the first leg of the third vessel.

Route

For each leg, the following settings apply:
Note that after the last leg, the vessel stops and faces north (i.e. goes onto a course of 000° with a speed of zero. To keep the vessel pointing in the required direction, you can add an extra leg onto the end of the route, with the required course, a non-zero length but a speed of zero. The vessel will remain stationary, facing in the required direction indefinitely. Remember that this leg needs to be counted in the number of legs set.

Controlledship.ini

This file sets up the vessels loaded into the scenario, which can be controlled by the Map Controller when the scenario is run. Since the Map Controller sets the vessels course and speed, you just need to set the vessels' types and initial positions. If you don't want any controlled ships, this file can contain the one line:
Number=0
However, if you want to load one or more other vessels, the format is as below

Example

Number=2
Type(1)="Timbercarrier"
InitialLong(1)=-118.509917
InitialLat(1)=33.412467

Type(2)="Protis"
InitialLong(2)=-118.509833
InitialLat(2)=33.425133
In this case, two vessels are being loaded, hence Number=2. For each vessel loaded, the same setting are used, so the setting name is followed by the vessel number in brackets, with no additional spaces.

Settings

Ownship.ini

This sets what vessel to load as your own ship, and some of its characteristics.

Example

ShipName="ORP_Jaskolka"
InitialLong=-118.49
InitialLat=33.38
InitialBearing=339
InitialSpeed=15
HasGPS=1
gpsDecimals=3
HasDepthSounder=1
MaxDepth=50
HasDeviation=0

Settings

Description.ini

The simplest file, just a plain text file of up to 12 lines in which you can describe the scenario. This is displayed when the user is selecting  which scenario to load. This file is not strictly required, but useful if you want to put in some information for the scenario user. Each line should be a maximum of 57 characters for all of the content to be visible.

Example

Off Santa Catalina island

Objective.ini (Optional)

This sets any objectives for the scenario. Objectives can be set to come within a specified distance of another vessel, buoy, or fixed location. This file is optional.

Example

Number=2

AvoidCollision=1
targetType(1)=3
targetID(1)=67
targetMinDistance(1)=15

targetType(2)=4
long(2)=-9.98701
lat(2)=50.01
targetMinDistance(2)=20

Settings

Conclusion

If you have any questions, please ask the author - send me an email.