ATOM RPG: Post-apocalyptic indie game Guide

ATOM Save Game File Editor for ATOM RPG

ATOM Save Game File Editor

Overview

How to use the AtomEditor.AzureWebsites.net web-based editor to customize your ATOM RPG saved games.

Intro

This document introduces [link], a web based editor for ATOM RPG saved game files. It supports both Simple and Advanced modes, allowing either editing of the party’s stats, skills and conditions through a simple UI, or (for the more adventurious) direct editing any of the JSON files embedded in the save game file.

If you prefer watching videos to reading text, here’s a YouTube playlist:

The editor is now out of Alpha. Thank you for helping with the testing!

Enjoy!

Fenrus

If you wondering why Dzhulbars looks a bit large in the Guide Icon, the scale of characters is one of the things it’s possible to edit through the Advanced Editor. Changes like this however could have unintended side-effects, and are recommended only for advanced & adventurous users!

Backing up your Saved Games

Always back up your saved games before editing them. Either by copying the file you are about to edit somewhere safe, or zipping up the whole directory.

Windows

On Windows, ATOM’s saved game files can be found under %USERPROFILE%AppDataLocalLowatomteamatom (%USERPROFILE% is a magic term recognized by Windows and you can use it in File Open dialogs, Windows Run dialogs, etc. and it will automatically be expanded to something like C:Usersyouralias)

Backing up a file is simply a case of copying the .as file somewhere else. You can also just zip up everything in the directory to back up all saved games.

Here’s a YouTube video showing both options in practice:

Mac

On Mac the location is ~/Library/Application Support/unity.AtomTeam.unity/

Security

The editor is implemented as a web page within your browser’s sandbox, meaning it can only touch the file you pass to it. By implementing the editor as a web page, it avoids security concerns such as having to download and run some random EXE from the internet.

Additionally, all processing is performed inside you browser – your saved games are not sent to the server.

The drawback with hosting as a web page is that browser security (for very good reasons) won’t allow a website to control the directory where the file load and save dialogs open. As such, you will need to have basic file navigation skills to use the editor.

Simple Editor

The Simple Editor is the option for you if you just want to update the stats and skills of your party, or you want to remove a negative condition such as radiation poisoning.

The above Youtube video is a Simple Editing tutorial if you prefer watching to reading.

1. Open the editor: [link]

The site supports Chrome, Edge and Firefox. Mobile is not supported.

2. Select the file to edit

Click the ‘Select saved game file to edit…’ button and a File Open dialog will appear.
When selecting a file, you need to first navigate to ATOMs saved game folder. The easiest way to get there is to copy %USERPROFILE%AppDataLocalLowatomteamatom into your clipboard (~/Library/Application Support/unity.AtomTeam.unity/ if you are on Mac) and paste it into the File Open dialog.

You can find the most recent save by sorting by Last Modified Date descending. Save game 0 is your quick save. Save game -1 is your autosave. Save game -2 (if you have one) is your Survival Mode save. The other number match the number you see in side Atom RPG’s load game page.

3. Changes your party values

Use the plus and minus buttons to change your party stats.

4. Click on the Save and Export button

If you are using a default installation of Chrome or FireFox this will download you updated file to you downloads directory and you’ll need to copy this file back to the Saved Game directory. If you are using Edge, you can select ‘Save As’ and select the Saved Game directory directly (if you just click ‘Save’ it will go to the downloads directory).

Advanced Editor

Once a file has been opened, you can click on the Advanced Editor tab to enable direct editing of JSON files.

The editor opens the player.dat JSON file by default, but you can switch to any other JSON file by selecting it from the list on the left.

The following YouTube video shows the Advanced Editor being used to triple Dzhulbars’ size.

Searching within a file

When the text cursor is inside the editor before, you can press Ctrl+F to bring up the editor’s Find dialog (if you press Ctrl+F outside of the editor, you’ll get the browser’s Find dialog, which is probably not what you wanted).

Often the terminology used in the save file is different from that used in-game. For example, Dzhulbars is called Wolfter, Dexterity is Agility, and so on. You can find a list of common translations in the ‘In-game vs JSON Terminology’ section below.

Saving and Exporting from the Advanced Editor

If you have unsaved edits in the current file, and select a JSON file in the left nave (even if the file that’s already open) the editor will discard your changes. Always press the Save button before changing files.

To export the edited saved game back to disk, click the ‘Export .as File’. If there are unsaved changed is the current file, they will automatically be saved before exporting.

Advanced Editor – In-game vs JSON Terminology

The names of things in-game do not always match the names used in the saved game files. The following conversion tables may save you some time. The Simple Editor UI always shows the in-game names for things.

NPCs

Game Term
Save Game Term
Dzhulbars
Wolfter
Hexogen
Gexogen

Stats (nothing s.p.e.c.i.a.l. to see here <cough/>)

Game Term
Save Game Term
Strength
strength
Attention
perception
Endurance
endurance
Personality
charmisma
Intelligence
intellegence
Dexterity
agility
Luck
luck

Skills

Game Term
Save Game Term
Lock Picking
lockpick
Martial Arts
Unarmed
Pistols and Guns
SmallGuns
Pickpocket
Alertness
Rifles and Shotguns
BigGuns
Speechcraft
Speech
Stealth
Sneak
Survival
Outdoorsman
Throwing Weapons
Throwing
Tinkering
crafting
Technology
Science
Not present*
Alertness

To find skills not shown above, just remove any spaces in the name. E.g. ‘Automatic Weapons’ is ‘AutomaticWeapons’ in the saved game file
* Alertness is not shown in the UI. If you work our what it does, let me know :-). Hexagon is the only character I’ve met so far with a non-zero value.

Credits

  • Coding / Website / Investigation / Additional Graphics – Dave B.
  • Export and External Link Graphics & Images – Public domain sources
  • Made possible by the pako [github.com]and Monoco [github.com]libraries.
  • UTF8 handling code taken from work by Rogue Amoeba[weblog.rogueamoeba.com] and Joni Salonen[gist.github.com]
  • Mac file location from Steam posting by Igor.maxuk
  • Inspired by Tam’s Steam Guide and other postings.

This guide was inspired by several ‘how to edit saved games’ blog postings that had a too high a barrier of entry for many users. Not everyone is comfortable with hex editors or recalculating file sizes. Plus even experts find using the right tool for the job easier.

I’d been looking for a little project to refresh my JavaScript / HTML skills with, and writing an editor for ATOM saved games entirely in JavaScript seemed a suitable challenge.

The website was written in my spare time over the course of three weekends: one to implement the code, one to drown it in CSS because 1995 wanted their DOS app back, and one for the YouTube videos and this written guide.

Originally, I expect just to do just the front-end in JavaScript, and to have to fall back on a C# backend to do the more complex stuff (the unzipping and rezipping for example). But low and behold, there are JavaScript libraries for these sort of things nowadays and no backend processing was required – which is good, as the uncompressed files were too large to send up/down all the time, or (alternatively) keep in memory server side during the session).

Source Code

i’ve released the source code for the web site under the MIT licence (which is what the key libraries I depend on use) on [link]. The interesting file from the persepective of ATOM saved game editing is this one[github.com]

Feel free to fork or place a pull request. I don’t have a lot of free time during the week, so don’t expect immediate responses to fixes, comments or PRs.

I didn’t bother building resx localization support in so the site currently only supports English. If someone wants to translate all the text into Russian, I could be persuaded to move it over to resx based strings. Otherwise, feel free to fork and translate your own version.

SteamSolo.com