#64105 - gauauu - Mon Dec 19, 2005 12:30 pm
Ok, I'm thinking about how to handle save games for my game-in-progress, Anguna.
My main considerations:
1. being on the gba, people will want to be able to turn the game off at any time, without having to look around for a save room.
2. saving at any point can introduce a couple possible problems:
a. save state cheating.....save at every "safe" point. Sure, people with self control may not use it, but in my opinion, tends to cheapen games.
b. accidentally saving in a state right before you die, or in a "broken" state, where you can't complete the game.
So, I'm trying to think of the best ways to handle it in my game. I'd like to hear everyone's thoughts.
A couple of ideas I've had:
1. auto-save at every room. Instead of having to hit "save", it just autosaves every times you go from room to room. To prevent the "save in broken state", anytime you die, you can continue in a not-so-distant location (like at the beginning of the dungeon). To prevent save-state cheating, there would be no convenient method of "loading" a game, without restarting your gameboy, wading through the splash screens. This would be a vague deterrant, which would be enough for most people I think.
2. similar to #1, only you save manually, but is allowed anywhere
Thoughts? Would those be annoying in some way?
#64110 - byg - Mon Dec 19, 2005 3:16 pm
The system I like for most games is the two save system:
1) Minor saves - you can save the game anywhere, but this is a 'one-off' save - after saving the game resets itself and upon loading this save data again it is erased. This is used for when the player is in the middle of a game, but has to shut down unexpectedly.
2) Major saves - you also have controlled, specific save points in your game where the player can save. The most recent save point is always stored on cart so the player can restart as many times as they like from this point.
This way you can dissuade the 'cheating' you talk about (although it is player-friendly to have major save points before bosses and major game events etc), but still allow the player to save when they want to.
FWIW my personal opinion is that the game should never be in a 'broken state'. The player should always be able to get more health etc. It may take a while, but it should be possible. If it's impossible to get the key to open the door to the next level as the player didn't talk to the NPC on the previous level (for example) then you may have to revisit the design.
_________________
Modasi Games
www.modasi.com
#64122 - poslundc - Mon Dec 19, 2005 6:02 pm
I personally yearn for the days of the various Final Fantasy-titled games on the original Game Boy, where you could walk around saving whenever and however you pleased.
I don't think it was possible to save your game in a broken state - at least, I never managed to - if you somehow managed to deplete your health and supplies in the deepest of dungeons, you could always work your way back out by running from enemies and saving incrementally as you went in case you ever couldn't escape or they got the jump on you.
Letting you only save "where it's safe to do so" is a gameplay-challenge-notion that really applies more to console-gaming than handheld. Every time I see a game offer a "quicksave" option on top of "genuine" saving it seems hackneyed and apologetic to me: "we really wanted to just port over this console game, and this lets us afford you some convenience without our having to rethink gameplay".
Dan.
#64146 - Quirky - Mon Dec 19, 2005 8:56 pm
Save anywhere at anytime is my favourite, but usually requires larger save states, so fewer fit in SRAM. Golden Sun and its sequel all allow it and I don't find myself save-cheating. Mostly since you never get stuck and can go back to anywhere you have been at any time, apart from right near the end.
Zelda has an almost save anywhere option, but when you load it boots you back to the start of the dungeon (AFAIR). This would be a pain were it not for Zelda's dungeon design, which generally have massive short cuts that open up when you solve key puzzles. It doesn't save your health state though, and resets your hearts to half full. That IS annoying.
Quick save is also a great option. I seem to recall Final Fantasy 1 & 2 using this method, but I'm not sure. Something like save your quest completely in towns, but quick save at any point in dungeons. Works well, since the dungeon crawls require you to be tough and if you aren't then no amount of save cheats would have got you through anyway.
So: it depends on your game design really. If your dungeons are like Zelda, and will open up later, you can get away with saving just the dungeon state and main player stats, since the specific player position is not really important. If you have linear-ish dungeons that aren't really "circular" then FFs quick save may be the way. Finally, if you think it is suitable, the Golden Sun 'save anywhere' approach could be the way - if you apply quick save, this is really just the same approach without deleteing the save afterwards.
Phew. That was long winded!
#64150 - poslundc - Mon Dec 19, 2005 9:14 pm
Quirky wrote: |
Save anywhere at anytime is my favourite, but usually requires larger save states, so fewer fit in SRAM. |
You could potentially fit position and map number in a single u32. The only issue is if your dungeon has complicated elements that would need to be persistent that otherwise wouldn't be. In Zelda, since it's an action game, it makes sense that they don't save your exact position and the exact position of the enemies, what they're doing, etc. But I believe it still saves things like which walls you've bombed and whatnot. A series of such flags reduced to a bitstream is not going to be the bottleneck on your save space either.
Dan.
#64204 - thegamefreak0134 - Tue Dec 20, 2005 6:07 am
Personally, I like two options. (1) Auto Save for quick shutdowns. This would save the progress for any particular point (like walking through a door) but as it would happen for every door there would be no opportunity for re-trying a level. That way, if the user turned off the game it would come up with two continues: a "last save" and a "auto save" for whichever you fancied. That would also be convinient for people low on batteries...
The save mentioned earlied (first reply I believe) was used in Zelda: Majora's Mask, right?
_________________
What if the hokey-pokey really is what it's all about?
[url=http:/www.darknovagames.com/index.php?action=recruit&clanid=1]Support Zeta on DarkNova![/url]
#64213 - DekuTree64 - Tue Dec 20, 2005 7:11 am
thegamefreak0134 wrote: |
Personally, I like two options. (1) Auto Save for quick shutdowns. This would save the progress for any particular point (like walking through a door) but as it would happen for every door there would be no opportunity for re-trying a level. |
I really like that idea. Maybe not EVERY time you go through a door, since most backup memory has a limited number of writes before it dies, but often enough that it's not a big deal if you have to shut the game off all of a sudden.
Also, you'd need 2 of those temporary saves and alternate between them, incase the power was turned off in the middle of an auto-save, you could just fall back to the previous one. That would have the nice side effect of doubling the lifetime too.
Another variation would be to keep a save state in RAM, and have a special button combo to pause and switch to a quicksave menu at any point, even in a battle or something where quicksave would normally be unavailable. Since you could only update your RAM save whenever you know for sure that it's safe, you wouldn't have to worry about complications from saving during scripted sequences and such.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku
#64241 - gauauu - Tue Dec 20, 2005 3:23 pm
Most backup memory has a limited number of writes? I was always under the (I guess mistaken) impression that most backup still used some sort of battery-backed RAM....does it tend to be flash based nowadays?
#64251 - poslundc - Tue Dec 20, 2005 5:35 pm
I think EEPROMs are the current popular inexpensive option, with Flash memory being the higher-capacity-more-expensive alternative. Neither require a continuous power source but both have limited lifespans in terms of how many writes they are good for.
Dan.
#64313 - tepples - Wed Dec 21, 2005 5:51 am
The widely quoted 100,000 write limit for EEPROM is per sector.
A 64 Kbit EEPROM is made of 1024 sectors, each 64 bits long. If you structure your autosave system as a list of transactions on the game state, each of which fits in 56 bits (using the last 8 for redundancy check), then you can devote half your (512 sectors) to the transaction log and then overwrite the next one so that you're not repeatedly overwriting a single section. Then when you do a full save or a restore from autosave, you replay the transactions to get a consistent game state, and then you save that to one of the actual save files.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.