Skip to content

Save File Notes

Ryan Babij edited this page Aug 31, 2018 · 1 revision

Okay this probably doesn't belong here but I'm too lazy to go and update my website so I'll put it here for now.

I want to create awesome human-readable savefiles. This is good because then people can modify them and come up with interesting scenarios. Here's an example of an awesome save file from Hearts of Iron:

    navalunit = { 
        id = { type = 14800 id = 26 } 
        name = "1st Fleet" 
        location = 158 
        prevprov = 95 
        home = 158 
        task = 0 
        taskprov = 158 
        date = { 
            year = 1936 
            month = january 
            day = 0 
            hour = 0 
            } 
        development = no 
        morale = 0.001 
        division = { 
            id = { type = 14800 id = 27 } 
            name = "USS Lexington" 
            type = carrier 
            model = 2 
            extra = none 
            strength = 100.000 
            organisation = 32.500 
            defaultorganisation = 65.000 
            maxspeed = 24.000 
            supplyconsumption = 0.700 
            fuelconsumption = 1.000 
            surfacedetectioncapability = 8.000 
            airdetectioncapability = 9.000 
            subdetectioncapability = 1.000 
            visibility = 100.000 
            seadefence = 18.000 
            airdefence = 8.000 
            seaattack = 1.000 
            subattack = 0.000 
            shorebombardment = 0.000 
            airattack = 2.500 
            transportcapability = 0.000 
            aircraftcapacity = 2.000 
            range = 9000.000 
            travelled = 0.000 
            }

Wow amazing, I can easily see that the USS Lexington is in the 1st Fleet. If I want to I can change things around just for fun.

Here's a crap save file:

ós¯cá’{Eá[E#‚§A world1 Josip_Idromeno € Z #*ÿ!(ÿ&ÿ 'ÿ!)ÿ")ÿ")ÿ")ÿ 'ÿ")ÿ")ÿ!(ÿ#*ÿ$+ÿ%-ÿ$+ÿ#*ÿ#+ÿ%-ÿ$+ÿ#+ÿ%,ÿ%-ÿ'.ÿ'/ÿ'.ÿ&-ÿ&-ÿ&-ÿ'-ÿ'.ÿ(0ÿ(/ÿ)0ÿ(0ÿ)1ÿ*1ÿ*1ÿ'.ÿ(/ÿ)1ÿ*1ÿ!+3ÿ *2ÿ",4ÿ#.6ÿ$/7ÿ$/7ÿ%08ÿ&19ÿ(4=ÿ*5>ÿ+6?ÿ-9Bÿ0<Eÿ2>Gÿ3@Iÿ3?Iÿ4@Jÿ5AJÿ3@Iÿ3@Iÿ.;Fÿ.;Fÿ.<Fÿ/<Gÿ)6Cÿ*7Dÿ*7Eÿ*7Dÿ*7Dÿ*7Eÿ*7Eÿ*7Dÿ*7Cÿ*7Dÿ*7Dÿ*7Cÿ*7Cÿ*7Dÿ+7Dÿ)6Cÿ)6Bÿ*6Bÿ*6Cÿ)6Bÿ)6Bÿ)5Aÿ)5Bÿ)5Bÿ)5Bÿ(4Aÿ(4Aÿ(4Aÿ'3?ÿ'2?ÿ&2>ÿ%0<ÿ$/:ÿ#.9ÿ"-8ÿ!,7ÿ!,6ÿ)3ÿ'1ÿ)3ÿ(/ÿ )/ÿ&19ÿ*5>ÿ *2ÿ(.ÿ"(ÿ"(ÿ"(ÿÿÿ"ÿ ÿ ÿ!ÿ ÿ ÿ ÿÿ ÿ ÿ ÿ"*ÿ!(ÿ&ÿ 'ÿ 'ÿ!(ÿ!(ÿ")ÿ!(ÿ!(ÿ!(ÿ!(ÿ!)ÿ"*ÿ$+ÿ#*ÿ"*ÿ$+ÿ$+ÿ#+ÿ#*ÿ$+ÿ$,ÿ&-ÿ'/ÿ&.ÿ&.ÿ&.ÿ&.ÿ'.ÿ'/ÿ(0ÿ'/ÿ'0ÿ'0ÿ*2ÿ *4ÿ!+5ÿ!+4ÿ#.6ÿ#-6ÿ$/8ÿ$/8ÿ$/8ÿ%09ÿ&1;ÿ)5>ÿ)4?ÿ,7Aÿ,8Bÿ.:Dÿ1>Gÿ1>Hÿ2?Hÿ3?Iÿ3?Iÿ-:Eÿ-9Eÿ,9Eÿ(6Cÿ(6Cÿ(5Cÿ)6Dÿ)6Dÿ)6Dÿ)6Dÿ)5Bÿ)6Dÿ*7Eÿ*7Dÿ*7Dÿ*7Dÿ)6Cÿ)6Bÿ)6Bÿ)6Cÿ)5Aÿ(5Aÿ(4Aÿ(4@ÿ(4?ÿ'3?ÿ'3>ÿ(4@ÿ)5Bÿ)5Aÿ)5Aÿ(5Aÿ(4Aÿ(4@ÿ(4@ÿ(4@ÿ'3?ÿ(4@ÿ'3?ÿ%1=ÿ;ÿ#.9ÿ"-7ÿ!+6ÿ)3ÿ(2ÿ'0ÿ&/ÿ(2ÿ *2ÿ&,ÿ!*1ÿ&1;ÿ(4>ÿ'.ÿ")ÿ#)ÿ$+ÿ!'ÿÿÿÿ ÿ"ÿ!ÿ!ÿÿÿÿÿÿ ÿ!(ÿ!(ÿ!(ÿ!(ÿ 'ÿ&ÿ 'ÿ")ÿ")ÿ

Wow that's terrible. Why would you do that.

Anyways I'm working on implementing my save file format. Mine won't be as good as the first example, but it should be human-readable, maybe something like this:

  [HOUSE1:[HOUSENAME:My house][ROOM1:Bedroom[ITEM1:Bed][ITEM2:Bookshelf]][ROOM2:Lounge]]
  [PERSON1:[NAME:Ryan][Friends:PERSON2,PERSON3]]