Réplication des actions en multi-joueur

A propos de l'installation et de l'utilisation de ZunTzu.

Moderators: Ichibrothers, Cambronne

Post Reply
hebus
010
Posts: 15
Joined: 12 Dec 2007, 12:24

Mode Multijoueurs

Post by hebus »

Bonjour,
Quel travail réalisé... C'est vraiment impressionnant!

Je viens de tester le mode multi sur une box et nous avons constater que lorsque je zoom ou que je fais tout autre action, l'autre joueur subit les mêmes changements sur son écran. Ne serait-il pas possible de notifier les autres joueurs que sur les points essentiels comme retourner une carte ou déplacer un pion sur le plateau.

Mais peut-être est-ce prévu pour une nouvelle version :P
User avatar
Jerome
Site Admin
Posts: 974
Joined: 22 Jun 2006, 21:31
Location: France
Contact:

Re: Mode Multijoueurs

Post by Jerome »

hebus wrote:Quel travail réalisé... C'est vraiment impressionnant!
Merci Hebus. :D
hebus wrote:e viens de tester le mode multi sur une box et nous avons constater que lorsque je zoom ou que je fais tout autre action, l'autre joueur subit les mêmes changements sur son écran. Ne serait-il pas possible de notifier les autres joueurs que sur les points essentiels comme retourner une carte ou déplacer un pion sur le plateau.
Tu voudrais que chaque joueur puisse zoomer indépendamment sans déranger l'autre joueur, c'est bien cela ?
Aujourd'hui, je n'envisage pas d'apporter une telle modification.

Le fonctionnement actuel est conçu pour faciliter le suivi de la partie. Forcer les joueurs à adopter à tout instant le même point de vue permet d'éviter qu'une action passe inaperçue. En outre, chaque modification importante du jeu est marquée par une animation (quand un joueur retourne une carte par exemple). Ce n'est pas simplement pour faire joli, c'est avant tout pour améliorer la perception du jeu (le système visuel humain est très sensible au mouvement).

Si je modifiais ZunTzu selon tes directives, il faudrait de toute façon que je mette en place un mécanisme pour compenser la perte de lisibilité, comme par un exemple une option de "centrage sur l'action". De nouvelles problématiques de confort apparaîtraient. Par exemple, il ne serait pas possible de discuter en désignant quelque chose avec son pointeur de souris, puisqu'il n'y aurait aucune garantie que tous les joueurs voient la même partie du plateau de jeu.
Jerome, ZunTzu developer.
hebus
010
Posts: 15
Joined: 12 Dec 2007, 12:24

Post by hebus »

Je comprend ton point de vue.

Nous avons testé dans résolutions qui sont grandes (1900 x 1600) pour l'un des joueurs et (1600x1200) pour l'autre. Le zoom s'avère vraiment très génant, surtout si l'un des joueurs ne souhaite que lire les caractèristiques d'une carte ou d'un pion. Pendant ce temps la, contrairement à une véritable partie sur plateau, l'autre joueur ne peut pas se concentrer sur ses futures actions, car il est troublé par l'action zoom de l'autre joueur. Peut-être que dans des résolutions inférieures le problème ne se pose pas.

C'est vrai que dans ta configuration actuelle, je ne vois pas comment faire.

Je travaille actuellement sur la conversion d'un jeu de plateau en réseau et j'ai opté pour un système d'animation des pions lorsqu'ils sont déplacés et par l'affichage d'une "log" pour informer les autres joueurs des actions faites. Mais c'est vrai que c'est plus simple lorsqu'on développe pour un jeu particulier.

Autrement, serait-il possible de permettre aux joueurs d'envoyer des résultats de parties vers un site web ou autre ?
User avatar
Jerome
Site Admin
Posts: 974
Joined: 22 Jun 2006, 21:31
Location: France
Contact:

Post by Jerome »

hebus wrote:Le zoom s'avère vraiment très génant, surtout si l'un des joueurs ne souhaite que lire les caractèristiques d'une carte ou d'un pion. Pendant ce temps la, contrairement à une véritable partie sur plateau, l'autre joueur ne peut pas se concentrer sur ses futures actions, car il est troublé par l'action zoom de l'autre joueur.
C'est vrai que les joueurs dont ce n'est pas le tour sont réduits à plus de passivité que dans une partie en face à face.
hebus wrote:Autrement, serait-il possible de permettre aux joueurs d'envoyer des résultats de parties vers un site web ou autre ?
Ca m'intéresse. Comment cela fonctionnerait-il ?
Je souhaiterais faire évoluer ce site web pour créer une communité de joueurs autour de ZunTzu. Pour le moment, j'ai pensé à des outils aidant les joueurs à se réunir, comme une petite messagerie instantanée et une liste des parties hébergées. Je suis à la recherche d'autres idées.
Jerome, ZunTzu developer.
hebus
010
Posts: 15
Joined: 12 Dec 2007, 12:24

Post by hebus »

Jerome wrote:
hebus wrote:Autrement, serait-il possible de permettre aux joueurs d'envoyer des résultats de parties vers un site web ou autre ?
Ca m'intéresse. Comment cela fonctionnerait-il ?
Je souhaiterais faire évoluer ce site web pour créer une communité de joueurs autour de ZunTzu. Pour le moment, j'ai pensé à des outils aidant les joueurs à se réunir, comme une petite messagerie instantanée et une liste des parties hébergées. Je suis à la recherche d'autres idées.
En ce qui me concerne j'ai l'intention d'utiliser les webservices, comme tu développes en .NET, l'utilisation des webservices est un jeu d'enfants à mettre en place, par contre côté serveur, c'est un peu plus compliqué si ton serveur web n'est pas IIS (Si tu veux des infos de ce côté là, tu peut me contacter).

Dans ton cas, le truc sympa serait d'avoir un formulaire paramètrable (en XML par exemple) qui permette de définir les informations que l'on souhaite envoyer et sous quelle forme (xml, texte, mail, webservice...)

Pour mettre en relation les joueurs entre eux, tu es obligé de passer par un serveur centralisé (type lobby), tu utilise DirectPlay pour mettre en relation les joueurs, DirectPlay intègre la notion de lobby, de plus couplé à un logiciel de type "Hamachi", trouver une partie deviens un jeu d'enfant car c'est "Hamachi" qui fait office de serveur centralisé (lobby).

A bientôt,
Et je te félicite pour le travail accompli.
User avatar
Jerome
Site Admin
Posts: 974
Joined: 22 Jun 2006, 21:31
Location: France
Contact:

Post by Jerome »

hebus wrote:
Jerome wrote:Ca m'intéresse. Comment cela fonctionnerait-il ?
webservices [...] .NET [...] IIS [...] XML [...] DirectPlay [...] Hamachi
Il y a un malentendu. Je voulais juste savoir comment cela se présenterait pour l'utilisateur. Est-ce que tu vois cela comme un site permettant de gérer des tournois, ou autre chose ?
Une remarque : ZunTzu ne connais pas les règles du jeu donc il ne peux pas savoir que l'un des joueurs a gagné.
Jerome, ZunTzu developer.
hebus
010
Posts: 15
Joined: 12 Dec 2007, 12:24

Post by hebus »

En bref "Hamachi" est un VPN qui permet aux applications réseaux de penser que tout le monde est en local. Quel rapport avec DirectPlay alors !

Avec DirectPlay, si je me souviens bien, soit tu connais l'adresse IP du serveur soit du ne la connais pas. Si tu la connais, c'est ce que tu fais déjà. Dans le cas ou il ne la connais pas, le serveur crée une session, il donne un nom à sa session et le nombre de joueurs autorisé à jouer et s'il autorise ou non les visiteurs. DirectPlay va créer la session et lui attribuer le GUI que tu as défini lors du développement. Pour se connecter au serveur, les autres joueurs (qui ne connaissent pas l'adresse IP du serveur) font une recherche locale (grâce à Hamachi) par rapport au GUI, et liste toutes les parties (serveurs) qui existent, ils ne le restent plus qu'a sélectionner le serveur qu'ils souhaitent pour se connecter. DirectPlay fait ça tout seul (j'ai bossé presque 6 ans sur DirectX). C'est la méthode utilisé par la majorité de jeux DirectX du commerce.

Maintenant concernant les webservice, il est vrai que zuntzu ne connais pas le vainqueurs, mais les joueurs eux le connaisse. Le formulaire de fin de partie permettrait de retourner des statistiques ou tout simplement le nom du vainqueur à un site web via un webservice.

Appler un webservice depuis un application .NET pas de problème, tu dois connaitre ça.
Créer le webservice, c'est pas plus compliqué. Ton serveur est sous IIS, tu crée simplement un librairie .NET qui contient toutes les méthodes que tu souhaites appeler et tu l'installe sur ton serveur web.
Si ton serveur c'est Apache, c'est un peu plus compliqué. Ton webservice tu l'écris en PHP par exemple et tu utilise des classes toutes faites qui permette d'interfacer les webservice Apache vers .NET. Ensuite c'est comme pour un webservice .NET pour l'utiliser dans une application.

Je ne sais pas si je suis compréhensible, je ne donne pas souvent d'explications sur ces sujets là. Mais je peu prendre le temps de t'expliquer si tu veux creuser d'avantage. J'ai développé il y a longtemp un exemple d'utilisation des webservices en PHP hébergés sur un serveur Apache depuis une application .NET. Si je la retrouve je peut te l'envoyer.
User avatar
Jerome
Site Admin
Posts: 974
Joined: 22 Jun 2006, 21:31
Location: France
Contact:

Post by Jerome »

Non merci. Je n'ai besoin de rien. :wink:
Jerome, ZunTzu developer.
hebus
010
Posts: 15
Joined: 12 Dec 2007, 12:24

Post by hebus »

Jerome wrote:Non merci. Je n'ai besoin de rien. :wink:
Je n'en attendais pas moins :D
Post Reply