Scoring Tutorial


Scoring tables are used to produce a quantifiable numeric value from a sim's details.
  • Normally they account for traits in various ways, assigning positive and negative values when the sim has the trait.
  • They can also be used to differentiate between ages, genders, and type of sim

Essentially, it is possible to create scoring for any sort of data available within a sim, as a means of differentiating them from another.

A scoring table is made of two components:
  1. A header that defines the type of scoring table called the <Methods> table
  2. The scoring table itself that defines the entries that quantify the sim, each differentiated by the unique name of their associated scoring header.



<Methods>


The <Methods> table defines the type of scoring that will be expected from the calling routine, and also determines which type of scoring can be used.

<Name>


  • A unique name designating this scoring for reference in other areas of tuning.
  • This name must be unique across all modules installed for the mod or an error will be fired.

<FullClassName>


  • Defines the scripting class to use to handle this scoring table.
  • Each scripting class serves a specific purpose, and the mod may expect it to be specific type.
  • In general : SimListedScoringMethod is the most universal of all methods and is used the most frequently.
  • Note that each type of method can have its own custom set of fields.

<Divisor>


  • Once the tally is complete, this value is used to divide the final outcome
  • By default, this value is "1", meaning no adjustment is made to the final value

<LowerBound>


  • Specifies an lower limit to the scoring tally
  • If left empty, there is no lower limit to the size of the tally
  • Valid values are any whole number

<UpperBound>


  • Specifies an upper limit to the scoring tally
  • If left empty, there is no upper limit to the size of the tally
  • Valid values are any whole number

<CycleRetention>


  • Defines the number of cycles to retain any calculated scoring, before forcing the mod to recalculate it
  • By default, this value is "3". Which means the value is retained for three cycles of the Scoring Manager
  • Since the Scoring Manager runs on a 500 sim-minute cycle, scoring will only be recalculate once a day

A list of all scoring methods are available here :




Scoring


Each scoring entry has the following fields:

<FullClassName>


  • Defines the scripting class to use for this scoring element.
  • The scripting class for each scoring entry is listed as the first line on their tutorial page
  • This can be a custom script available outside of the mod, however it must derive from NRaas.CommonSpace.Scoring.Scoring<T>

A list of all scoring types is available here for convenience:
  • Note that not all scoring is available in any particular mod.
  • Some scoring is specific to the data within a mod, and is unavailable in others.