OK, you know how autosave doesn't work so well for games that have nonlinear level layouts? Games like Half-Life or Call of Duty know exactly when to autosave because they're linear and players have to do things in a specific order. So if the player has walked into a certain trigger brush, the game can be reasonably certain they don't have any unfinished business in the area behind them, such as enemies from that area that are still pursuing them. But the BioShock games, for example, have no autosaves except the start of a level. Bethesda RPGs only save when entering or exiting a building. And games that aren't mindful of this sometimes autosave after the player has already gotten into trouble.
I think I may have figured out a solution.
Some engines (Source being one of them) have a "demo" feature that lets the game record, in real time, everything that is happening server-side. All the movements of the players and NPCs. Imagine if a game were doing this automatically, all the time. The last few minutes of gameplay are always cached in memory. I believe this is how games with a "rewind" feature, like the Prince of Persia trilogy or Braid, work. But instead of letting the player rewind, imagine if the game then watches for specific emergent triggers. Things like walking into an enemy's detection zone after spending several minutes wandering through an empty environment. Then, it can go back maybe 30 seconds and retroactively save the game from that point, ensuring that every significant thing that happens, the player can easily jump back to before it started if they die.
Another thing that could be done with this idea: In a game that either has a relatively low memory footprint (say, a retro game like Undertale) or is on the Nintendo Switch (where everything is on a cartridge, eliminating loading times), the game could actually save a "highlight reel" of significant moments in the story, exactly as they happened in your particular playthrough. Then, when you load up your save after not playing for a while, it could run back through this as a "previously on" sort of thing to get you all caught up. Again, this would only work where it's possible to jump instantly from one level to another. Or maybe if the game is afforded enough processor downtime to render the highlight reel as a video file. (The built-in recording feature on the Xbox One might be able to handle this.)
I think I may have figured out a solution.
Some engines (Source being one of them) have a "demo" feature that lets the game record, in real time, everything that is happening server-side. All the movements of the players and NPCs. Imagine if a game were doing this automatically, all the time. The last few minutes of gameplay are always cached in memory. I believe this is how games with a "rewind" feature, like the Prince of Persia trilogy or Braid, work. But instead of letting the player rewind, imagine if the game then watches for specific emergent triggers. Things like walking into an enemy's detection zone after spending several minutes wandering through an empty environment. Then, it can go back maybe 30 seconds and retroactively save the game from that point, ensuring that every significant thing that happens, the player can easily jump back to before it started if they die.
Another thing that could be done with this idea: In a game that either has a relatively low memory footprint (say, a retro game like Undertale) or is on the Nintendo Switch (where everything is on a cartridge, eliminating loading times), the game could actually save a "highlight reel" of significant moments in the story, exactly as they happened in your particular playthrough. Then, when you load up your save after not playing for a while, it could run back through this as a "previously on" sort of thing to get you all caught up. Again, this would only work where it's possible to jump instantly from one level to another. Or maybe if the game is afforded enough processor downtime to render the highlight reel as a video file. (The built-in recording feature on the Xbox One might be able to handle this.)