Partage
  • Partager sur Facebook
  • Partager sur Twitter

Protocole réseau pour du multijoueur.

Quelle architecture?

    19 juin 2019 à 21:46:24

    Bonsoir à tous,

    Je poste ici après pas mal de recherche. J'ai développé un moteur de jeu 2D ainsi qu'un mode multijoueur simple: Basiquement chaque client envoie ses inputs via udp après authentification puis reçoit, toujours via udp, un "streaming" de tous les objets présents pour générer les graphismes. Toute la logique est server-side, le bon côté est l'aspect non hackable :) Cependant j'aimerais quelques chose de moins lourd. Donc en n'envoyant des infos au client que lors des principales étapes de la vie de chaque objet c'est à dire à:

    -L'instanciation.
    -Le changement d'état (Vie...)
    -La destruction.

    L'avantage de la méthode précédente est que si je loupe un paquet... Pas de problèmes, ça ne se voit pas donc udp c'est tout bon.
    Or là, si je loupe un paquet instanciant un missile par exemple, le Client ne le verra pas spawner et donc il n'apparaîtra pas dans la scène. D'où la nécessité d'un système d'accusé réception pour les paquets "vitaux". Hors tcp propose cela de base. Je sais que udp est rapide, mais l'absence d'un contrôle de réception le rend alors inutilisable ici. Je parle bien d'ouvrir une connexion tcp, envoyer le "paquet", la refermer et la rouvrir à chaque fois.

    A moins d'implémenter son propre tcp-like sur udp? (J'ai entendu parler de cette solution sur certains forums... Mais jamais je n'ai trouvé de descriptifs concernant par exemple les timeout... De plus il faudrait contrôler la réception, la réception de l'accusé réception... Et ça boucle sans fin :(

    Du coup je me tourne vers vous... Si quelqu'un peut me dire si mon résonnement est correcte, si l'idée tcp est viable ou comment faire en udp... N'hésitez pas à me dire si je me plante complètement!

    François

    • Partager sur Facebook
    • Partager sur Twitter
      26 juin 2019 à 21:18:47

      Super je vais voir ça!
      • Partager sur Facebook
      • Partager sur Twitter

      Protocole réseau pour du multijoueur.

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown