Creating and restoring data snapshots
Imagine your game has a complex character-creation process where players can choose every detail of their avatars – hair color, eyebrow thickness, nostril flare (if you’re into that). Now imagine that your players aren’t happy with the results, and they want to start over, or worse yet, they want to go back to the twenty-third configuration they put together an hour ago. What do you do?
The core solution we’re going to build is a data snapshot system where the game (or player) can save and restore their avatar details to default or past states. If you’ve ever used version control, you’ll know how crucial this functionality can be. It’s no different in games or applications with modifiable data – users should have the option of saving their work, level checkpoints, or whatever incremental information they want and restore or undo their changes at any time.