Chad MacKinney, développeur travaillant sur les gameplays de Star Citizen, a encore une fois proposé une réponse particulièrement intéressante sur le server meshing.
Le contexte
Un joueur a fait remarquer sur Spectrum que :
- Pyro a été annoncé pour 2020 lors de la CitizenCon.
- Le SOCS ne réduit peu ou pas la charge des serveurs si les joueurs sont bien répartis dans l’univers, tant que le server meshing n’est pas implémenté.
- Le server meshing n’est pas attendu avant la fin 2020.
- Dans ces conditions, est-ce que Pyro pourrrait être implémenté avant le server meshing ?
Avertissement
La réponse de Chad MacKinney est précédé d’un avertissement très important : Sa réponse est avant tout son point de vue à l’instant donné, et est fournie pour montrer différentes possibilités.
Est-il possible d’implémenter Pyro sans le server meshing ?
L’une des possibilités serait de l’isoler de Stanton. C’est à dire de donner le choix de rejoindre l’un des deux systèmes, mais pas de passer de l’un à l’autre dans le jeu sans repasser par les menus.
Une autre possibilité serait d’utiliser la transition par les points de saut (jump point) pour faire changer de serveur le joueur. Ce qui serait une première itération de server meshing, plus simple que la version finale.
Est-ce qu’il est possible d’avoir Pyro ete Stanton sur le même serveur sans dégradation insupportable des performances serveur ?
Chad pense qu’avoir les deux systèmes sur un seul serveur causerait tellement de problèmes de performances que cela ne vaudrait même pas la peine de prendre du temps pour optimiser cette situation. Il préfère les autres options.
Est-ce qu’il faut attendre le server meshing pour avoir des serveurs à 30 FPS ?
Il n’est pas possible de prédire à quel moment cet objectif sera atteint, surtout que le “coût” serveur du server meshing n’est pas encore connu, et que le contenu va encore beaucoup changer. Le server meshing va résoudre l’un des problèmes qu’ils ont actuellement, et qui est la densité de contenu. Mais Chad rappelle que ce n’est pas leur seul problème lié à la performance des serveurs.
Est-ce qu’il y a d’autres pistes pour réduire la charge serveur ?
Comme dans tous les jeux, il faudra à un moment allouer du temps pour la performance. Certaines technologies majeures (OCS, server meshing…) peuvent aider à obtenir de grands gains, mais elles ne seront pas suffisantes et il faudra aussi faire de l’optimisation. Et là, toutes les parties du code doivent faire des efforts (la physique, l’intelligence artificielle, les entités…). Chad rappelle que c’est une démarche itérative. A chaque étape ils doivent prendre le temps d’identifier les marges de progrès, les goulets d’étranglement, et plus ils avanceront, plus ce sera compliqué.