home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
lotrbfme2_demo.exe
/
INI.big
/
data_ini_victorysystem.ini
< prev
next >
Wrap
Text File
|
2006-01-31
|
8KB
|
132 lines
; VictorySystem.ini
; This file controls the behavior of the Victory System for LOTR RTS.
; Overview:
; The victory system is designed to do the following:
; a. Detect when a player wins a large battle. Multiple battles can happen on a single map.
; b. Give a bonus to the units belonging to the winning player that were involved in the battle
; How the victory system does this is by dividing the map up into cells. Each cell keeps track of the number
; of 'deaths' and 'kills' for each player that happen in that cell. The system also keeps track of the total
; number of 'kills' and 'deaths' for the entire map. When a threshold for the entire map (formula explained
; further down) is reached then the cells are scaned to see if any cells qualify for Victory Status. For each
; cell that Qualifies for Victory status all of the units within a radius of that cell are given a 'Victory' bonus.
;
;
; There are 2 types of INI blocks
; 1. VictorySystemData : Controls variables that deal with common aspects of the victory system.
; 2. FactionVictoryData : Controls how a faction determines a victory, this facilitates factions being able
; to have unique methods of determining what a 'victory' is. E.G. Evil factions may place less value
; on losing its own units than Good factions.
; SEE Comments in the INI blocks for a detailed explantation of hot the values are used.
;-------------------------------------------------------------------------------------------------------------------------------
VictorySystemData default
CellSize = 500 ; This value controls the resolution of the Cells in the Victory system. Each cell is a
; square of this width/height. The number of cells in a map is the determined by the
; extents of the map and this value. So if our cell size was 450, a map that is 3150 units
; wide and 2250 units high would have ((3150 / 450) = 7 * (2250 / 450) = 5) or 35 cells.
; IMPORTANT: Do not make this value to small, as it could quickly eat up a lot of memory as
; well as degrade performance.
; The following variables control frame to frame erosion of the stats store in each cell. The frame to frame erosion is done so
; that over time the stats fade down. This allows the system to discriminate an intense battle from a lot of small battles over a long
; period of time.
ScalePerLogicFrame = 0.8 ; Each stat stored in a cell is scaled by this amount every logic frame. It should be greater than
; 0 and less than or equal to 1.0. With the practical range being 0.7 - 0.999. The smaller the number
; the 'faster' the system 'forgets'. Values above 1.0 are treated as 1.0
SubtractPerLogicFrame = 0.0 ; Each logic frame this value is subtracted from the stats in each cell. This value is here to
; allow greater control over how the system 'Erodes' the stats in a cell. The value must be positive
; and should not be greater than 2 or 3. For reference a single uint is worth 1.0 stat points from
; the perspective of the Victory system. So if SubtractPerLogicFrame was set 1.0, 1 'death' and one
; 'Kill' would be 'forgotten' per logic frame.
CellBonusRadius = 1.0 ; This value controls the range from the center of a cell in which units are give a victory bonus.
; This actual range is a function of CellBonusRadius and CellSize, such that a value of 1.0 would
; be a circle that completely contains 1 cell where the edge of the circle intersects the corners of
; the cell. This value should not be below 1.0 to ensure that all the units that contributed to a
; 'victor' are rewarded. Also making the value to large should be avoided. The formula for
; the radius is; radius = (sqrt(2) * ((CellSize / 2) * CellBonusRadius).
; NOTE: IF WE FIND PROBLEMS WITH UNITS GETTING MORE THAN 1 VICTORY BONUS AT A TIME
; CHECK THIS VALUE FOR BEING TO LARGE.
End
; The following INI Blocks control how a faction decides when a 'Victory' has happened. Each faction has the following values
; AllyDeathScaleFactor
; EnemyKillScaleFactor
; VictoryThreshold
; MajorUnitValue
; MapToCellVictoryRatio
;
; Determining a victory for a given player is done as follows.
;
; if (NumberOfKillsOnMap * EnemyKillScaleFactor) - (NumberOfDeaths * AllyDeathScaleFactor) > VictoryThreshold
; then if (NumberOfKillsInCell * EnemyKillScaleFactor) - (NumberOfDeaths * AllyDeathScaleFactor) > (VictoryThreshold * MapToCellVictoryRatio)
; then give bonus to units in that cell.
; Gondor
FactionVictoryData Gondor
AllyDeathScaleFactor = 1.0 ; Value this faction places on the loss of its own units.
EnemyKillScaleFactor = 1.1 ; Value this faction places on 'kills' of enemy units that it gets.
VictoryThreshold = 200.0 ; Thereshold needed for a 'Victory'
MajorUnitValue = 10.0 ; Value placed on special/major units (normal units are worth 1.0)
MapToCellVictoryRatio = 0.8 ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be
; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
End
; Rohan
FactionVictoryData Rohan
AllyDeathScaleFactor = 1.0 ; Value this faction places on the loss of its own units.
EnemyKillScaleFactor = 1.1 ; Value this faction places on 'kills' of enemy units that it gets.
VictoryThreshold = 200.0 ; Thereshold needed for a 'Victory'
MajorUnitValue = 10.0 ; Value placed on special/major units (normal units are worth 1.0)
MapToCellVictoryRatio = 0.8 ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be
; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
End
; Mordor
FactionVictoryData Mordor
AllyDeathScaleFactor = 1.0 ; Value this faction places on the loss of its own units.
EnemyKillScaleFactor = 1.1 ; Value this faction places on 'kills' of enemy units that it gets.
VictoryThreshold = 150.0 ; Thereshold needed for a 'Victory'
MajorUnitValue = 10.0 ; Value placed on special/major units (normal units are worth 1.0)
MapToCellVictoryRatio = 0.8 ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be
; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
End
; Isengard
FactionVictoryData Isengard
AllyDeathScaleFactor = 1.0 ; Value this faction places on the loss of its own units.
EnemyKillScaleFactor = 1.1 ; Value this faction places on 'kills' of enemy units that it gets.
VictoryThreshold = 150.0 ; Thereshold needed for a 'Victory'
MajorUnitValue = 10.0 ; Value placed on special/major units (normal units are worth 1.0)
MapToCellVictoryRatio = 0.8 ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be
; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
End
; neutral - CURRENTLY HAS NO EFFECT.
FactionVictoryData neutral
AllyDeathScaleFactor = 1.0
EnemyKillScaleFactor = 1.1
VictoryThreshold = 100.0
MajorUnitValue = 10.0
MapToCellVictoryRatio = 0.8
End
; Observer - CURRENTLY HAS NO EFFECT.
FactionVictoryData Observer
AllyDeathScaleFactor = 0.1
EnemyKillScaleFactor = 0.2
VictoryThreshold = 3.0
MajorUnitValue = 4.0
End
; Civilian - CURRENTLY HAS NO EFFECT.
FactionVictoryData Civilian
AllyDeathScaleFactor = 0.1
EnemyKillScaleFactor = 0.2
VictoryThreshold = 3.0
MajorUnitValue = 4.0
End