Due Process continue ses sessions de tests de son alpha chaque weekends et vient justement de se mettre à jour. Dans un article publié sur le site du jeu nous apprenons ainsi que les développeurs ont corrigé quelques bugs et retiré les mega match. À noter qu’ils enverront à nouveau aujourd’hui 100 invitations pour participer à leur alpha. Si vous vous étiez inscrit via le formulaire, pensez à vérifier votre boîte mail.

Le reste de l’article explique la façon dont le jeu côté client communique avec les serveurs. Auparavant, à chaque fois que le jeu envoyait un message, le serveur exécutait l’action demandée. Dorénavant, le serveur va jouer dans l’ordre (par rapport à un instant “t”) les messages envoyés par les joueurs. Quitte à corriger certaines actions. Par exemple :

t + 00 ms: vous tirez sur un autre joueur et réduisez ses PV à zéro.
t + 10 ms: l’autre joueur vous tire dessus et vous inflige des dégâts.
t + 60 ms: le serveur reçoit le message de l’autre joueur qui vous tire dessus.
t + 70 ms: le serveur reçoit votre message concernant la mort de l’autre joueur.

Dans l’ancien système, le serveur calculait que l’autre joueur vous tirait dessus à ‘t + 60ms’ et réduisait vos HP. Ensuite, il enregistrerait l’autre joueur mourant à ‘t + 70ms’. Vous subissiez des dégâts car votre message avait mis plus de temps à atteindre le serveur que celui de votre adversaire. Désormais, le serveur va en quelque sorte remonter dans le temps :

Rembobiner le temps à «t».
Calculer votre tir à cet instant «t».
Avance rapide vers le présent, en calculant à nouveau les actions.

Ainsi, tuer votre adversaire invalide ses futures actions et vous ne prenez pas de dégâts après l’avoir tué. Les développeurs précisent que ce système peut engendrer un effet papillon quand le serveur revient en arrière pour calculer une action. Ils ajoutent également :

Il (le serveur) ne le fera pas automatiquement à chaque fois, mais il a le choix s’il juge que c’est approprié. Décider de supprimer une action invalidée ou de la jouer est un processus très complexe. Cela dépend du type d’actions impliquées et de l’état actuel de la partie. Dans l’exemple ci-dessus, il peut sembler raisonnable de supprimer l’action de votre adversaire, mais dans d’autres cas, cela briserait les attentes des joueurs. Si vous tirez sur un ennemi sur votre écran, vous ne voulez pas qu’il s’en sorte indemne simplement parce que, côté serveur, il a réussi à esquiver. Ou pire encore, un joueur que vous venez de tuer revient à la vie et vous tue à la place !

L’article se conclue par deux vidéos, l’une du côté des attaquants et l’autre dans l’équipe adverse :

Due Process n’a toujours pas de date de sortie.

2 Commentaires


  1. Je comprends le principe et pourquoi ils veulent implanter ça, mais ça semble bien compliqué. C’est un coup à rajouter des requêtes serveurs, à augmenter le temps de réponse et à devoir encore envoyer plus de requêtes… Il ne vaudrait pas mieux simplement améliorer le netcode pour ne pas avoir à faire tout ça ?

  2. Le développement de ce jeux est aussi long qu’un certain space opéra.

    J’aime beaucoup son coté pixel, mais c’est quand qu’on pourra y poser les mains :'(

Connectez-vous pour laisser un commentaire