{"id":361,"date":"2013-05-20T16:39:52","date_gmt":"2013-05-20T15:39:52","guid":{"rendered":"http:\/\/eboreal.com\/devblog\/?p=361"},"modified":"2016-02-28T23:31:17","modified_gmt":"2016-02-28T22:31:17","slug":"multijoueurs-version-1","status":"publish","type":"post","link":"https:\/\/eboreal.com\/devblog\/multijoueurs-version-1\/","title":{"rendered":"Multijoueurs version 1"},"content":{"rendered":"<p>Dans la continuit\u00e9 du codage du moteur du jeu, voici la partie multijoueurs. Le moteur permet donc de jouer soit sur r\u00e9seau local, soit sur internet.<\/p>\n<h3>Quelle est l&rsquo;architecture du moteur du jeu ?<\/h3>\n<p>Le moteur utilise une architecture client\/serveur. Le client sert \u00e0 l&rsquo;affichage et \u00e0 la saisie des commandes du joueur et le serveur est utilis\u00e9 pour centraliser le calcul des positions des diff\u00e9rents joueurs.<\/p>\n<h3>Quels sont les messages \u00e9chang\u00e9s ?<\/h3>\n<p>Les messages de service comme les connexions, le d\u00e9marrage de la course&#8230; sont envoy\u00e9s par TCP pour assurer que les messages arrivent \u00e0 bon port. Chaque client envoie r\u00e9guli\u00e8rement les commandes effectu\u00e9es par le joueur sous la forme d&rsquo;un message UDP plus rapide mais moins fiable. Le serveur envoie r\u00e9guli\u00e8rement aussi les positions de tous les bateaux \u00e0 tous les clients, ceci sous la forme d&rsquo;un message UDP \u00e9galement.<\/p>\n<h3>Gestion des temps de transferts entre le serveur les les clients<\/h3>\n<p>Pour que l&rsquo;affichage ne soit pas trop saccad\u00e9, le client calcule les d\u00e9placements de tous les bateaux entre deux messages du serveur. A chaque message re\u00e7u du serveur, le client met \u00e0 jour la position du bateau correspondant et continue la simulation locale.<\/p>\n<h3>Analyse du code<\/h3>\n<p>Le client et le serveur partage tout le code de la simulation, mais le serveur n&rsquo;a pas d&rsquo;affichage.<\/p>\n<h4>Le serveur<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Dans la continuit\u00e9 du codage du moteur du jeu, voici la partie multijoueurs. Le moteur permet donc de jouer soit sur r\u00e9seau local, soit sur internet. Quelle est l&rsquo;architecture du moteur du jeu ? Le moteur utilise une architecture client\/serveur. Le client sert \u00e0 l&rsquo;affichage et \u00e0 la saisie des commandes du joueur et le [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":684,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[3,4,13],"tags":[],"class_list":["post-361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-a-la-une","category-blog","category-sail-boat-sim-race","et-has-post-format-content","et_post_format-et-post-format-standard"],"_links":{"self":[{"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/posts\/361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/comments?post=361"}],"version-history":[{"count":11,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/posts\/361\/revisions"}],"predecessor-version":[{"id":372,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/posts\/361\/revisions\/372"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/media\/684"}],"wp:attachment":[{"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/media?parent=361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/categories?post=361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eboreal.com\/devblog\/wp-json\/wp\/v2\/tags?post=361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}