[Résolu] Sauvegarde dans un jeu

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

[Résolu] Sauvegarde dans un jeu

Message par EmileF » 07 Juil 2019 09:00

Bonjour,

Voilà j'ai besoin d'un conseil car je n'ai aucune idée de la façon de m'y prendre.

Dans mon jeu viewtopic.php?f=12&t=16953, en cours de construction, je voudrai mettre en place un système de sauvegarde afin qu'un joueur puisse reprendre le jeu comme il a quitté.

Je pense que le PlayerPref n'est pas assez puissant pour sauvegarder toutes les données du jeu. Et même avec lui , je n'entrevoie même pas une méthode pour l'utiliser.

Est-ce que quelqu'un peut me mettre sur la voie sur la façon de réaliser ce genre de chose.

Merci
Dernière édition par EmileF le 09 Juil 2019 10:53, édité 1 fois.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.


Avatar de l’utilisateur
Max
Messages : 8771
Inscription : 30 Juil 2011 13:57
Contact :

Re: Sauvegarde dans un jeu

Message par Max » 07 Juil 2019 09:55

Salut Emile,
EmileF a écrit :
07 Juil 2019 09:00
Je pense que le PlayerPref n'est pas assez puissant pour sauvegarder toutes les données du jeu.
Qu'entends tu par "pas assez puissant" ? Simple, natif, et intuitif, si tu n'as que quelques données à sauvegarder (position du player, numéro du level courant par exemple) alors c'est certainement la solution à privilégier.
Au delà, effectivement il est bon de se tourner vers d'autres approches. Les lectures conseillées par Alesk sont de bons conseils ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Sauvegarde dans un jeu

Message par EmileF » 07 Juil 2019 11:09

Par "pas assez puissant" j'entends qu'il n'y a pas que la position du player et quelques données comme ça.
Mais l'ensemble des objets du jeu, les items des puzzles, les données des casses têtes résolu ou pas. Enfin toutes les données nécessaires pour que le joueur puisse reprendre la partie telle qu'il l'a laissé.

Je suis obligé, je crois, d'enregistrer toutes les données, car le player est libre de faire ce qu'il veut et commencer un casse tête, ne pas le terminer pour y revenir plus tard et autre...

je vais regarder les lectures conseillées par Alesk. je sais qu'il est de bon conseil.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Sauvegarde dans un jeu

Message par Alesk » 07 Juil 2019 11:20

Oui, et j'ai toujours raison, aussi... Et avec ça, je suis le mec le plus modeste du monde ::d

Plus sérieusement, dans ton cas, la sauvegarde de tes données sous la forme JSON me semble adaptée.

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Sauvegarde dans un jeu

Message par EmileF » 07 Juil 2019 11:53

Merci Alesk

Je crains de ne pas arriver à utiliser JSON car déjà, si j'ai bien compris, ça m'oblige à retranscrire toutes les données pour pouvoir les enregistrer, et en plus, je ne suis pas sur d'avoir bien compris.

La sérialisation me paraît plus simple à appréhender pour moi, et à adapter dans mon jeu.
Je pense créer une fonction save et load dans chaque script de mon jeu où c'est nécessaire, et les appeler depuis un script manager.

Qu'en pense-tu, peut-être, que je serai obligé de suivre ton conseil surtout que
Alesk a écrit :Oui, et j'ai toujours raison, aussi... Et avec ça, je suis le mec le plus modeste du monde ::d
En tout cas merci, j'ai maintenant une idée plutôt précise de ce qu'il faut faire
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Sauvegarde dans un jeu

Message par Alesk » 07 Juil 2019 12:22

L'intérêt de la sauvegarde en JSON est que tu peux facilement accéder aux données par la suite dans un fichier texte, et tu peux aussi les envoyer sur un serveur web pour les exploiter dans un site web / dans une bdd, c'est toujours utile.

Pour la conversion à ce format, c'est pas compliqué et tu n'as aucune excuse : tout est expliqué en seconde partie du premier lien que j'ai partagé :mrgreen:

Note : le JSON est aussi une sérialisation ;)

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Sauvegarde dans un jeu

Message par EmileF » 07 Juil 2019 12:55

Oui j'ai vu les quelques lignes qui parle du JSON, mais si j'ai bien compris il faut reprendre toutes les données sous la forme :

Code : Tout sélectionner

{
   "message" : "hi" ,
   "age" : 22 
  "éléments" : 
  [ "Sabre" ,
     "Arc" 
  ] 
}
Ce qui me parait énorme.
Et pour les avantages que tu présentes en plus, je n'ai nullement l'intention, en tout cas pour le moment d'utiliser un site Web, et pour la réutilisation sous forme de fichier texte, je n'en vois pas l'utilité immédiate.

En tout cas merci beaucoup pour tes renseignements et tes conseils, maintenant y a plus cas...
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Sauvegarde dans un jeu

Message par Alesk » 07 Juil 2019 13:28

La mise en forme est déjà gérée par une fonction existante, lis le tuto jusqu'au bout, tu verras ;)

EmileF
Messages : 673
Inscription : 18 Mars 2017 19:39

Re: Sauvegarde dans un jeu

Message par EmileF » 07 Juil 2019 15:39

Ha oui, ok, j'avais pas percuté.

merci, je vais voir
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Répondre

Revenir vers « Unity le logiciel »