Conseils pour jeu multijoueur en local

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
candide69
Messages : 1
Inscription : 22 Juil 2017 13:05

Conseils pour jeu multijoueur en local

Message par candide69 » 22 Juil 2017 13:39

Image
Bonjour,
Je débute sur Unity et sur C#. Pire que cela, j'ai derrière moi des années de développement sur un ERP qui me donnent sûrement de mauvais réflexes. J'ai déjà regardé beaucoup de tutoriaux et commencé à me faire des "maquettes d'écran" à chaque fois que je me pose une question sur la faisabiité de tel ou tel point. En clair, j'ai déjà réussi à résoudre certains problèmes (suis trop fier !).

Pour que ma question soit claire, imaginons que le jeu que je cherche à développer soit un Yahtzee jouable en local uniquement par 1 à 4 joueurs.

J'en suis arrivé à un stade où j'ai résolu tous les problèmes d'ergonomie (comment simuler les dés, comment calculer les scores et les afficher, etc...). Je n'ai pas encore le vocabulaire "Unity" mais je dirais que j'ai un "écran" qui fonctionne. J'ai créé une scène pour cela, elle contient un canvas qui contient ensuite mes zones d'affichage et boutons de navigation. J'imagine ensuite ouvrir cette page depuis une scène "Menu général" qui contiendrait soit un bouton "Nouvelle partie" soit un bouton "Continuer" et un bouton "Nouvelle partie".

Là où je m'interroge maintenant c'est comment faire pour transformer cet "écran" en quelque chose de multijoueur (local encore une fois). Je n'ai évidemment pas envie de dupliquer dans l'éditeur la scène en 3 autres scènes puis d'en maintenir 4 à chaque fois que je fais une modif quelque-part...

J'imaginais au lancement d'une nouvelle partie demander "combien de joueurs" et ouvrir autant de fois la même scène puis jouer sur laquelle est affichée à chaque fois qu'un joueur a fait un tour mais je ne trouve rien de la sorte (je pensais pouvoir affecter la même scène à des variables Player1Scene, Player2Scene... et ainsi pouvoir dans le code appeler l'une après l'autre). Cette solution me plaisait bien parce que dans mon esprit vieillot j'imaginais que les 4 écrans étaient en mémoire avec les parties de chaque joueur en cours (que je pensais aussi sauvegarder après chaque tour...) et qu'il ne me restait qu'à appeler écran après écran pour afficher la partie en cours de chacun.
Comment je ne trouve rien qui aille dans ce sens, j'ai une autre option, celle de ne travailler qu'avec une seule scène et de charger à chaque tour les données du joueur suivant. Je trouvais cela un peu "violent". En plus comme j'imaginais rendre paramétrables certains éléments graphiques de chaque joueur (couleur de fond ou image de fond par exemple), cela nécessiterait que je les recharge à chaque fois que je change de joueur...
Une 3e option serait de lancer autant de fois l'application mais là cela me parait débile et j'aurais sûrement d'autres problèmes à régler (4 applis partageant les mêmes paramètres ou la même table de scores par exemple).

Voilà, je sais que ce jeu n'est pas "sexy" mais c'est d'une importance cruciale que je puisse continuer à imaginer ce jeu avec mon fils et qu'on puisse ensuite y jouer ensemble ! En même temps, cela me permettra de me familiariser un peu avec le développement C# et je saurai peut-être mieux si je veux continuer à faire de l'ERP ou passer à autre chose en rentrant chez mon patron adoré !

Si quelqu'un peut m'orienter sur quels sujets je dois regarder ou me donner tout conseil pour répondre à cette logique, ce serait sympa.

Avatar de l’utilisateur
E3DStef
Administrateur
Administrateur
Messages : 1646
Inscription : 14 Juil 2013 18:30
Localisation : https://www.carte-des-membres.com/fr/Unity3D-France/

Re: Conseils pour jeu multijoueur en local

Message par E3DStef » 26 Juil 2017 23:10

Salut, un petit croquis nous permettrai de mieux comprendre ce que tu fait (mm si j'ai des idées, juste histoire d'être efficace)
A+
Stef
Le Savoir n'est Précieux que s'il est Partagé

Si besoin urgent de me contacter, faites moi un mail sur : franceunity3d@gmail.com

Répondre

Revenir vers « Unity le logiciel »