C3Fire

Difference between revisions of "Config/P4-F8B2L3D1-3x15min-To-P4-F4B4L4D4-3x15min-3x15min"

From C3LearningLabs
Line 170: Line 170:
  
 
;Set to what role the units will send info to
 
;Set to what role the units will send info to
 +
:In same configuration file, for every unit update who this unit should send information to.
 
<source>
 
<source>
 
<Units>
 
<Units>
Line 175: Line 176:
 
     <Unit
 
     <Unit
 
       IDName = "F1"
 
       IDName = "F1"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F2"
 
       IDName = "F2"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F3"
 
       IDName = "F3"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F4"
 
       IDName = "F4"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "F5"
 
       IDName = "F5"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F6"
 
       IDName = "F6"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F7"
 
       IDName = "F7"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "F8"
 
       IDName = "F8"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "B9"
 
       IDName = "B9"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "L10"
 
       IDName = "L10"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "L11"
 
       IDName = "L11"
 +
      ...
 
       SendInfoTo = "D"
 
       SendInfoTo = "D"
  
 
     <Unit
 
     <Unit
 
       IDName = "R12"
 
       IDName = "R12"
 +
      ...
 
       SendInfoTo = "B"
 
       SendInfoTo = "B"
  
 
     <Unit
 
     <Unit
 
       IDName = "R13"
 
       IDName = "R13"
 +
      ...
 
       SendInfoTo = "C"
 
       SendInfoTo = "C"
  
 
     <Unit
 
     <Unit
 
       IDName = "D14"
 
       IDName = "D14"
 +
      ...
 
       SendInfoTo = "A"
 
       SendInfoTo = "A"
 
...
 
...
 
</source>
 
</source>

Revision as of 12:07, 29 September 2023


Goal

In this example we will change the organization and units in an existing configuration.

Start Configuration - P4-F8B2L3D1 (P4-F8B2L3D1-3x15min)
P4 = 4 Players
F8 = 8 fire fighting units
B2 = 2 Fire Break units
L3 = 3 Logistics units
D1 = 1 Drone
Goal Configuration - P4-F4B4L4D4 (P4-F4B4L4D4-3x15min)
P4 = 4 Players
F4 = 4 fire fighting units
B4 = 4 Fire Break units
L4 = 4 Logistics units
D4 = 4 Drone
Changes
Players, change what units the players control.
Fire fighting units, remove 4 unit.
Fire break unit, add 2 unit.
Logistics units, add 1 unit.
Drone, add 3 unit.

Create new configuration files

Copy Folder
Copy the selected configuration folder that contain the good configuration.
Source : ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8B2L3D1-3x15min
New Folder: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F4B4L4D4-3x15min
Rename all files in folder
Rename all the files so it get the new good experiment name.
P4-F8B2L3D1-3x15min => P4-F4B4L4D4


Update file references in config files
The main configuration files contains references to all files that build up the total configuration.
Update these files.
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-1\P4-F4B4L4D4-C1.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-2\P4-F4B4L4D4-C2.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-3\P4-F4B4L4D4-C3.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Training-1\P4-F4B4L4D4-T1.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Training-2\P4-F4B4L4D4-T2.con
In this example replace, P4-F9L3R2Uav1-3x15min => P4-F8L2R2B1Uav1-3x15min
<Config
  Type = "ForestFire"
  ConfigIncludeFile_ComunicationUI = ""
  ConfigIncludeFile_ComunicationUIEvents = ""
  ConfigIncludeFile_MapObjectTypes = "../P4-F4B4L4D4-Global-ObjectsTypes.coni"
  ConfigIncludeFile_MapObjectsPos = "P4-F4B4L4D4-C1-MapObjectsPos.coni"
  ConfigIncludeFile_People = "../P4-F4B4L4D4-Global-People.coni"
  ConfigIncludeFile_PeoplePos = "P4-F4B4L4D4-C1-PeoplePos.coni"
  ConfigIncludeFile_Roles = "../P4-F4B4L4D4-Global-Roles.coni"
  ConfigIncludeFile_RolesScrollPos = "P4-F4B4L4D4-C1-RolesScrollPos.coni"
  ConfigIncludeFile_StationActivityControlsUI = ""
  ConfigIncludeFile_Stations = ""
  ConfigIncludeFile_UAVsPos = "P4-F4B4L4D4-C1-UAVsPos.coni"
  ConfigIncludeFile_UnitInfoUI = "../P4-F4B4L4D4-Global-UnitsInfoUI.coni"
  ConfigIncludeFile_Units = "../P4-F4B4L4D4-Global-Units.coni"
  ConfigIncludeFile_UnitsPos = "P4-F4B4L4D4-C1-UnitsPos.coni"
  ConfigIncludeFile_UserInterface = "../P4-F4B4L4D4-Global-UIMain.coni"
  ConfigIncludeFile_UserInterfaceGlobal = "../P4-F4B4L4D4-Global-UIGlobal.coni"
  ConfigIncludeFile_VehicleActivityControlsUI = ""
  ConfigIncludeFile_Vehicles = ""
  Version = "4.0.1" >


Update session info.
This is important
The session information is information that describes the experiment sessions.
The information will be stored in the logfiles, and can be used in the analyses process.
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-1\P4-F4B4L4D4-C1.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-2\P4-F4B4L4D4-C2.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Condition-3\P4-F4B4L4D4-C3.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Training-1\P4-F4B4L4D4-T1.con
...\SessionDef\Projects\P4-F4B4L4D4-3x15min\Training-2\P4-F4B4L4D4-T2.con
Example
  <SessionInfo
    ConditionName = "C1"
    ConditionNumber = "1"
    ExperimentGroup = ""
    ExperimentName = "P4-F4B4L4D4-3x15min"
    ServerName = ""
    ServerNumber = "0"
    SessionConfigFileName = "P4-F4B4L4D4-C3.con"
    SessionName = ""
    SessionNumber = ""
    SessionPicDirectory = ""
    SessionScenarioFileName = "P4-F4B4L4D4-C3.sce"
    SessionType = "" />



Set the default configuration

To make it easier to develop a new session configuration set the default configuration file in the Client configuration. Then you don't need to manually browse the configuration file every time you start a session.

See Set default configuration

Edit File
...\C3LearningLabs\C3Fire\Client\Files\ROOT\C3FireClientConfig.xml

Set the folder for the new configuration and the config and scenario file name.

...
 <DefaultFiles
  SessionConfigDirectory  = "SessionDef/Projects/P4-F4B4L4D4-3x15min/Condition-1"
  SessionLogDirectory     = "../../../Server/SessionLogs"
  ScenarioDirectory       = "SessionDef/Projects/P4-F4B4L4D4-3x15min/Condition-1"
  MapImageDirectory       = "SessionDef/Projects/P4-F4B4L4D4-3x15min/Condition-1"
  SequenceConfigDirectory = ""
  SessionConfigFile       = "P4-F4B4L4D4-3x15min-C1-F80.con"
  ScenarioFile            = "P4-F4B4L4D4-3x15min-C1.sce"
  MapImageFile            = ""
  SequenceConfigFile      = "" />
...

Units

Update the Units
Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-Global-Units.coni
Updated so it is:
P4 = 4 Players
F4 = 4 fire fighting units
B4 = 4 Fire Break units
L4 = 4 Logistics units
D4 = 4 Drone
Did the following steps.
  1. Remove fire fighting unit 5 to 8
  2. Renumber and add 2 fire break unit 9, copy existing fire break unit.
  3. Renumber and add 1 logistics unit 9, copy existing logistics unit.
  4. Renumber and add 3 drone, copy existing drone
Renumber units
For every unit update, IDName, LongName, ControlDisplay, ImageGoTo, ImageGoToSelected, ImagePos, ImagePosSelected
Remember to update the unit number in the image file names.
<Units>
...
    <Unit
      IDName = "D14"
      ...
      ControlDisplay = "..."
      ...
      ImageGoTo = "Unit\Number\White\14-White.gif"
      ImageGoToSelected = "Unit\Number\White\14-White-Selected.gif"
      ImagePos = "Unit\Number\Gray\14-Gray.gif"
      ImagePosSelected = "Unit\Number\Gray\14-Gray-Selected.gif"
      ...
      LongName = "Unmanned Aircraft Vehicle 14"
...
Set to what role the units will send info to
In same configuration file, for every unit update who this unit should send information to.
<Units>
...
    <Unit
      IDName = "F1"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F2"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F3"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F4"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "F5"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F6"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F7"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "F8"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "B9"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "L10"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "L11"
      ...
      SendInfoTo = "D"

    <Unit
      IDName = "R12"
      ...
      SendInfoTo = "B"

    <Unit
      IDName = "R13"
      ...
      SendInfoTo = "C"

    <Unit
      IDName = "D14"
      ...
      SendInfoTo = "A"
...