CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Architecture réseau

Caudheur
Caudheur
Niveau 8
11 juillet 2013 à 14:05:42

Salut à tous !

J'ai déjà posté ce message sur le forum "Création de jeux", j'espère que ça ne pose pas de problème si je reposte ici.

J'essaye de programmer un petit jeu multijoueur. C'est un jeu de plateforme, donc temps réel et beaucoup d'inputs à gérer chez chaque client.

Ce n'est pas le jeu qui m’intéresse, je le prends plutôt comme un exercice appliqué pour apprendre la programmation réseau.

Ma question concerne l'architecture du moteur réseau.
Quelles informations envoyer, quand et comment ?
J'hésite entre les sockets UDP et TCP.

La solution que j'envisage en ce moment est d'utiliser TCP pour envoyer exactement chaque input (appui de touche, clic de souris...) du client 1 au client 2 (via un serveur). Ainsi, le client 2 peut reproduire les actions du joueur 2 en interne.
Cependant, je trouve déjà de nombreux désavantages à cette idée.

Si vous avez des pistes ou des conseils, ça me ferait très plaisir d'en apprendre plus sur l'architecture réseau (à un niveau modeste bien sûr, pour l'instant j'essaye juste avec 2 joueurs en LAN).

Voilà, merci d'avance et bonne journée ! :)

Vis1teur
Vis1teur
Niveau 10
11 juillet 2013 à 14:35:00

Je suis pas expert mais déjà je ferai :
- un maximum de chose doit être géré par le serveur
- tout passe par le serveur
- le client est essentiellement un afficheur qui envoie les input et actions client au serveur
- les choses gérées par le client ne doivent pas influencer le gameplay (par ex la physique de petits objets décoratifs n'a pas besoin d'être calculé par le serveur).

Caudheur
Caudheur
Niveau 8
11 juillet 2013 à 14:40:34

Oui en effet ça évite le problème majeur de la désynchronisation quand les clients gèrent trop de choses de leur côté.
Et du coup je pense avoir une idée de ce que le client envoie au serveur (input), mais qu'est ce que le serveur envoie aux clients ?

Vis1teur
Vis1teur
Niveau 10
11 juillet 2013 à 14:44:56

Par exemple quand tu envoie un input, ton serveur update ta position et te l'envoie. Il t'envoie aussi la position des autres joueurs au passage et ce qu'ils font.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware