NEO Scavenger is an addicting, turn-based, post-apocalyptic survival simulator from Bluebottle Games. It's ridiculously hard to stay alive and permadeath ends all your progress at a moment's notice.
Permadeath is all well and good for the serious gamer, but for an amateur like myself who plays something for a few hours once in a while, no saving means never getting anywhere. In order to make it past the first in-game week, I've put together a handy little python script to make sure that death by Dogman (or starvation, or infection, or cholera, or hypothermia, or feral dog pack, or Enfield Horror, or stranger with hunting rifle) does not suddenly end a game I've sunk twelve valuable hours into.
The gaming purists may call me a pussy for cheating permadeath, but if you've got better things to do with your life than desperately hunting for clothing after your twentieth awakening from cryo, NEO Cheater is the answer you've been looking for.
Step 1: The Python Code
NEO Scavenger is a Flash game that stores your saved game as a Flash cookie deep in your system's browser support folders. When you die, the game deletes the cookie and you have to start over. I circumvent this by using a python script to periodically copy the saved game (which is updated as you play) to another folder. When I die, I just copy and paste one of the backups (depending on how far back I think I have to go to avoid the circumstances that led to my unforeseeable death) into the folder where the game keeps its cookies. I then select Continue on the game's main menu, and I'm back to where I was.
The script is designed to make a backup copy every five minutes. After the fifth copy is made, it begins to overwrite the older copies. The code saves the backup copy number to a file called backupLog.txt so that it can pick up on the right backup number the next time you run it (so you don't stop playing after it saves to backup 1 and then get backup 1 overwritten the next time you start to play).
I've posted the script I used here. I wrote it using python 3 on Windows 10 (the absolute worst software platform ever made, I think). You could easily modify it for Mac or Linux (yay for Linux!). You will have to edit the line of code that sets the source path, as it will likely be different than the one on my computer. The program normally saves the backup to the directory that contains the script, but you can edit that as well if you want.
Open or type this code using Notepad or a script editor program. Instructables doesn't seem to like all the indents, so I'm not going to write the code here. You can see it in the pictures and it's included in a text file as an attachment. Save the code as "NEO_Cheater.py" on your computer. Choose to save as file type "All Files". You can then launch the script like a normal executable (you'll need to install Python 3 to run it; not sure whether Python 2 will work).
This is the first thing I've ever written with python, so please be nice.
Step 2: Using NEO Cheater
After you've made the code into a python script, store it wherever you want to save your backups. I keep mine in a folder along with the shortcut to start the game and another shortcut to the folder where the game stores the save game cookie. To use it, start the script and then launch the game. The script will run in the CMD shell and will quietly save backups every five minutes. When you're done playing, simply close the CMD window to stop it.
To restore your game, copy one of the backups back into the cookie directory and remove the number at the end of the file name so that the file extension is ".sol" instead of ".sol#". Your game should be restored when you select Continue on the game's main menu.
The code is designed to print an error message if it fails to copy the saved game cookie. The code then attempts to copy the file again a few moments later. When you die, the cookie is deleted and can't be copied, so the program will give error messages. Ignore these, as they do not affect the program or the game. Once you have replaced the saved game cookie, they will cease to display.