Data driven balance
What units, built when, actually win you the game when you automatically review hundreds of replays with a python CLI program running 5 games at once on a linux server?. See https://forum.faforever.com/topic/7746/unit-logger-mod/2?_=1756499882452
I now have a few gigabytes from 1400 games of 1v1 ranked and sentons of structured data. If you would like this data just PM me. The data format is below:
An index file is created that shows all the replays, this is created from the replay file
replay_id scfa_version replay_version has_mods has_ai has_unit_restrictions cheats_enabled ranked game_start_epoch game_end_epoch no_players no_teams scenario_type victory_condition teams_locked unranked map_folder_name sim_ticks desync_tick share average_rating
21013072 3770 Replay v1.9 False False False False False 1697735541 1697737795 8 2 skirmish demoralization True False SCMP_009 19991 0 FullShare 1883
21013451 3770 Replay v1.9 False False False False True 1697737205 1697738254 2 2 skirmish demoralization True False frithen.v0004 715 0 FullShare 1853
21021738 3770 Replay v1.9 False False False False False 1697830981 1697834029 8 2 skirmish demoralization True False SCMP_009 24578 0 FullShare 977
21029660 3770 Replay v1.9 False False False False True 1697906403 1697906892 2 2 skirmish demoralization True False neroxis_map_generator_1.9.0_aj5umyuf4xuk6_aqea 4512 0 FullShare 1456
an index file is created for all the games that have been simulated
replay_id desync end_of_replay_reached sim_time_seconds
21013072 False True 3868
21013451 False True 162
21021738 False True 4460
21029660 False True 558
21029783 False True 6580
each game has an armies file generated directly from the replay file
army_name player_id player_name rating_mean rating_deviation faction team start_spot player_color human ai_personality
ARMY_2 413862 cZARJc 2048 95 4 3 2 6 True
ARMY_4 420129 HorohLoxMato 2123 94 4 3 4 19 True
ARMY_8 145 ZLO 2359 71 1 3 8 17 True
ARMY_3 393899 GULMO 2242 94 1 2 3 9 True
ARMY_7 372109 Terarii 2543 95 1 2 7 7 True
ARMY_6 304809 ZmeiGorinich 2099 94 1 3 6 1 True
ARMY_5 486930 el_PISTOLERO 2027 97 2 2 5 2 True
ARMY_1 278651 ERROR_4O4 1831 94 2 2 1 3 True
each game has an armies result file generated after simulation is complete
army_index army_name result
1 ARMY_1 won
2 ARMY_2 defeated
3 ARMY_3 won
4 ARMY_4 defeated
5 ARMY_5 defeated
6 ARMY_6 defeated
7 ARMY_7 won
8 ARMY_8 defeated
Each game has a economy.tsv file generated after simulation is complete
GameTick Army lastUseRequested.MASS lastUseRequested.ENERGY lastUseActual.MASS lastUseActual.ENERGY stored.MASS stored.ENERGY income.MASS income.ENERGY maxStorage.MASS maxStorage.ENERGY reclaimed.MASS reclaimed.ENERGY
13 1 0.00 0.00 0.00 0.00 650.00 3924.00 0.10 2.00 650.00 4000.00 0.00 0.00
20 1 0.00 0.00 0.00 0.00 650.00 3938.00 0.10 2.00 650.00 4000.00 0.00 0.00
27 1 0.00 0.00 0.00 0.00 650.00 3952.00 0.10 2.00 650.00 4000.00 0.00 0.00
34 1 0.00 0.00 0.00 0.00 650.00 3966.00 0.10 2.00 650.00 4000.00 0.00 0.00
46 2 0.00 0.00 0.00 0.00 650.00 3990.00 0.10 2.00 650.00 4000.00 0.00 0.00
52 3 0.00 0.00 0.00 0.00 650.00 4000.00 0.10 2.00 650.00 4000.00 0.00 0.00
59 3 0.00 0.00 0.00 0.00 650.00 4000.00 0.10 2.00 650.00 4000.00 0.00 0.00
66 3 0.00 0.00 0.00 0.00 650.00 4000.00 0.10 2.00 650.00 4000.00 0.00 0.00
each game has a units.tsv file. FractionComplete is % built, generated after simulation is complete
GameTick Army EntityId UnitId FractionComplete Position.x Position.y Position.z MaxHealth Health ShieldRatio IsIdle MassKilled
13 1 0 uel0001 1 63.50 25.53 468.50 12000 12000 0 1 0
19 2 1048576 xsl0001 1 448.50 25.53 43.50 11500 11500 0 1 0
67 1 0 uel0001 1 63.50 25.53 468.50 12000 12000 0 1 0
67 1 1 ueb0101 0.04 67.50 25.56 454.50 4000 148 0 1 0
73 2 1048577 xsb0101 0.06 440.50 25.58 46.50 3500 199 0 1 0
73 2 1048576 xsl0001 1 448.50 25.53 43.50 11500 11500 0 1 0
109 1 0 uel0001 1 63.50 25.53 468.50 12000 12000 0 1 0
109 1 1 ueb0101 0.18 67.50 25.56 454.50 4000 708 0 1 0
I simulated 1436 sentons and raned 1v1 replays with this tool.
you can determine if the first team to make a stratiegic bomber actually has an increased chance of winning
You can determine the average mass killed of a novax after 10 mins of it being built
you can see if a t1 frigate rush is a good stratergy to win an ocean against players rated 200 less points than the oponent, and you can see what factions are best in the beech position and win that ocean, with unit position data.
You can see how long it takes each game ender, on average to end the game and chance of winning after it has been up for 5 mins.
If you would like the raw unit data please message me, its a few hundred mb. I would like some people to go over it and try and pick out these correlations