How to make a game autosave and autoload
There's probably a much easier way, but you could have variables which change depending on what level your in ect, along with others that toggle the use of boost ups and collected points etc. Then you can save these variables to different .txt files so that they're the same when you start up the game next time.
For Python Variables:
Connect this script to a keyboard sensor, with a status of All Keys, followed by an always sensor. The pytho controller is in module mode. You need a folder next to the .blend called &quot;SaveLoad&quot;. And finally add two game properties to you object just so that you can see that the script really works.
S Key to save, L Key to Load and A Key to change the variables, but obviously you can easily modify the code to you needs of automatic execution.
import bge
from bge import logic
path = logic.expandPath(&quot;//SaveLoad/&quot;)

cont = logic.getCurrentController()
own = cont.owner
keys = cont.sensors[&quot;Keyboard&quot;]

var1 = 20
var2 = 60

def save():
    global var1
    global var2
    for key,status in keys.events:
        if status == logic.KX_INPUT_JUST_ACTIVATED:
            string = bge.events.EventToString(key)
            
            if string == &quot;SKEY&quot;:
                info = str(var1)+&quot;,&quot;+str(var2)
                file = open(path+str(own)+&quot;.txt&quot;, &quot;w&quot;)
                file.write(str(info))
            
            if string == &quot;LKEY&quot;:
                file = open(path+str(own)+&quot;.txt&quot;, &quot;r&quot;)
                line = file.readline().replace(&quot;\n&quot;,&quot;&quot;).split(&quot;,&quot;)
                var1 = int(line[0])
                var2 = int(line[1])
            
            if string == &quot;AKEY&quot;:
                var1 += 1
                var2 += 2
    
    own[&quot;prop&quot;] = var1
    own[&quot;prop0&quot;] = var2


For Game Properties
This script needs to be set up the same way as the variable script, but yet again you do have the option to change it to your needs.
from bge import logic
path = logic.expandPath(&quot;//SaveLoad/&quot;)

cont = logic.getCurrentController()
own = cont.owner
keys = cont.sensors[&quot;Keyboard&quot;]

### Use keyboard
for key,status in keys.events:
    if status == logic.KX_INPUT_JUST_ACTIVATED:
        string = bge.events.EventToString(key)
        
        ### Save &quot;prop&quot; and &quot;prop0&quot; to file
        if string == &quot;SKEY&quot;:
            info = str(own[&quot;prop&quot;])+&quot;,&quot;+str(own[&quot;prop0&quot;])
            file = open(path+str(own)+&quot;.txt&quot;, &quot;w&quot;)
            file.write(str(info))
        
        ### Load &quot;prop&quot; and &quot;prop0&quot; from file
        if string == &quot;LKEY&quot;:
            file = open(path+str(own)+&quot;.txt&quot;, &quot;r&quot;)
            line = file.readline().replace(&quot;\n&quot;,&quot;&quot;).split(&quot;,&quot;)
            own[&quot;prop&quot;] = int(line[0])
            own[&quot;prop0&quot;] = int(line[1])
        
        ### Change values
        if string == &quot;AKEY&quot;:
            own[&quot;prop&quot;] += 1
            own[&quot;prop0&quot;] += 1.3