DUST 514 : À la conquête de l’univers

3 1

devblog_starmap

Je m’appelle CCP Lin et je suis architecte de serveur sur DUST 514. Dans ce blog des développeurs, j’aimerais aborder certains aspects techniques de DUST 514 à propos du jeu en ligne, comme les défis que nous avons rencontrés et la manière dont nous les avons gérés.

Mon rôle d’architecte de serveur consiste à intégrer les combats multijoueur du FPS DUST à l’univers EVE, mais aussi à configurer les serveurs de combat DUST pour des performances optimales. Contrairement aux FPS multijoueur traditionnels, DUST 514 a beaucoup de similitudes avec les MMO ; et contrairement aux autres FPS MMO, il comprend des interactions très poussées avec l’un des MMO futuristes les plus populaires : EVE Online ! Nous avons donc dû chercher des technologies nous permettant d’établir un tel niveau d’interaction avec EVE, tout en conservant un gameplay de FPS très fluide.

EVE est largement bâti sur Stackless Python, une variante du langage de programmation Python qui comprend un traitement multifilière coopératif au niveau du langage. Les applications technologiques de CCP s’appuient fortement sur Stackless Python, et il existe d’autres technologies en ligne que DUST peut et doit utiliser pour interagir de manière fluide avec le reste de l’univers EVE.

DUST 514 Interview: Changing Console Shooters Forever

Le gameplay FPS multijoueur de DUST tourne sur le moteur Unreal 3, mais pour le lier à l’univers EVE, nous devions évidemment employer certaines technologies utilisées actuellement par EVE. En particulier, le client DUST doit être considéré par l’univers Eve comme une simple classe spéciale du client EVE. De plus, les serveurs EVE doivent traiter les clients DUST d’une manière similaire aux clients EVE normaux, pour que la bande passante du réseau et les performances de simulation restent équilibrées. Les serveurs EVE auraient seulement besoin d’activer un ensemble de services liés à DUST côté serveur, pour accepter sans problème les clients DUST de nouvelle génération. Cependant, les technologies d’EVE côté client sont entièrement basées sur Python et ne peuvent pas être appliquées n’importe comment à une plateforme aux ressources limitées comme la PlayStation 3. Nous avons donc dû implémenter des technologies réseau plus légères qui reproduisent les systèmes de communication d’EVE le plus fidèlement possible, tout en étant plus accessibles pour la mémoire et le système de la PS3.

La relation entre DUST et EVE se présente également sous forme d’interactions entre les serveurs de combat DUST et l’univers EVE. Voici en version simplifiée comment commencent les combats de DUST :

Si une corporation d’EVE souhaite s’emparer d’un territoire sur une planète appartenant à une autre corporation, elle peut publier un contrat de combat, qui sera accepté par deux groupes de mercenaires DUST : le premier représente les attaquants, qui toucheront la prime promise en cas de victoire, et le deuxième forme la force de défense, qui recevra également une récompense s’il réussit à protéger le territoire. Lorsque chaque équipe atteint un nombre minimum prédéterminé, le serveur EVE transmet à un serveur de combat DUST approprié l’instruction de créer un combat. Ce serveur de combat reçoit ainsi toutes les informations nécessaires pour organiser la partie, et les clients des mercenaires DUST sont ensuite envoyés dans la bataille. À l’issue du combat, tous les joueurs reçoivent (ou perdent) leur part des bénéfices, et le processus du serveur de combat est supprimé de l’univers EVE.

DUST 514 Interview: Changing Console Shooters Forever

EVE doit donc gérer la durée de vie des serveurs de combat DUST et communiquer avec eux quand c’est nécessaire. Mais comme les FPS multijoueur sont très sensibles à la latence, nous devons également nous assurer qu’il n’y ait aucun problème à ce niveau pour que les parties soient toujours justes pour tous les joueurs. Je ne vais pas me lancer dans des explications techniques détaillées sur la manière dont nous abordons ce genre de difficultés, car nous explorons toujours les possibilités pour trouver le meilleur point d’équilibre qui permettra aux combats de DUST de s’intégrer parfaitement à l’univers EVE !

Contrairement aux serveurs de FPS multijoueur traditionnels, les serveurs de combat de DUST seront hébergés aux quatre coins du monde. Comme les ressources matérielles du serveur centralisé sont assez limitées en nombre, nous devons trouver le moyen d’exploiter les ressources existantes le plus possible. Au lieu d’avoir un serveur particulier hébergeant un seul combat, nous voulons une machine multicoeur dédiée pour héberger un maximum de serveurs de combat DUST !

devblog_clustering

Nous avons considérablement optimisé les performances de notre moteur FPS, à la fois côté serveur et côté client, et chaque serveur de combat DUST peut maintenant héberger un bon nombre de joueurs. Cependant, pour que de multiples serveurs de combat coexistent sur la même machine multicoeur, nous devons limiter au maximum les conflits d’utilisation de ressources entre le processeur et la mémoire. Je ne vais pas non plus entrer dans les détails à ce sujet, mais je peux vous assurer que les combats de DUST seront parfaitement modulables.

Comme d’habitude, nous continuons d’améliorer chacun des aspects de DUST 514, pour en faire un jeu qui plaira à tous nos futurs joueurs !

Les commentaires sont désactivés.

3 Commentaires

1 Réponse de l'auteur


    Loading More Comments

    Veuillez saisir votre date de naissance.

    Date of birth fields