Over at CivFanatics GOTM Forum there is a discussion going on about the scoring system for the GOTM. This is my initial proposal. As this is a scoring system that could be used for individual games, I thought it might be interesting for those not playing the GOTM as well.
I was hoping for some input on it from the fine minds here at the Poly Strat forum. Especially on the map/difficulty modifiers!
The attachment shows how the formula affects the GOTM 6-9 submissions. It is an Excel file, with a html version for those without an xls viewer. The map specifics were obtained by using MapStat on the 4000BC files.
---------------------------------------------------------
For game to game comparison, the map could be analyzed to figure out 'best' scores and dates, and player's results adjusted accordingly. This could be done before the game was released. All that is needed is a utility to extract the basic information (behind the scenes so the administrator can still participate) and make the calculations. The results would be released with the game.
Score
Score would be determined by the efficiency the player showed in obtaining the 'max' milking score. A bonus for early victory would then be added to keep milking and early victories both as viable options.
Objectives
- To determine the max milking score possible for the map
- To use that figure to modify the players score
AverageFoodPerTile = Food / FoodTiles
ClaimableFood = DominationLimit * AverageFoodPerTile
WorkingCitizens = DominationLimit
SpecialistCitizens = ((AverageFoodPerTile - 2) * DominationLimit) / 2)
MaxTurnScore = ((WorkingCitizens * 2) + SpecialistCitizens + DominationLimit) * Difficulty
MaxMilkedScore = MaxTurnScore * Landform
PlayerScore = ((GameScore - GameBonus) / MaxMilkedScore) * ScoreAdjustment
GameBonus = (2050 - PlayersDate) * Difficulty
Landform
Archipelago = ?.45?
Continent = ?.55?
Pangaea = .65
ScoreAdjustment = 10000 (arbitrary number to set a score in score form instead of %, this would result in a 'max' score [theoretically possible to exceed] of 10,000 for example)
Depending on the Landform (archipelago, continent, pangaea), another % of that is max 'milked' score. I'm pretty sure on the pangaea number already (65%) because of HOF attempts, and the others could be deduced from the plethora of well milked games that have been played in the GOTM's so far (excluding the dogpile game of course). It would give us a pretty decent max score to judge the games by, and would be a score that is available to the player as soon as they finish the game.
I think removing the territory portion of the score could also help to bring building back towards parity with early conquest then build. This way a size 6 city would be worth as much as 6 size 1 cities, though eventually more cities will win out (as they should). Population is dependant on territory, and so territory is counted twice (once directly, once indirectly through population) in the current scoring system.
Date
Date is a bit more difficult, but we can still come up with good estimates of a well played victory condition from map settings and difficulty level. Again, this is information that is available to the player before the game is played, and they can play accordingly. Instead of having to guess at what the adjustments will be once all is said and done.
Objectives
- To balance scoring by finish date
- To give a date bonus which is comparable between victory conditions
- To allow for comparison between maps and difficulty levels
Each victory condition would get a 'best' date for each map setting/difficulty combination.
EXAMPLE: Conquest/Emperor/Small/Cont
ConditionBestDate = 10 + 400 - 100 + 0 = 310AD
Of course all these numbers could use some refinement! (suggestions welcome) Also, it might be best to convert entirely into turns.
After all the modification to the 'best' date for each victory conditions is done, a bonus (in score form, comparible to the ScoreAdjustment) is added based on how quickly the player was able to achieve the victory condition. With a decent balance in the modifiers, it should award a comparable bonus for a 'good' conquest as a 'good' spaceship victory, even on different maps or difficulty levels. Taking out the difficulty level comparison could be done if it was desired.
Bonus = ((2050 - PlayerDate) / (2050 - ConditionBestDate)) * ScoreAdjustment
ScoreAdjustment = same as in the scoring section, to equally weight score and date.
FinalScore = PlayerScore + Bonus
Conclusion
I know there is a lot of tweaking to do in a system like this, but even as it is, it should give a reasonable basis for comparison of different victory types within the same game, and even from game to game. There could always be more modifiers added (wonders, future tech, ect) as well. A utility to determine the score would definitely be needed. I could write one if necessary, though mapstat is already pretty much there if Chiefpaco would care to allow for it.
Each GOTM would be released with the following info: (example)
MaxMilkingScore = (would depend on the map generated)
Condition 'Best' Dates (Emperor/Small/Continents)
- Conquest = 310AD
- Culture (100k) = 1800AD
- Culture (20k) = 1825AD
- Diplomatic = 1400AD
- Domination = 500AD
- Spaceship = 1500AD
I was hoping for some input on it from the fine minds here at the Poly Strat forum. Especially on the map/difficulty modifiers!
The attachment shows how the formula affects the GOTM 6-9 submissions. It is an Excel file, with a html version for those without an xls viewer. The map specifics were obtained by using MapStat on the 4000BC files.
---------------------------------------------------------
For game to game comparison, the map could be analyzed to figure out 'best' scores and dates, and player's results adjusted accordingly. This could be done before the game was released. All that is needed is a utility to extract the basic information (behind the scenes so the administrator can still participate) and make the calculations. The results would be released with the game.
Score
Score would be determined by the efficiency the player showed in obtaining the 'max' milking score. A bonus for early victory would then be added to keep milking and early victories both as viable options.
Objectives
- To determine the max milking score possible for the map
- To use that figure to modify the players score
AverageFoodPerTile = Food / FoodTiles
ClaimableFood = DominationLimit * AverageFoodPerTile
WorkingCitizens = DominationLimit
SpecialistCitizens = ((AverageFoodPerTile - 2) * DominationLimit) / 2)
MaxTurnScore = ((WorkingCitizens * 2) + SpecialistCitizens + DominationLimit) * Difficulty
MaxMilkedScore = MaxTurnScore * Landform
PlayerScore = ((GameScore - GameBonus) / MaxMilkedScore) * ScoreAdjustment
GameBonus = (2050 - PlayersDate) * Difficulty
Landform
Archipelago = ?.45?
Continent = ?.55?
Pangaea = .65
ScoreAdjustment = 10000 (arbitrary number to set a score in score form instead of %, this would result in a 'max' score [theoretically possible to exceed] of 10,000 for example)
Depending on the Landform (archipelago, continent, pangaea), another % of that is max 'milked' score. I'm pretty sure on the pangaea number already (65%) because of HOF attempts, and the others could be deduced from the plethora of well milked games that have been played in the GOTM's so far (excluding the dogpile game of course). It would give us a pretty decent max score to judge the games by, and would be a score that is available to the player as soon as they finish the game.
I think removing the territory portion of the score could also help to bring building back towards parity with early conquest then build. This way a size 6 city would be worth as much as 6 size 1 cities, though eventually more cities will win out (as they should). Population is dependant on territory, and so territory is counted twice (once directly, once indirectly through population) in the current scoring system.
Date
Date is a bit more difficult, but we can still come up with good estimates of a well played victory condition from map settings and difficulty level. Again, this is information that is available to the player before the game is played, and they can play accordingly. Instead of having to guess at what the adjustments will be once all is said and done.
Objectives
- To balance scoring by finish date
- To give a date bonus which is comparable between victory conditions
- To allow for comparison between maps and difficulty levels
Each victory condition would get a 'best' date for each map setting/difficulty combination.
Code:
Base victory condition 'best' dates: (standard continents map, monarch) Conquest : 10AD Culture (100k) : 1500AD Culture (20k) : 1700AD Diplomatic : 1300AD Domination : 500AD Spaceship : 1600AD Difficulty Chi War Reg Mon Emp Dei Conquest : -300, -200, -100, 0, +400, +600 Culture (100k) : -100, -50, -25, 0, +100, +200 Culture (20k) : -50, -25, 0, 0, +75, +100 Diplomatic : +150, +100, +50, 0, -200, -100 Domination : -300, -200, -100, 0, +100, +400 Spaceship : +100, +50, +25, 0, -100, -300 Map Modifiers Tiny Small Stand Large Huge Arch Cont Pang Conquest : -200, -100, 0, +300, +400 +200, 0, -200 Culture (100k) : +300, +200, 0, -100, -200 +100, 0, -100 Culture (20k) : 0, 0, 0, 0, 0 0, 0, 0 Diplomatic : 0, 0, 0, 0, 0 0, 0, 0 Domination : -200, -100, 0, +300, +400 +200, 0, -200 Spaceship : 0, 0, 0, -50, -100 +100, 0, -100
ConditionBestDate = 10 + 400 - 100 + 0 = 310AD
Of course all these numbers could use some refinement! (suggestions welcome) Also, it might be best to convert entirely into turns.
After all the modification to the 'best' date for each victory conditions is done, a bonus (in score form, comparible to the ScoreAdjustment) is added based on how quickly the player was able to achieve the victory condition. With a decent balance in the modifiers, it should award a comparable bonus for a 'good' conquest as a 'good' spaceship victory, even on different maps or difficulty levels. Taking out the difficulty level comparison could be done if it was desired.
Bonus = ((2050 - PlayerDate) / (2050 - ConditionBestDate)) * ScoreAdjustment
ScoreAdjustment = same as in the scoring section, to equally weight score and date.
FinalScore = PlayerScore + Bonus
Conclusion
I know there is a lot of tweaking to do in a system like this, but even as it is, it should give a reasonable basis for comparison of different victory types within the same game, and even from game to game. There could always be more modifiers added (wonders, future tech, ect) as well. A utility to determine the score would definitely be needed. I could write one if necessary, though mapstat is already pretty much there if Chiefpaco would care to allow for it.
Each GOTM would be released with the following info: (example)
MaxMilkingScore = (would depend on the map generated)
Condition 'Best' Dates (Emperor/Small/Continents)
- Conquest = 310AD
- Culture (100k) = 1800AD
- Culture (20k) = 1825AD
- Diplomatic = 1400AD
- Domination = 500AD
- Spaceship = 1500AD
Comment