Bien que des solutions comme le système de personnage à état de Josh Petrie présentent des avantages (petite taille d'enregistrement, fonctionne sur toutes les copies du jeu), elles associent la conception des jeux et le système d'état pour être intrinsèquement au système de mot de passe. Toute modification du mot de passe, de l'état ou de la conception et de l'ensemble du système s'effondre.
Une solution beaucoup plus simple serait de construire votre système de sauvegarde comme d'habitude, et d'ajouter simplement un système de mot de passe par-dessus. Cela peut être aussi simple que d'enregistrer le mot de passe dans la sauvegarde (éventuellement doubler en tant que nom de fichier) et de le valider à la charge, ou aussi complexe que d'utiliser l'une des nombreuses bibliothèques de chiffrement (ce qui est assez trivial).
Il semble y avoir une certaine confusion autour de cette réponse.
1) L'op a simplement demandé un mot de passe qui leur permet de charger une sauvegarde ... il n'y a aucune exigence que le mot de passe soit la sauvegarde.
2) De nombreux jeux nécessitent aujourd'hui un stockage important, nous venons de construire un système de sauvegarde / chargement rapide en interne qui produisait des fichiers de 10 Mo ... pour un jeu de quiz! Le système de sauvegarde de Josh Petrie , bien que valide, est très limité - dès que le système de magasin devient non trivial, les mots de passe doivent être d'une longueur énorme pour conserver toutes les données pertinentes.
Par exemple, que se passe-t-il s'il y a 30 patrons? 20 réalisations? Sommes-nous à mi-chemin d'une réalisation? À quel niveau est-il? Combien de bits mettons-nous de côté pour la santé, la vie, les pièces, xp? Et si l'instantané n'est pas d'état entre les niveaux ... mais à mi-chemin d'un niveau - les positions du joueur, des ennemis, des projectiles, du terrain détruit / altéré ajoutent soudainement à beaucoup d'état qui doit être stocké.
Pour la perspective, en supposant un alphabet de 30 caractères et un mot de passe de dix lettres, nous avons environ 50 bits d'informations à stocker. Il n'est pas rare de voir un jeu / moteur utiliser jusqu'à 320 bits uniquement pour stocker la position, la rotation et la mise à l'échelle d'un seul objet. Bien sûr, vous pouvez faire toutes sortes de trucs d'optimisation pour en faire plus avec moins ... mais en fin de compte, vous utilisez le temps consacré à rendre le jeu amusant - l'une des pires optimisations que vous puissiez faire.