Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Saving System: Difference between revisions

From New Stars Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Save files are [https://yaml.org/ YAML-based] and are backed-up with Steam cloud. They also work cross-platform on Windows and Linux. Save files typically take up around 1-2MB in space.
Save files are [https://yaml.org/ YAML-based] and are backed-up with Steam cloud. They also work cross-platform on Windows and Linux. Save files typically take up around 1-2MB in space.


=== Save Locations ===
== Save Locations ==


==== Windows ====
==== Windows ====
Line 13: Line 13:
</syntaxhighlight>
</syntaxhighlight>


=== Save File ===
== Save File ==
 
Here is what part of an example save file looks like:<syntaxhighlight lang="yaml">
Here is what part of an example save file looks like:<syntaxhighlight lang="yaml">
GameManager:
GameManager:
Line 59: Line 60:
     ...
     ...
</syntaxhighlight>
</syntaxhighlight>
== Identifiers ==
Some fields in save files implicitly contain string values, which represent an integer value behind the scenes (enums). In this example, 'Origin' and 'Ethics' use a specific ID or Identifier to represent a value. All identifiers use underscores where there are spaces (snake case). Saves should also load with numbers instead of IDs, although using listed identifiers is the recommended approach.<syntaxhighlight lang="yaml">
...
Origin: Stellar_Nomarchs
Ethics:
- Cooperative
- Cooperative
...
</syntaxhighlight>
=== Ship Types ===
{| class="wikitable"
!ID
!Type
|-
|0
|Gunboat
|-
|1
|Frigate
|-
|2
|Light_Cruiser
|-
|3
|Heavy_Cruiser
|-
|4
|Star_Cruiser
|-
|25
|Explorer
|-
|26
|Builder
|-
|27
|Colonist
|}
=== Game Events ===
==== Diplomatic Events ====
{| class="wikitable"
!ID
!Name
|-
|1
|Establish_Embassy
|-
|2
|Request_Trade
|-
|3
|Declare_War
|-
|5
|Make_Peace
|-
|6
|Denounce
|-
|7
|Integrate_Player
|-
|8
|Establish_Alliance
|-
|9
|Leave_Alliance
|-
|10
|Meet_Player
|-
|11
|Make_Puppet
|-
|12
|Make_Suzerain
|-
|14
|Make_Independent
|-
|16
|Borders_Closed
|-
|18
|Declare_Friendship
|-
|19
|Defeat_Player
|-
|20
|Join_Wars
|-
|21
|Accept_Trade
|-
|22
|Game_Event_Occurred
|-
|23
|Form_Business_Partnership
|-
|24
|End_Business_Partnership
|-
|25
|Form_Galactic_Union
|-
|26
|Join_Galactic_Union
|-
|27
|Leave_Galactic_Union
|-
|28
|Invite_Galactic_Union
|-
|29
|Request_Galactic_Union
|-
|30
|Kick_Galactic_Union
|-
|31
|Accept_Galactic_Union
|}
==== Self Events ====
{| class="wikitable"
!ID
!Name
|-
|50
|Tech_Complete
|-
|51
|Went_Bankrupt
|-
|52
|Fleet_Lost
|-
|53
|New_Discovery
|-
|54
|Old_Stars
|-
|55
|Colony_Queue_Complete
|-
|56
|StarBase_Queue_Complete
|-
|57
|Fleet_Idle
|-
|58
|Colony_Founded
|-
|59
|Colony_Occupied
|-
|60
|Colony_Liberated
|-
|61
|StarBase_Lost
|-
|62
|Report_Bug_Reminder
|}
==== Galactic Natural Disasters ====
{| class="wikitable"
!ID
!Name
|-
|200
|Supernova
|-
|201
|Solar_Storm
|-
|203
|Hypernova
|}
==== Colony Discoveries ====
{| class="wikitable"
!ID
!'''Name'''
|-
|'''300'''
|Colony_Exotic_Planet_Life
|-
|301
|Colony_Unpredictable_Weather_Patterns
|-
|302
|Colony_Unique_Wildlife
|-
|303
|Colony_Dangerous_Wildlife
|-
|304
|Colony_Dense_Forests
|-
|305
|Colony_Abandoned_Alien_Colony
|-
|306
|Colony_Geothermal_Hot_Springs
|-
|307
|Colony_Abundant_Natural_Wonders
|-
|308
|Colony_Widespread_Volcanic_Regions
|-
|309
|Colony_Extreme_Polar_Regions
|}
==== Colony Natural Disasters ====
{| class="wikitable"
!ID
!Name
|-
|1050
|Global_Cooling
|-
|1052
|Global_Nothing
|-
|1053
|Global_Warming
|-
|1054
|Global_Ice_Age
|-
|1100
|Asteroid_Appears
|-
|1101
|Asteroid_Disappears
|-
|1102
|Asteroid_Impact
|-
|1103
|Asteroid_Does_Nothing
|}
==== '''Midgame Events''' ====
{| class="wikitable"
!ID
!Name
|-
|1500
|'''Cosmic_Convergence'''
|-
|1501
|'''Celestial_Squid_Slain'''
|}
=== Technology Identifiers ===
(unimplemented)
=== Planet Identifiers ===
==== Planet Type ====
The type of a planet.
{| class="wikitable"
|+
!ID
!Type
|-
|0
|Barren
|-
|1
|Asteroid
|-
|2
|Giant
|-
|3
|World
|-
|4
|Broken
|}
==== Types of Climate ====
Note that only valid planet and climate combinations, defined on the [[planet]] page, will work.
{| class="wikitable"
|+
!ID
!Type
|-
|0
|'''Stormy'''
|-
|1
|'''Calm'''
|-
|2
|'''Ice'''
|-
|3
|'''Ocean'''
|-
|4
|'''Arid'''
|-
|5
|'''Toxic'''
|-
|6
|'''Molten'''
|-
|7
|'''Rocky'''
|-
|8
|Terrestrial
|-
|9
|'''Pristine'''
|-
|10
|'''Void'''
|}

Latest revision as of 05:32, 20 July 2024

Save files are YAML-based and are backed-up with Steam cloud. They also work cross-platform on Windows and Linux. Save files typically take up around 1-2MB in space.

Save Locations

Windows

C:\Users\[username]\AppData\LocalLow\NewStars\NewStars\[steam_user_id]\Saves

Linux (Ubuntu)

~/.config/unity3d/NewStars/NewStars/[steam_user_id]/Saves

Save File

Here is what part of an example save file looks like:

GameManager:
  PlayerPreset:
    EmpireName: Crusaders of Ales
    Origin: Stellar_Nomarchs
    Ethics:
    - Cooperative
    - Cooperative
    Species:
      Name: Ales
      ShipIndex: 0
      Type: Synthetic
      Preference: Arid
      _avatarName: Portrait_03_nbg
    _iconName: hades-symbol
    _primaryColor:
      r: 0.8941177
      g: 0.6078432
      b: 0.05882353
      a: 1
    _secondaryColor:
      r: 0
      g: 0
      b: 0
      a: 0
  MapSettings:
    AIClanCount: 6
    AIPlayerCount: 12
    Difficulty: Hard_Renegade
    Duration: Comet
    Size: Tiny
    EnabledVictories:
    - Time
    - Survival
    - Conquest
    - Ascension
    - Defeat
    HyperlaneDensity: 1
    WormholeDensity: 1
    Seed: -240221925
    GalaxyName: Milky Way
    MeetAllPlayers: false
    RevealAll: false
    ...

Identifiers

Some fields in save files implicitly contain string values, which represent an integer value behind the scenes (enums). In this example, 'Origin' and 'Ethics' use a specific ID or Identifier to represent a value. All identifiers use underscores where there are spaces (snake case). Saves should also load with numbers instead of IDs, although using listed identifiers is the recommended approach.

...
Origin: Stellar_Nomarchs
Ethics:
- Cooperative
- Cooperative
...

Ship Types

ID Type
0 Gunboat
1 Frigate
2 Light_Cruiser
3 Heavy_Cruiser
4 Star_Cruiser
25 Explorer
26 Builder
27 Colonist

Game Events

Diplomatic Events

ID Name
1 Establish_Embassy
2 Request_Trade
3 Declare_War
5 Make_Peace
6 Denounce
7 Integrate_Player
8 Establish_Alliance
9 Leave_Alliance
10 Meet_Player
11 Make_Puppet
12 Make_Suzerain
14 Make_Independent
16 Borders_Closed
18 Declare_Friendship
19 Defeat_Player
20 Join_Wars
21 Accept_Trade
22 Game_Event_Occurred
23 Form_Business_Partnership
24 End_Business_Partnership
25 Form_Galactic_Union
26 Join_Galactic_Union
27 Leave_Galactic_Union
28 Invite_Galactic_Union
29 Request_Galactic_Union
30 Kick_Galactic_Union
31 Accept_Galactic_Union

Self Events

ID Name
50 Tech_Complete
51 Went_Bankrupt
52 Fleet_Lost
53 New_Discovery
54 Old_Stars
55 Colony_Queue_Complete
56 StarBase_Queue_Complete
57 Fleet_Idle
58 Colony_Founded
59 Colony_Occupied
60 Colony_Liberated
61 StarBase_Lost
62 Report_Bug_Reminder

Galactic Natural Disasters

ID Name
200 Supernova
201 Solar_Storm
203 Hypernova

Colony Discoveries

ID Name
300 Colony_Exotic_Planet_Life
301 Colony_Unpredictable_Weather_Patterns
302 Colony_Unique_Wildlife
303 Colony_Dangerous_Wildlife
304 Colony_Dense_Forests
305 Colony_Abandoned_Alien_Colony
306 Colony_Geothermal_Hot_Springs
307 Colony_Abundant_Natural_Wonders
308 Colony_Widespread_Volcanic_Regions
309 Colony_Extreme_Polar_Regions

Colony Natural Disasters

ID Name
1050 Global_Cooling
1052 Global_Nothing
1053 Global_Warming
1054 Global_Ice_Age
1100 Asteroid_Appears
1101 Asteroid_Disappears
1102 Asteroid_Impact
1103 Asteroid_Does_Nothing

Midgame Events

ID Name
1500 Cosmic_Convergence
1501 Celestial_Squid_Slain

Technology Identifiers

(unimplemented)

Planet Identifiers

Planet Type

The type of a planet.

ID Type
0 Barren
1 Asteroid
2 Giant
3 World
4 Broken

Types of Climate

Note that only valid planet and climate combinations, defined on the planet page, will work.

ID Type
0 Stormy
1 Calm
2 Ice
3 Ocean
4 Arid
5 Toxic
6 Molten
7 Rocky
8 Terrestrial
9 Pristine
10 Void