Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Gestion des fichiers - Gestion Client/Serveur  (Lu 2192 fois)

0 Membres et 1 Invité sur ce sujet

Despirithium

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Gestion des fichiers - Gestion Client/Serveur
« le: Juin 21, 2014, 10:58:35 am »
Bonjour, je viens poster ce sujet aujourd'hui car je suis dans la réalisation de mon projet vrai jeu-vidéo en 2D et que je rencontre quelques soucis (ou plutôt je me prépare à les rencontrer).
Il s'agira d'un jeu de combat en 2D et je souhaiterais pouvoir réaliser un mode histoire. Pour sauvegarder l'histoire, je pense qu'il vaut mieux faire usage de fichiers plutôt que de l'écrire en brut.

Donc tel est ma question, y a t'il des méthodes plus intéressantes afin d'enregistrer l'histoire et la progression du joueur dans un fichier ? Comment crypter ces données pour ne pas que le joueur puisse les modifier à sa guise ?

D'un autre côté, je souhaite aussi réaliser un mode de jeu en ligne où le joueur pourrait affronter d'autres joueurs. Le mieux serait-il une architecture P2P (cela ne concernerait que deux joueurs pour le moment, il n'y a pas de statistiques ou de classement dans l'immédiat) ? Si je venais à vouloir justement faire des classements et compagnie, dois-je impérativement prendre un serveur ?

Merci de répondre à mes questions de débutant
Cordialement.

Erwsaym

  • Newbie
  • *
  • Messages: 27
    • Voir le profil
    • ErnSoft.com
    • E-mail
Re : Gestion des fichiers - Gestion Client/Serveur
« Réponse #1 le: Juin 21, 2014, 12:49:03 pm »
Bonjour,
Etant en train de réaliser moi même depuis maintenant un long moment un moteur de jeu online je pourrais éventuellement proposer un peu des solutions à tes questions :)

Il y a plein de moyens différents de sauvegarder tes données d'avancement ou de contenu pour un jeu dans un fichier, tout dépend selon moi comment est réalisé ton moteur. Tu peux séparer ces différentes informations dans différents fichiers, ou alors faire un manager de donnée sauvegardant dans un seul et unique fichier. Cependant pour moi il est mieux de tout séparer, tout se qui est stat pour le joueur sauvegardé dans un fichier "profil" par exemple, tu peux placer toutes ces informations selon la structure que tu veux, tu dois juste savoir les relire après : Tu peux donc par exemple sauvegarder dans l'ordre que tu veux : la vie, la mana, les valeurs de variable particulière, par exemple, je sais pas tu peux imaginer comme toi tu veux, tu peux écrire ces valeurs naturellement ou en ""binaire"" ou encrypté, le cryptage XOR par exemple pourrait t'aider. Après pour se qui est de l'histoire, tu peux faire pareil après tout dépend de comment tu utilises ces informations, si par exemple tu enregistre tout tes dialogues avec un ID et que dans ton moteur tu affiches chaque ID à des lieux bien précis, ou alors si tu as un éditeur et que tu utilises un peu le concept événementiel (oui j'aime bien appelé ça comme ça) du style de RPG Maker par exemple, tu peux enregistrer chacun de ces événements dans un fichier et qu'ils soit lut si celui si est placé sur la map. Tu as un choix infini, c'est à toi d'imaginer comment structurer tes données. Si tu veux faire quelque chose de souple, pouvant être modifier, ou afin de pouvoir ajouter du contenu plus tard, il est ainsi mieux d'enregistrer tout ça dans des fichiers pouvant être modifiés simplement plutôt que dans le code source. Après tu peux, comme je l'ai dis plus haut, crypter tes fichiers si tu le veux, il y a différentes façon de crypter des données.

Après pour un jeu multijoueur si c'est seulement pour deux joueurs tu peux toujours faire en sorte que l'un des deux joueurs puisse être le serveur afin d’héberger la partie. Après pour se qui est d'un classement, ça dépend se que tu veux dire par classement, si ton jeu affiche le classement mondial de tout les gens qui auront joué a ton jeu, il faudra, à mes yeux, effectivement un serveur regroupant tout les statistiques, mais ça peut être tout simplement un serveur WEB, ou grâce à une simple page php tu récupère toutes les informations. On peut facilement imaginer une architecture du style : Client/Serveur <---> Client et que à la fin de la partie Le Client/serveur envoie les statistiques à une page WEB enregistrant ainsi sur son serveur les statistiques.

Bon j'ai peut être pas donné quelque chose tout fait, c'est plus des idées de comment tu peux gérer ça, après c'est à toi de voir qu'est ce que tu considères le mieux. Sache juste que si tu es du style parano, que les gens changent leurs fichiers, il est sûr et certains que plus tu te rapproches d'une gestion complète coté serveur, plus tu sécurises.

Voila voila, bonne journée
- ♪ -

Despirithium

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re : Gestion des fichiers - Gestion Client/Serveur
« Réponse #2 le: Juin 22, 2014, 11:56:17 am »
Le souci avec l'exemple que tuas pris (RPG Maker) c'est qu'ils n'utilisent pas de vulgaires fichiers textes, et surtout ils ont un moteur de scripting, ce que je ne sais pas faire ^^ Je sais pas comment ils gèrent leur fichiers, je pensais qu'il existait des lib permettant de gérer plus simplement les fichiers, ou en tout cas les données sauvegardées. A priori le XML est envisageable, mais il est modifiable et surtout davantage conçu pour les informations de configuration. Peut-être SQLite, mais si on peut ouvrir le fichier avec WAMP ou autre utilitaire de la sorte, ça reste non fiable..

Quant-à l'architecture client/serveur, je pensais à utiliser ma base de donnée afin de sauvegarder les joueurs en attente de partie - un matchmaking - et les faire matcher du coup. La question que je me demandais est : comment je peux tester si mon système PVP marche si je ne peux lancer qu'une seule fois le logiciel ? :/

Merci de ta réponse :)