Bridge Command - Scenarios
- Introduction
- Environment.ini
- Othership.ini
- Controlledship.ini
- Ownship.ini
- Description.ini
- Objective.ini
- Conclusion
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.6GPL, then a scenario named 'Test Scenario' will be stored in C:\Program files\Bridge Command 4.6GPL\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
- Environment.ini
- Othership.ini
- Ownship.ini
- Description.ini
- Objective.ini
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"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.
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
Line by line analysis
- Setting: This selects which world area to load. This is the name of the folder containing the world model, typically in C:\Program files\Bridge Command 4.6GPL\World. The world area you load must exist!
- StartTime: This is the time at which the scenario starts, in decimal hours (24 hour clock). Therefore, the setting 7.25 above means that the scenario starts at 0715h.
- StartDay: The day of the month the scenario starts. Therefore in the the example, the scenario will start on the 28th of the month.
- StartMonth: The month of the year that the scenario starts. Therefore in the the example, the scenario will start in February.
- StartYear: The year that the scenario starts. Therefore in the the example, the scenario will start in 2009. The start year must be between 1970 and 2037.
- SunRise: The time of sunrise, again in decimal hours. Along with SunSet, this can be omitted, giving a default sunrise at 6AM and sunset at 6PM.
- SunSet: The time of sunset, in decimal hours. See SunRise above.
- Variation: The magnetic variation, set in degrees, with westerly variation as positive. To simulate a gyrocompass, set this to zero.
- VisibilityRange: The maximum distance at which objects are visible through fog/haze, in nautical miles. If the map controller is used, the visibility set by the map controller will override this.
- Weather: How rough the sea is, from 0 (best) to 12 (worst). If the map controller is used, the weather set by the map controller will override this. The weather also determines how windy it is.
- WindDirection: The bearing the wind is blowing from at the start of the scenario. If the map controller is used, the wind direction set by the map controller will override this.
- Rain: The rain intensity, between 0 for no rain and 10 for maximum rain.
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=0However, if you want to load one or more other vessels with pre-planned tracks, the format is as below
Example
Number=1In 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.
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
Settings
- Type: The vessel to load. This must be an available 'other ship' model, which are typically stored in C:\Program files\Bridge Command 4.6GPL\Models\Othership.
- InitialLong: The longitude where the vessel starts. This is in decimal degrees, with east being positive. Therefore -118.486 corresponds to 118° 29.16' West
- InitialLat: As above, but for latitude with north as positive. Therefore 33.385 corresponds to 33° 23.1' North.
- (Optional) InitLongUncertaintyNm and InitLatUncertaintyNm: If these are included, these change the initial position randomly, centred on the InitialLong and InitialLat. These set the maximum distance in the East/West and North/South directions from the nominal start point in nautical miles.
- (Optional). SART: Set this to 1 to enable a SART (Search And Rescue Transponder) on the vessel.
- Legs: The number of legs making up the vessel's route (See below)
Route
For each leg, the following settings apply:- Bearing: The course in degrees (true).
- Speed: The speed in knots (nautical miles per hour).
- Distance: The length of the leg in nautical miles.
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=0However, 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.425133In 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
- Type: The vessel to load. This must be an available 'other ship' model, which are typically stored in C:\Program files\Bridge Command 4.6GPL\Models\Othership.
- InitialLong: The longitude where the vessel starts. This is in decimal degrees, with east being positive. Therefore -118.486 corresponds to 118° 29.16' West
- InitialLat: As above, but for latitude with north as positive. Therefore 33.385 corresponds to 33° 23.1' North.
- (Optional). SART: Set this to 1 to enable a SART (Search And Rescue Transponder) on the vessel.
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
- ShipName: The vessel to load. This must be an available 'own ship' model, which are typically stored in C:\Program files\Bridge Command 4.6GPL\Models\Ownship.
- InitialLong: The longitude where your vessel starts. This is in decimal degrees, with east being positive. Therefore -118.49 corresponds to 118° 29.4' West
- InitialLat: As above, but for latitude with north as positive. Therefore 33.38 corresponds to 33° 22.8' North.
- InitialBearing: Your initial course in degrees (true)
- InitialSpeed: Your initial speed in knots (nautical miles per hour)
- HasGPS: If your vessel has a GPS readout. Set HasGPS=1 for a GPS display and HasGPS=0 for no readout
- gpsDecimals: The number of decimal points to display for the GPS position in minutes, between 1 and 3. If not set this defaults to 2 (eg 50° 58.57N).
- HasDepthSounder: As above, but for a depth readout (Depth under keel in metres)
- MaxDepth: The maximum depth in metres for which the depth sounder will give a reading. If not set, this defaults to 100m.
- HasDeviation: If the compass readout is affected by the deviation. If HasDeviation=0 is set here and Variation=0 is set in Environment.ini, the compass readout is in degrees true (as a gyrocompass)
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
- Number: The number of objectives
- AvoidCollision: If the objectives are failed if your own ship is in collision with other vessels or buoys.
- targetType: 1 for an other ship, 2 for a controlled ship, 3 for a buoy or 4 for a fixed position
- targetID: (Only if targetType is 1-3). The number of the target in the scenario. For other ships and controlled ships, this is the number set in the scenario in othership.ini, controlledship.ini. For buoys, this is the buoy number in the world model.
- long and lat: (Only if targetType is 4). The longitude and latitude of the objective.
- targetMinDistance: How close you need to be to the target for the objective to be completed. Distance in metres.