File Formats

From Ascent
(Difference between revisions)
Jump to: navigation, search
(Created page with "Description of files and formats made available to players. At this time there are 2 types of files that the game makes available to programmers, for databasing and analysis ...")
 
m
Line 15: Line 15:
 
The settlement cache files have 6 main sections, seperated with a | (bar symbol).
 
The settlement cache files have 6 main sections, seperated with a | (bar symbol).
  
*'''Reports''' - Starts with either 2 or 3 bytes, depending on if it is a colony(2) or OSB(3) what they mean is a mystery.  Followed by 6 comma delimited number that may be coordinates.  Followed by text as seen in Entertainment Center's info.
+
*'''Reports''' - Starts with either 2 or 3 bytes, depending on if it is a colony(2) or OSB(3) what they mean is a mystery.  Followed by 6 comma delimited numbers PowerUsed, PowerTotal, WaterUsed, WaterTotal, ColonistsCount, HousingTotal.  Followed by text as seen in Entertainment Center's info.
 
*'''Buildings''' - gives a colon (:) separated record of each building. Commas separate each data field.  Some of the fields are lists with other separators.  See the EBNF below for more details, as known.
 
*'''Buildings''' - gives a colon (:) separated record of each building. Commas separate each data field.  Some of the fields are lists with other separators.  See the EBNF below for more details, as known.
 
*'''Unknown 1''' - A number.
 
*'''Unknown 1''' - A number.

Revision as of 17:38, 14 June 2015

Description of files and formats made available to players.

At this time there are 2 types of files that the game makes available to programmers, for databasing and analysis purposes. The first is the Settlement Cache files, which contain a dump of a single colony or OSB, including buildings and stored materials. The second is the core sample list.

Both types of files are located in:

C:\Users\<UserName>\AppData\LocalLow\Fluffy Kitten Studios\Ascent _ The Space Game\

<UserName> is the name you login to your computer.

Settlement Cache

The settlement Cache files contain data about buildings and assets. Every colony or OSB you visit will get it's own file, and it will be updated as often as you're client get's new data from the server.

Note: the files do not have the name of the colony/OSB. You will have to use the file's modified date/time or find known values within the file to locate your colony/OSB file.

The settlement cache files have 6 main sections, seperated with a | (bar symbol).

  • Reports - Starts with either 2 or 3 bytes, depending on if it is a colony(2) or OSB(3) what they mean is a mystery. Followed by 6 comma delimited numbers PowerUsed, PowerTotal, WaterUsed, WaterTotal, ColonistsCount, HousingTotal. Followed by text as seen in Entertainment Center's info.
  • Buildings - gives a colon (:) separated record of each building. Commas separate each data field. Some of the fields are lists with other separators. See the EBNF below for more details, as known.
  • Unknown 1 - A number.
  • Warehouse Storage - Starts with total Materials stored and maximum storage available for the colony/OSB. Followed by "Stored:". Then a line for each stored item, a colon (:), it's count. Note: The \n after each line is written as the character text, not the new-line character.
  • Unknown 2 - Might be information about what the Shipyard is building.
  • Ship Module Storage - Contains a list of text, 1 per line, of each stored ships module.

Note: The cache file is overwritten without truncation. It is very likely that your parser will not be able to tell where current data stops and garbage follows. It will help to check each stored ship module's text and stop when invalid modules are found, and keep an eye out for invalid characters, like another | (bar). It is possible that the first bytes in the file indicate a file length, but so far a relationship hasn't been found.


SettlementCache EBNF

If you do not yet know the basics of EBNF grammars, read the wikipedia article "EBNF".

This grammar is incomplete, and incorrect. Feel free to use the Discussion tab, or contact me(teddga) in game about corrections if you do not yet have permissions to edit this wiki.



File = Report, '|', Buildings, '|',  unknown, '|',  Stored, '|', unknown, '|', Stored_modules, Trailing_Garbage;

Report = { AnyCharacter_except_bar } ;

Buildings = 
	BuildingType, Comma_Character,
	X, Comma_character,
	Y, Comma_Character,
	Under_Construction, Comma_Character,
	LocalStorage, Comma_Character,
	PercentComplete, Comma_Character,
	ProducesMat, Comma_Character,
	PerDayProduction, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	Unknown, Comma_Character,
	PerUnitMats, Comma_Character,
	UpgradeInfo, Comma_Character,
	Unknown, Comma_Character,
	PoweredOff, Comma_Character,
	Z, Comma_Character,
	ConstructionTimeRemaining, Comma_Character,
	Unknown, Comma_Character
	;

BuildingType =
	  "Iron Mine"
	| "Carbon Harvester"
	| ...
	;


Under_Construction = 'true' | 'false' ;

LocalStorage = integer, '/', integer ;

UpgradeInfo = 'Enhanced Production +', UpgradCount, '/Requires;', ...?

Stored = amount_float, Space_Character, 'of', Space_Character, amount_float, Space_Character, 'Stored\n', { ItemName, ':', amount_float, '\n' }  ;

Stored_modules = 'Stored modules:', { (Space_Character), ShipModule, (Space_Character), } ;

ShipModule =  Class, Space_Character, ShipModuleName ;

ShipModuleName = "Mining Beam" 
	| "Axial Carbon Dioxide Laser"
	| "Capacitor"
	| ...
;

Class = "Class", Space_Character, positive_integer ;

Space_Character = ' ' ; 

Comma_Character = ',' ;

Trailing_Garbage = { AnyCharacter_except_EOF }
Personal tools
Namespaces

Variants
Actions
Navigation
To Begin
Travelling
Trading
Character Skills
Player Built Star Bases
Exploration
Settlements and Colonies
Politics
PVE Combat
Tools