The Cave seams to have many situations where game breaking bugs occur, but thankfully it looks like many of these can be fixed fairly easily thanks to the easily editable structure of the savegames.
Should you encounter any game breaking bug as mentioned on return0’s thread about the Scientist laser door bug (which is the bug which incited me to try fixing my save and where return0 graciously posted my fix while my forum account was getting confirmed) and skwi’s Monk glitch thread, you have 2 options if you don’t want to start a new game (unlocks are preserved even when in new games as stated by DF Justin):
a) Send the save to support AT doublefine DOT com with a description saying something along the lines of “The monk puzzle broke me! My characters were Monk, (Blank) and (Blank) so please fix me!” (Use the characters you had, or I will mock your copy/paste fail.) I’ll then fix your save file as much as I can and send it back to you. There is a bit of a queue for this though, so your patience is appreciated, and kind of unnecessary =) [Shamelessly lifted from DF Justin’s post]
b) Edit the save yourself! No waiting time, pretty simple procedure (which is what this thread is about:
1. Go to C:\Users\(USERNAME)\AppData\Roaming\Doublefine\TheCave\(NUMBERS) to see your save called “auto.sav”, make a copy of that file as a backup, we will be working with the original file. Since this is very important allow me to repeat:
MAKE A BACKUP OF YOUR ORIGINAL AUTO.SAV IN CASE ANYTHING GOES WRONG
2. Open the original “auto.sav” in Notepad++ - get it here - (NOT NOTEPAD OR WORD - As mentioned in some of the posts below saving using these editors can cause issues as they by default do not save the file with the correct encoding leading to a save file is incompatible error).
3. CTRL+F and find “CompletedRequirements=”, then search for the ““bubble” corresponding to the segment of the game where your save is at, for example the scientist one is “ScientistBubble_” followed by event names. For the scientist glitch, here is the set of events where the blast door is unlocked, the rocket is on, but the laser door is not unlocked:
Each game segment has a sequence of events like this recorded in the save to show where you are in the game. Most of the game breaking bugs I’ve seen so far seem to involve saving in the middle of one such sequence, quitting and loading the game after which some glitch occurs and a necessary event does not happen on loading (such as the laser door unlocking in the scientist level even after going down the shaft and back up) or an obstacle reappearing (such as the Monk glitch).
4. If you know the name of the event which is supposed to occur, you can add it to the list. For the scientist glitch, add “,ScientistBubble_LaserDoorUnlocked” after the latest “ScientistBubble_” entry you see (should be the ones in step 3 in fact) then save the modified file. The name of the event refers to what should have happened, of course if you’re stuck at a point without a post-glitch save finding that event name would be an issue (I got this name after doing the steps described from the next point onward in fact), so what you need to do is go back to a point BEFORE the glitch, read on to find out how.
5. Remove the specific events which refer to the state of the level prior to the series of steps you need to redo and are not working. These events are listed in the order where they happen so you can start from the last event in the list then remove them one by one until you revert if you want to test. For example, in the scientist you can restart the launch sequence and redo the hack and therefore have a chance at passing this part of the game normally by deleting “ScientistBubble_LaunchSequenceStarted,ScientistBubble_BlastDoorUnlocked,ScientistBubble_RocketOn” from the save so that when you load the terminal at the top still needs to be hacked!
The above resets the events in the level, you will still load at the position your checkpoint was at. You can revert to earlier checkpoints too by replacing “Cave_(character segment)_CheckpointVolume1” in the save (located earlier in the save file) where character segment is Scientist for the scientist, Intro for the intro puzzle, etc by Cave_(character segment)_CheckpointVolume(number), bigger number for the scientist bug as bigger number refers to older locations in that level, other levels such as the Monk have different checkpoint structure. Just make sure that the events you want to disable are removed as described earlier to ensure you have effectively reverted to that particular section of the event and have a chance at passing the level normally.
6. Load the game and the you can proceed normally.
Now I understand this may seem complex but once you get into it it’s quite simple really, if anyone can supply the names of the various checkpoints and events (I’m still finishing the game so don’t have them all), please post them in this thread and I’ll gladly consolidate all of them on this post until a patch is released to fix these issues.
To avoid this type of glitch the best advice seems to be to complete the entire puzzle between two checkpoints or an entire character segment before saving and quitting the game.
The Monk Issue is fixed! Any locked out character can be brought in with the rest of your party under the bridge and you can proceed to finish the last section of the level and exit to the master. If you want the achievement with the bridges, just keep the feather then return down the slope and bust that bridge again! (You’d probably need to climb back up afterwards though)
Here’s what this has fix has uncovered:
1. There is another type of checkpoint called a rallypoint, in this case “Cave_MonkBubble_RallyPoint” minus quotes, which is just under the ladder leading to the first monk trial, Cave_MonkBubble_CheckpointVolume3 is the checkpoint at the start of the first trial when you pick up the flowers.
2. The character save data is as follows:
Searching for a character to change spawning point is as simple as looking for CharacterProtoToSpawn=(Scientist/Knight/Monk/etc), then editing LastValidCheckpointVolumeName=(name) where name is the checkpoint name, in this case matching it with that of the knight and monk (Cave_MonkBubble_RallyPoint).
3. Pickups are saved in the format:
These are per item and so changing the spawning point should be just editing LastValidCheckpoint, but that does not work as the game gets stuck on loading when attempting to move the knight holding the feather to rejoin the scientist who was at Cave_MonkBubble_CheckpointVolume2
4. CheckpointVolume(number) can be smaller for an earlier area (the checkpoint before the first bridge in the Monk level has number 2 and the later one has number 3), this has led to a revision of one sentence in step 5 for the save fix instructions above.
1. The text editor to use has been changed to Notepad++ only as stock Notepad and Word save the file with the wrong encoding by default. Apologies for any issues/confusion this may have caused.
2. A notice to backup your save has been added as suggested by skwi.