C3Fire Module Fuel Logistic

From C3LearningLabs

Fuel Logistic

This module adds the possibility to use fuel logistics in the C3Fire environment. It adds complexity to the Unit Simulation and objects to the Geographical Objects.

The fuel logistic module creates a coordination task for the players. It creates a work task, where the players will need to plan and coordinate the units activity so that the fire fighting units have fuel when they should close out the fire.The fire fighting units do no longer has an unlimited tank of fuel. The module add fuel tank units with a limited amount of fuel and fuel tank stations that can have an unlimited supply of fuel.

Units

When the fuel logistic module is activated all units will have the possibility to be equipped with a fuel tank and the fire fighting units will need fuel when fighting fire.

The fuel tank properties are defined in the Unit Configuration element in the session configuration file. All units can have a fuel tank and the fuel tank properties. It is possible for a unit to be both a fuel tank unit and a fire fighting unit.

Fire fighting unit

The fire fighting unit no longer has an unlimited supply of fuel. For the fire fighting unit to be able to fight fire there must be a sufficient level of fuel in the tank. As the unit extinguishes fire the fuel level is counted down. The fire fighting units can receive fuel from fuel tank objects or from fuel tank units. The fire fighting unit's five basic states, doing nothing, moving, mobilizing, fire fighting and demobilizing are now extended with refilling fuel. The fire fighting units fuel logistic properties, as tank size, fuel countdown speed, etc. are defined in the Unit Configuration element in the session configuration file.

Fuel tank unit

A fuel tank unit is a unit that have a fuel tank and the possibility refill and give fuel. The fuel tank units have ability to refill fuel from a fuel tank objects and other fuel tank units. Examples on a fuel tank objects in the C3Fire simulation are lake, fuel station etc. The fuel tank unit also have the possibility to give fuel to other units as; fire fighting units and other fuel tank units.

In our standard configuration examples fuel tank units have the name G#, G and a number, Example G5, G6, G21, G22 for Fuel tank unit 5, 6, 21 and 22. In the map the fuel tank units are viewed as blue numbers:

... G5 Position G6 Position ... G21 Position G22 Position

Objects

The Fuel Logistic module makes it possible to define fuel filling properties to an object. The standard geographical environment in C3Fire is built up of vegetation and building objects. Fuel Logistic add the possibility to get fuel from an object to a fire fighting unit or to a fuel tank unit. Example can be to create fuel tank station and lake that can deliver fuel.

The objects fuel properties are defined in the Object Configuration element in the session configuration file.

Fuel Tank Station

In our standard configuration examples fuel tank station are added. The fuel tank station have unlimited amout with fuel and viewed as below in the map:

Fuel Pump


Refilling fuel

The fuel refilling can be configured to work in two different ways. It defines position constraints between the unit that wants fuel and the fuel tank unit or station that gives fuel. The fuel refill can be done on the same position on the map or it can be done on the North, East, South and West position on the map. In our standard example configuration we always uses the refill on North, East, South and West position. The fuel refilling speed for the units are defined at Unit Configuration, the refilling speed for the objects are defined at Object Configuration, and the fuel refilling position type is defined at Main Configuration below.

Fuel Refill On Same Position

The fuel refilling process can start automatically if the unit that wants fuel is on the same position as the fuel tank unit or station.

Refilling fuel

Fuel Refill On position
North, East, South and West

The fuel refilling process can start if the unit that wants fuel is one square left, right, over or under the fuel refilling unit. The unit should stand on square North, East, South or West of the other unit or station.


If the unit that wants fuel is on pos (x,y).
Then possible positions for the fuel refilling unit are :
(x-1,y), (x+1,y), (x,y-1) or (x,y+1)
Not possible positions are :
(x,y), (x-1,y-1), (x+1,y+1), (x+1,y-1), (x-1,y+1)

Refilling fuel


Refilling fuel



Example:

The fire fighting unit one F1 Position is refilling fuel from fuel tank unit fiveG5 Position.
The fire fighting unit two F2 Position is refilling fuel from fuel tank station.
The fuel tank unit six G6 Position is refilling fuel from fuel tank station.



Fuel example

F1 Position F2 Position

Fire Fighting Units, F1 and F2

G5 Position G6 Position

Fuel tank, G5 and G6

Fuel Pump

Fuel pump



Unit Activites

The unit's possible activities are increased with Refilling Fuel and Giving fuel, these activities is automatically started if a unit is standing still close a fuel tank unit or station. The player does not need to do anything to start the refilling process, only stand still close to the tank unit or station. The refilling process is stopped as soon as the the unit can not get more fuel or when the unit starts moving.

Refilling fuel

Refilling fuel

Giving fuel

Giving fuel


Configuration

Select a session configuration that is good to use when making a new session configuration.
Select a configuration that have an user interface that is close to what you want to use.

To configure the Fuel logistic module do the following steps.

  1. Activate the fuel logistic module
  2. Start Auto Update
  3. Main Configuration
  4. Units
  5. Objects
  6. User Interface


Activate the fuel logistic module

Set FuelLogistic to true in the Modules element in the session configuration file.

<Modules
   FuelLogistic = "True"



Start Auto Update

Start C3Fire server and start a C3Fire client. Start a manager and select the current session configuration file. When the manager loads the configuration it will detect that the fuel logistic module is activated ant then it will insert all default parameters, that not exist, in the configuration. Press accept to save the updated configuration file. Close C3Fire system and do the following configuration steps.

Save Configuration

Main Configuration

Set FuelRefillOnPosType to preferred value in the Fire Fighting Configuration element in the session configuration file. The default value and the recommended value are FuelRefillOnNESWPos. The FuelRefillOnPosType is explained above at Refilling fuel.

Possible values for the property FuelRefillOnPosType are "FuelRefillOnSamePos" and "FuelRefillOnNESWPos".

  <FireFightingConfig
    FuelRefillOnPosType = "FuelRefillOnNESWPos"



Unit Configuration

The fuel logistic configuration for the units are located in the Unit Configuration element.

When the fuel logistic module is activated all units will have the following properties FuelTankUnit, FuelTankSize, FuelLevel, FuelLevelCountDownSpeed and FuelRefillSpeed.

Fuel Logistic Configuration for Units

Property

Value

FuelTankUnit

If the unit can supply fuel to other units.

Possible values = "True", "False"

FuelTankSize

The size of the units fuel tank.

Value example = "100"

FuelLevel

The amount of fuel this unit should have in the fuel tank at start of the session.

Value example = "50"

FuelRefillSpeed

The amount of fuel the unit get every second it is refilling fuel.

Value example = "10"

FuelLevelCountDownSpeed

The amount of fuel the unit counts down every second it is fighting a fire.

Value example = "1"


Configuration code example:

<Unit
   FuelLevel = "100"
   FuelLevelCountDownSpeed = "1"
   FuelRefillSpeed = "10"
   FuelTankSize = "100"
   FuelTankUnit = "true"



Object Configuration

The fuel logistic configuration for the objects are located in the Object Types Configuration element.

When the fuel logistic module is activated all object types will have the property FuelRefillSpeed.

Fuel Logistic Configuration for Object types

Property

Value

FuelRefillSpeed

The amount of fuel the object can deliver every second it is delivering fuel to an unit.

Value example = "10"


Configuration code example:

<ObjectType
   FuelRefillSpeed = "10"


User Interface Configuration

The changes in the user interface are in the Unit Information Frames and the images for the fuel tank units and fuel tank objects. The Unit Information Frames will have the possability to display vales that describe the fuel properties for the units. The unit outline frame and the unit detailed frame have the possibility to display the following values:

  • FuelTankSize
  • FuelLevel
  • FuelRefillSpeed
  • FuelLevelCountDownSpeed



The fuel values can be used in the Property arguments in the xml elements <UnitInfoDisplayOutlineCol> and <UnitInfoDisplayDetailRow>.

<UnitInfoDisplayOutlineCol
    Property = "FuelLevel"
<UnitInfoDisplayDetailRow
     Property = "FuelTankSize"


Example User Interface Configuration Files


Outline Frame Configuration

Examles of xml element <UnitInfoDisplayOutline>:

  • Unit info outline with fuel level column


Detailed Frame Configuration

Examles of xml element <UnitInfoDisplayDetailed>

  • Unit info detailed with fuel information for fuel tank unit
  • Unit info detailed with fuel information for fire fighting unit