Simcity, ce qu’il a fallu changer

Alors que Maxis a annoncé l’arrivée prochaine de la version Hors Ligne du jeu Simcity, Simon Fox, un des producteurs, a publié sur le site officiel un petit compte rendu de ce qu’il a fallu changer pour rendre possible cette avancée. Apparament, les producteurs ont travaillé d’arrache pied pour faire plaisir aux joueurs.

Bonjour, je m’appelle Simon Fox, développeur en chef du mode Solo pour SimCity, et je voudrais vous parler du développement du jeu hors ligne..

Quand le jeu est sorti, nos fans nous ont demandé un mode Hors ligne. J’ai alors réuni l’équipe pour travailler pour rendre ce mode accessible dès que possible après le lancement.

REMANIEMENT DE LA VISION CRÉATIVE

L’idée initiale, pour SimCity, était de créer un jeu où chaque action aurait un impact sur les autres villes de la région. Nous avons donc développé le jeu avec cette vision en tête et fait en sorte que le PC du joueur (client), communique toutes ses informations aux serveurs. Cela signifie que toute notre infrastructure a été conçue dans cette optique, de la façon dont la simulation fonctionne, à la façon dont vous communiquez à travers une région de villes. Alors oui, il était possible de supprimer la « vérification horaire » peu après le lancement, mais cela empêchait d’effectuer des actions clés comme communiquer avec d’autres villes créées localement ou avec le reste de la région, ou même sauvegarder l’état actuel de votre ville..

Cependant, mon équipe a trouvé une voie vers le mode hors ligne qui ne nuit pas à l’intégrité de la simulation. Un jour, Lucy a dit que le mode Hors ligne ne serait possible qu’au prix d’un long travail d’ingénierie, et elle avait raison. Une fois ce mode achevé, nous aurons passé six mois et demi à écrire et réécrire les parties principales du jeu pour le faire fonctionner. Même les choses qui paraissent triviales, telles que la sauvegarde et le chargement de villes, ont dû être entièrement remaniés pour qu’il fonctionne correctement.

RÉÉCRITURE DES PARTIES CLÉS

J’aimerais qu’il suffise d’actionner un interrupteur et de dire au jeu de communiquer avec un client factice au lieu de notre serveur, mais ce n’est pas si simple. Des calculs entiers ont dû être réécrits pour faire fonctionner le jeu correctement.

SimCity a été écrit autour des serveurs. Le jeu sollicite régulièrement les serveurs pour obtenir des données importantes (statut de région, employés, échanges, etc.), et la simulation repose sur ces informations. Le système était écrit en Java, et nous avons dû le réécrire intégralement en C++. Nous avons dû couper le flux de données en provenance d’Internet. Une grande quantité de code atteignait le serveur pour solliciter des informations. Nous avons donc dû écrire une grande quantité de code pour que ces données, et plus particulièrement les informations concernant la région, soient produites localement.

Notre jeu achemine les données d’une ville à l’autre et celles-ci circulent dans les régions. Tout ce code se trouve sur le serveur, et avec le mode Hors ligne, il est désormais disponible chez le client. Le client analyse la boîte de la région, dans laquelle toutes les villes mettent leurs données. Nous avons également recréé cette fonction en local.

Et maintenant, toute la simulation régionale doit s’effectuer localement. Les algorithmes ont dû être remaniés pour que les échanges entre les villes soient plus réactifs dans ce mode. Faire en sorte que la simulation fonctionne localement a nécessité une importante optimisation. Notre devoir est de faire en sorte que le jeu soit amusant et fonctionne sous toutes les configurations. Ce serait dommage que les utilisateurs qui appréciaient le jeu en multijoueur trouvent un mode Solo incomplet en raison d’une mauvaise optimisation.

Et il ne s’agissait pas seulement d’ajouter des éléments, nous avons dû supprimer des parties du jeu pour qu’il fonctionne correctement. Ainsi, nous avons dû éliminer une grande quantité du code constituant le mode Multijoueur, notamment du code et de l’IU qui touchaient aux échanges, aux fonctions sociales, au marché mondial, aux classements et aux succès. Et tout cela sans tronquer le jeu Multijoueur.

Et maintenant, où en sommes-nous ? Nous travaillons sur ce mode depuis le mois d’août. Nous avons atteint la phase alpha et nous effectuons les derniers tests avant sa sortie avec la mise à jour 10. Toute l’équipe de développement se joint à moi pour vous remercier de votre patience. Nous savons que vous voulez pouvoir jouer à SimCity hors ligne, et nous sommes heureux de vous le permettre enfin.

Qu'en pensez-vous ?

A propos de l'auteur

Avatar photo
Joueur des Sims depuis le deuxième opus, je suis le webmaster d'Amaz'Sims depuis 2012. Je fais partie du programme EA Creator Network et de l'équipe des "héros" sur le forum EA AnswersHQ.

Laisser un commentaire