Update P4-F8B2L3D1-3x15min To P4-F4B4L4D4-3x15min
From C3LearningLabs
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.
- 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.
- Remove fire fighting unit 5 to 8
- Renumber and add 2 fire break unit 9, copy existing fire break unit.
- Renumber and add 1 logistics unit 9, copy existing logistics unit.
- 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 = "A"
<Unit
IDName = "F2"
...
SendInfoTo = "A"
<Unit
IDName = "F3"
...
SendInfoTo = "A"
<Unit
IDName = "F4"
...
SendInfoTo = "A"
<Unit
IDName = "B5"
...
SendInfoTo = "B"
<Unit
IDName = "B6"
...
SendInfoTo = "B"
<Unit
IDName = "B7"
...
SendInfoTo = "B"
<Unit
IDName = "B8"
...
SendInfoTo = "B"
<Unit
IDName = "L9"
...
SendInfoTo = "C"
<Unit
IDName = "L10"
...
SendInfoTo = "C"
<Unit
IDName = "L11"
...
SendInfoTo = "C"
<Unit
IDName = "L12"
...
SendInfoTo = "C"
<Unit
IDName = "D13"
...
SendInfoTo = "D"
<Unit
IDName = "D14"
...
SendInfoTo = "D"
<Unit
IDName = "D15"
...
SendInfoTo = "D"
<Unit
IDName = "D16"
...
SendInfoTo = "D"
...
UAVs
- Update what role are controlling the UAV. It is defined in the <UAVs>...<UAVs> element, in the main configuration files.
- Edit main config 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
- Add 3 new drones, copy the existing drone
- Set IDName
- Set controller - ControllerActive = "D"
<UAVs>
<UAV
IDName = "D13"
...
ControllerActive = "D"
<UAV
IDName = "D14"
...
ControllerActive = "D"
<UAV
IDName = "D15"
...
ControllerActive = "D"
<UAV
IDName = "D16"
...
ControllerActive = "D"
Organisation
- Update to roles (Players), set what unit they are controlling and who can send mail to who.
- Remember you can use mail groups, see Mail Config
- Edit file: ...\C3LearningLabs\C3Fire\Client\SessionDef\Projects\P4-F8L2R2B1Uav1-3x15min\P4-F8L2R2B1Uav1-3x15min-Global-Roles.coni
- Set id name - IDName = "..."
- Set the units the role control, For all roles - ControlUnits = "..."
- Set name - LongName = "..."
- Set mail - MailSendTo = "..."
<Roles>
<Role
IDName = "A"
ControlUnits = "F1,F2,F3,F4"
LongName = "Ground Chief A"
MailSendTo = "B,C,D"/>
<Role
IDName = "B"
ControlUnits = "B5,B6,B7,B8"
LongName = "Ground Chief B"
MailSendTo = "A,C,D" />
<Role
IDName = "C"
ControlUnits = "L9,L10,L11,L12"
LongName = "Ground Chief C"
MailSendTo = "A,B,D" />
<Role
IDName = "D"
ControlUnits = "D13,D14,D15,D16"
LongName = "Ground Chief D"
MailSendTo = "A,B,C" />
Map
Roles Map Scroll Positions
- Update all roles map scroll positions.
- Usually you don't need to update this, but if you are using larger maps you need to do it.
Edit file:
- .../Condition-1/P4-F4B4L4D4-C1-RolesScrollPos.coni
- .../Condition-2/P4-F4B4L4D4-C2-RolesScrollPos.coni
- .../Condition-3/P4-F4B4L4D4-C3-RolesScrollPos.coni
- .../Training-1P/4-F4B4L4D4-T1-RolesScrollPos.coni
- .../Training-2/P4-F4B4L4D4-T2-RolesScrollPos.coni
<RolesScrollPos>
<Role
IDName = "A"
MapStartCenterScrollPos = "20,20" />
<Role
IDName = "B"
MapStartCenterScrollPos = "20,20" />
<Role
IDName = "C"
MapStartCenterScrollPos = "20,20" />
<Role
IDName = "D"
MapStartCenterScrollPos = "20,20" />
Units Map Positions
Update all Units map positions.
Edit file:
- .../Condition-1/P4-F4B4L4D4-C1-UnitsPos.coni
- .../Condition-2/P4-F4B4L4D4-C2-UnitsPos.coni
- .../Condition-3/P4-F4B4L4D4-C3-UnitsPos.coni
- .../Training-1/P4-F4B4L4D4-T1-UnitsPos.coni
- .../Training-2/P4-F4B4L4D4-T2-UnitsPos.coni
- Update F9 to B9
- Update L12 to R12
- Delete R14
- Update D15 to D14
Example
<Unit
IDName = "B9"
Pos = "23,22" />
<Unit
IDName = "D14"
Pos = "20,21" />
UAVs Map Positions
Update all UAVs map positions.
Edit file:
- .../Condition-1/P4-F4B4L4D4-C1-UAVsPos.coni
- .../Condition-2/P4-F4B4L4D4-C2-UAVsPos.coni
- .../Condition-3/P4-F4B4L4D4-C3-UAVsPos.coni
- .../Training-1/P4-F4B4L4D4-T1-UAVsPos.coni
- .../Training-2/P4-F4B4L4D4-T2-UAVsPos.coni