Scoring scale change

-- Presentation update
-- Documentation updated
-- SetScale functions instead of multiplier
-- Updated proper scoring scaling formula!
This commit is contained in:
FlightControl
2017-03-02 17:43:46 +01:00
parent 4861c46e0d
commit 336f1781a7
22 changed files with 268 additions and 205 deletions

View File

@@ -2425,6 +2425,7 @@ The UNIT carrying the package.</p>
<dl class="function">
<dt>
<em></em>
<a id="#(AI_CARGO_UNIT).CargoCarrier" >
<strong>AI_CARGO_UNIT.CargoCarrier</strong>
</a>

View File

@@ -82,16 +82,48 @@ and create a CSV file logging the scoring events for use at team or squadron web
<h1>1) <a href="Scoring.html##(SCORING)">Scoring#SCORING</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(SCORING)">#SCORING</a> class administers the scoring of player achievements,
and creates a CSV file logging the scoring events for use at team or squadron websites.</p>
and creates a CSV file logging the scoring events and results for use at team or squadron websites.</p>
<p>The scores are calculated by scoring the hits and destroys of objects that players make,
which are <a href="Unit.html">Unit</a> and <a href="Static.html">Static</a>s** can be defined for which scores are also granted when objects in that <a href="Zone.html">Zone</a> are destroyed.
<p>SCORING automatically calculates the threat level of the objects hit and destroyed by players,
which can be <a href="Unit.html">Unit</a>, <a href="Static.html">Static</a> objects.</p>
<p>Positive score points are granted when enemy or neutral targets are destroyed.
Negative score points or penalties are given when a friendly target is hit or destroyed.
This brings a lot of dynamism in the scoring, where players need to take care to inflict damage on the right target.
By default, penalties weight heavier in the scoring, to ensure that players don't commit fratricide.
The total score of the player is calculated by <strong>adding the scores minus the penalties</strong>.</p>
<p><img src="..\Presentations\SCORING\Dia4.JPG" alt="Banner Image"/></p>
<p>The score value is calculated based on the <strong>threat level of the player</strong> and the <strong>threat level of the target</strong>.
A calculated score takes the threat level of the target divided by a balanced threat level of the player unit. <br/>
As such, if the threat level of the target is high, and the player threat level is low, a higher score will be given than
if the threat level of the player would be high too.</p>
<p><img src="..\Presentations\SCORING\Dia5.JPG" alt="Banner Image"/></p>
<p>When multiple players hit the same target, and finally succeed in destroying the target, then each player who contributed to the target
destruction, will receive a score. This is important for targets that require significant damage before it can be destroyed, like
ships or heavy planes.</p>
<p><img src="..\Presentations\SCORING\Dia13.JPG" alt="Banner Image"/></p>
<p>Optionally, the score values can be <strong>scaled</strong> by a <strong>scale</strong>. Specific scales can be set for positive cores or negative penalties.
The default range of the scores granted is a value between 0 and 10. The default range of penalties given is a value between 0 and 30.</p>
<p><img src="..\Presentations\SCORING\Dia7.JPG" alt="Banner Image"/></p>
<p><strong>Additional scores</strong> can be granted to <strong>specific objects</strong>, when the player(s) destroy these objects.</p>
<p><img src="..\Presentations\SCORING\Dia9.JPG" alt="Banner Image"/></p>
<p>**Various <a href="Zone.html">Zone</a>s** can be defined for which scores are also granted when objects in that <a href="Zone.html">Zone</a> are destroyed.
This is <strong>specifically useful</strong> to designate <strong>scenery targets on the map</strong> that will generate points when destroyed.</p>
<p>With a small change in MissionScripting.lua, the scoring can also be logged in a CSV file. <br/>
The CSV files can be used to:</p>
<p>With a small change in MissionScripting.lua, the scoring results can also be logged in a <strong>CSV file</strong>. <br/>
These CSV files can be used to:</p>
<ul>
<li>Upload scoring to a database or a BI tool to publish the scoring results to the player community.</li>
@@ -99,22 +131,22 @@ The CSV files can be used to:</p>
<li>Share scoring amoung players after the mission to discuss mission results.</li>
</ul>
<p>Scores can be reported. Menu options are automatically added to each group when a player joins a client slot or a CA unit.
<p>Scores can be <strong>reported</strong>. <strong>Menu options</strong> are automatically added to <strong>each player group</strong> when a player joins a client slot or a CA unit.
Use the radio menu F10 to consult the scores while running the mission.
Scores can be reported for your user, or an overall score can be reported of all players currently active in the mission.</p>
<h2>1.1) Set the destroy score or penalty multiplier</h2>
<h2>1.1) Set the destroy score or penalty scale</h2>
<p>Score multipliers can be set for scores granted when enemies or friendlies are destroyed.
Use the method <a href="##(SCORING).SetMultiplierDestroyScore">SCORING.SetMultiplierDestroyScore</a>() to set the multiplier of enemy destroys (positive destroys).
Use the method <a href="##(SCORING).SetMultiplierDestroyPenalty">SCORING.SetMultiplierDestroyPenalty</a>() to set the multiplier of friendly destroys (negative destroys).</p>
<p>Score scales can be set for scores granted when enemies or friendlies are destroyed.
Use the method <a href="##(SCORING).SetScaleDestroyScore">SCORING.SetScaleDestroyScore</a>() to set the scale of enemy destroys (positive destroys).
Use the method <a href="##(SCORING).SetScaleDestroyPenalty">SCORING.SetScaleDestroyPenalty</a>() to set the scale of friendly destroys (negative destroys).</p>
<pre><code> local Scoring = SCORING:New( "Scoring File" )
Scoring:SetMultiplierDestroyScore( 10 )
Scoring:SetMultiplierDestroyPenalty( 40 )
Scoring:SetScaleDestroyScore( 10 )
Scoring:SetScaleDestroyPenalty( 40 )
</code></pre>
<p>The above sets the multiplier for valid scores to 10. So scores will be given in a scale from 0 to 10.
<p>The above sets the scale for valid scores to 10. So scores will be given in a scale from 0 to 10.
The penalties will be given in a scale from 0 to 40.</p>
<h2>1.2) Define special targets that will give extra scores.</h2>
@@ -158,7 +190,7 @@ By default, the fratricide level is the default penalty mutiplier * 2 for the pe
<p>When a player changes the coalition, he can receive a penalty score.
Use the method <a href="##(SCORING).SetCoalitionChangePenalty">SCORING.SetCoalitionChangePenalty</a>() to define the penalty when a player changes coalition.
By default, the penalty for changing coalition is the default penalty multiplier. </p>
By default, the penalty for changing coalition is the default penalty scale. </p>
<h2>1.8) Define output CSV files.</h2>
@@ -390,18 +422,6 @@ Various methods exist to configure:</p>
<td class="name" nowrap="nowrap"><a href="##(SCORING).MessagesZone">SCORING.MessagesZone</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).MultiplierDestroyPenalty">SCORING.MultiplierDestroyPenalty</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).MultiplierDestroyScore">SCORING.MultiplierDestroyScore</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -498,6 +518,18 @@ Various methods exist to configure:</p>
<td class="name" nowrap="nowrap"><a href="##(SCORING).RunTime">SCORING.RunTime</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).ScaleDestroyPenalty">SCORING.ScaleDestroyPenalty</a></td>
<td class="summary">
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).ScaleDestroyScore">SCORING.ScaleDestroyScore</a></td>
<td class="summary">
</td>
</tr>
<tr>
@@ -579,15 +611,15 @@ Various methods exist to configure:</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).SetMultiplierDestroyPenalty">SCORING:SetMultiplierDestroyPenalty(Multiplier)</a></td>
<td class="name" nowrap="nowrap"><a href="##(SCORING).SetScaleDestroyPenalty">SCORING:SetScaleDestroyPenalty(Scale)</a></td>
<td class="summary">
<p>Set the multiplier for scoring penalty destroys (friendly destroys).</p>
<p>Set the scale for scoring penalty destroys (friendly destroys).</p>
</td>
</tr>
<tr>
<td class="name" nowrap="nowrap"><a href="##(SCORING).SetMultiplierDestroyScore">SCORING:SetMultiplierDestroyScore(Multiplier)</a></td>
<td class="name" nowrap="nowrap"><a href="##(SCORING).SetScaleDestroyScore">SCORING:SetScaleDestroyScore(Scale)</a></td>
<td class="summary">
<p>Set the multiplier for scoring valid destroys (enemy destroys).</p>
<p>Set the scale for scoring valid destroys (enemy destroys).</p>
</td>
</tr>
<tr>
@@ -1090,37 +1122,6 @@ The Score value.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SCORING).MultiplierDestroyPenalty" >
<strong>SCORING.MultiplierDestroyPenalty</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em>#number</em>
<a id="#(SCORING).MultiplierDestroyScore" >
<strong>SCORING.MultiplierDestroyScore</strong>
</a>
</dt>
<dd>
<p> Multipliers</p>
</dd>
</dl>
<dl class="function">
@@ -1512,6 +1513,34 @@ The player group.</p>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SCORING).ScaleDestroyPenalty" >
<strong>SCORING.ScaleDestroyPenalty</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
<dt>
<em></em>
<a id="#(SCORING).ScaleDestroyScore" >
<strong>SCORING.ScaleDestroyScore</strong>
</a>
</dt>
<dd>
</dd>
</dl>
<dl class="function">
@@ -1689,7 +1718,7 @@ self</p>
<p>Use the method <a href="##(SCORING).SetCoalitionChangePenalty">SCORING.SetCoalitionChangePenalty</a>() to define the penalty when a player changes coalition.
By default, the penalty for changing coalition is the default penalty multiplier. </p>
By default, the penalty for changing coalition is the default penalty scale. </p>
<h3>Parameter</h3>
<ul>
@@ -1885,24 +1914,24 @@ If true is given, the messages are sent. </p>
<dl class="function">
<dt>
<a id="#(SCORING).SetMultiplierDestroyPenalty" >
<strong>SCORING:SetMultiplierDestroyPenalty(Multiplier)</strong>
<a id="#(SCORING).SetScaleDestroyPenalty" >
<strong>SCORING:SetScaleDestroyPenalty(Scale)</strong>
</a>
</dt>
<dd>
<p>Set the multiplier for scoring penalty destroys (friendly destroys).</p>
<p>Set the scale for scoring penalty destroys (friendly destroys).</p>
<p>A calculated score is a value between 0.1 and 10.
The multiplier magnifies the scores given to the players.</p>
<p>A default calculated penalty is a value between 1 and 10.
The scale magnifies the scores given to the players.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number Multiplier </em></code>:
The multiplier of the score given.</p>
<p><code><em>#number Scale </em></code>:
The scale of the score given.</p>
</li>
</ul>
@@ -1916,24 +1945,24 @@ The multiplier of the score given.</p>
<dl class="function">
<dt>
<a id="#(SCORING).SetMultiplierDestroyScore" >
<strong>SCORING:SetMultiplierDestroyScore(Multiplier)</strong>
<a id="#(SCORING).SetScaleDestroyScore" >
<strong>SCORING:SetScaleDestroyScore(Scale)</strong>
</a>
</dt>
<dd>
<p>Set the multiplier for scoring valid destroys (enemy destroys).</p>
<p>Set the scale for scoring valid destroys (enemy destroys).</p>
<p>A calculated score is a value between 0.1 and 10.
The multiplier magnifies the scores given to the players.</p>
<p>A default calculated score is a value between 1 and 10.
The scale magnifies the scores given to the players.</p>
<h3>Parameter</h3>
<ul>
<li>
<p><code><em>#number Multiplier </em></code>:
The multiplier of the score given.</p>
<p><code><em>#number Scale </em></code>:
The scale of the score given.</p>
</li>
</ul>

View File

@@ -1765,9 +1765,6 @@ The group that was spawned. You can use this group for further actions.</p>
<p> Don't repeat the group from Take-Off till Landing and back Take-Off by ReSpawning.</p>
</dd>
</dl>
<dl class="function">

View File

@@ -351,7 +351,7 @@ and create a CSV file logging the scoring events for use at team or squadron web
<h1>1) <a href="Scoring.html##(SCORING)">Scoring#SCORING</a> class, extends <a href="Base.html##(BASE)">Base#BASE</a></h1>
<p>The <a href="##(SCORING)">#SCORING</a> class administers the scoring of player achievements,
and creates a CSV file logging the scoring events for use at team or squadron websites.</p>
and creates a CSV file logging the scoring events and results for use at team or squadron websites.</p>
</td>
</tr>
<tr>

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB