Save File

From Ages of Conflict
Revision as of 20:03, 12 January 2024 by wikia:aocw>CorrMatt (Created page with "= Save File = Ages of Conflict uses .aoc files for its saves and scenarios, they can be opened and manipulated through any text editor and are interchangeable with each other. They can be found in the user folder under: * Windows: '''<code>\AppData\LocalLow\JoySparkGames\Ages of Conflict</code>''' * Mac: '''<code>/Library/Application Support/com.JoySparkGames.AgesOfConflict</code>''' * Linux: <code>/.config/unity3d/JoySparkGames/Ages of Conflict</code> == Structure ==...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Save File

Ages of Conflict uses .aoc files for its saves and scenarios, they can be opened and manipulated through any text editor and are interchangeable with each other.

They can be found in the user folder under:

  • Windows: \AppData\LocalLow\JoySparkGames\Ages of Conflict
  • Mac: /Library/Application Support/com.JoySparkGames.AgesOfConflict
  • Linux: /.config/unity3d/JoySparkGames/Ages of Conflict

Structure

Save files are long strings of code-like text that encode everything about the game, from nations and their territory, map layout, wars and alliances to game time and the version the file was last saved in.

Game info

First in the file is basic information about the save/scenario: the version it was saved in, map dimensions, starting year and game time (each month equals 0.5 in game time) as shown in the example below:

"version":"3.0.5","width":950,"height":475,"startingYear":2023,"currentGameTime":24

Nation Data

It's a long list enclosed in square brackets opening with "nations": each entry is enclosed in curly brackets and separated with commas.

Nation data contains:

  • Nation ID
  • Name
  • Color
  • Capital location
  • Whether or not it's dead
  • Whether or not it has AI disabled
  • Establishment and collapse year
  • Who it seceded from
  • Who it annexed
  • Gold and combat efficiency
  • Highest land area
  • Total wars
  • Revolt chance
  • Income modifier
  • Stress (hidden mechanic driving alliances)
  • Lives (information about previous iterations of the nation)
    • Who annexed it ("k")

example of what nation data looks like (in all following examples line breaks were added for reading convenience):

"nations":[
{"id":1,"name":"Iceland","destroyed":false,"color":{"r":0.48649999499320986,"g":0.5826490521430969,"b":0.699999988079071,"a":1.0},"pos":{"x":75,"y":561},"startYear":0.0,"endYear":0.0,"killerId":0,"originId":0,"revoltIds":[],"killedIds":[],"gold":2485.8310546875,"combatEfficiency":11.0,"landValue":10259,"maxArea":2533,"revoltPercent":0.0,"aiDisabled":false,"stress":0,"totalWars":1,"lives":[],"incomeModifier":1.0},

{"id":2,"name":"Ireland","destroyed":true,"color":{"r":0.15390002727508546,"g":0.5400000214576721,"b":0.25777456164360049,"a":1.0},"pos":{"x":138,"y":352},"startYear":0.0,"endYear":25.2001953125,"killerId":0,"originId":0,"revoltIds":[],"killedIds":[],"gold":0.0,"combatEfficiency":8.0,"landValue":0,"maxArea":1637,"revoltPercent":0.0,"aiDisabled":false,"stress":0,"totalWars":1,"lives":[{"s":0,"e":25,"o":0,"k":3}],"incomeModifier":1.0},

{"id":3,"name":"United Kingdom","destroyed":false,"color":{"r":0.8550000190734863,"g":0.2992500364780426,"b":0.42619776725769045,"a":1.0},"pos":{"x":190,"y":306},"startYear":0.0,"endYear":0.0,"killerId":0,"originId":0,"revoltIds":[],"killedIds":[2],"gold":3006.17529296875,"combatEfficiency":10.0,"landValue":57509,"maxArea":7358,"revoltPercent":13.135003089904786,"aiDisabled":false,"stress":0,"totalWars":3,"lives":[],"incomeModifier":1.0},
]

Cities

This section contains a list of all non-capital cities, their location and who they rightfully belong to ("r")

"cities":[
{"x":22,"y":121,"o":0,"r":0,"f":0},
{"x":440,"y":442,"o":0,"r":0,"f":0},
{"x":439,"y":431,"o":0,"r":0,"f":0},
{"x":456,"y":350,"o":0,"r":0,"f":0},
{"x":255,"y":261,"o":0,"r":0,"f":0},
{"x":180,"y":148,"o":0,"r":0,"f":0},
{"x":321,"y":157,"o":0,"r":0,"f":0},
{"x":366,"y":190,"o":0,"r":0,"f":0},
{"x":733,"y":200,"o":0,"r":61,"f":0},
{"x":138,"y":352,"o":0,"r":0,"f":0},
{"x":236,"y":284,"o":0,"r":0,"f":0},
{"x":668,"y":0,"o":0,"r":0,"f":0},
{"x":44,"y":160,"o":0,"r":0,"f":0},
{"x":60,"y":60,"o":0,"r":3,"f":0},
{"x":13,"y":26,"o":0,"r":6,"f":0},
{"x":52,"y":56,"o":0,"r":6,"f":0},
{"x":53,"y":21,"o":0,"r":6,"f":0},
{"x":127,"y":35,"o":0,"r":7,"f":0}
]

Alliances

A list of all alliances, their members (their IDs), stress (likelihood of collapsing) and whether its auto-generated name was changed.

"alliances":[
{"name":"Operation Iran","ids":[56,53,54],"stress":0,"ne":false},
{"name":"Baltic Commonwealth","ids":[23,20,21],"stress":1,"ne":true},
{"name":"Order of United Kingdom","ids":[3,1,4,22],"stress":0,"ne":false}
]

Wars

List of all ongoing wars, their participants, start and (for some reason) end date and targeted length.

"wars":[
{"attackers":[28],"attackersLeft":[28],"defenders":[23],"defendersLeft":[23],"targetLength":42.67084884643555,"startTime":175.15313720703126,"endTime":0.0},
{"attackers":[13,33,36],"attackersLeft":[13,36],"defenders":[10],"defendersLeft":[10],"targetLength":34.056846618652347,"startTime":196.08883666992188,"endTime":0.0}
]

Terrain

A long string of numbers, separated by commas, that encodes terrain in horizontal stripes from left to right, bottom to top.

Each number translates into terrain types as follows:

Number in

save file

Corresponding

terrain type

HEX code in

map image

0 water #FFFFFF
1 basic land #000000
2 crossing #CCCCCC
3 hills #333333
4 desert #666666
5 mountains #999999

Owner

A list of numbers similar to terrain, where each number is the ID of the nation that owns a given pixel, if the number is 0, nobody owns that pixel.

Trivia

  • Because save and scenario files are interchangeable, converting a save into a scenario is as easy as moving the save file into the scenario folder. Some map maker use this trick to include alliances and wars in their scenarios.
  • Maximum file size that AoC will read is 1GB, anything above that doesn't load.