Fenris Creations Begins EVE Online’s Python 3 Migration to Keep MMO Stable
Fenris Creations a commencé la migration technique de son MMORPG spatial EVE Online depuis Python 2.7 vers Python 3, un chantier lancé afin de “solder” une dette accumulée sur 16 ans. Le studio chiffre l’ampleur du travail à 2,4 millions de lignes de code, avec l’objectif de préserver la stabilité du MMO pendant la transition, sans interrompre le jeu.
EVE Online repose sur une base logicielle construite sur Python 2.7, utilisée pour faire fonctionner les éléments centraux de l’univers de New Eden depuis des décennies : chargement des sauts stellaires, exécution des ordres de marché et simulation des batailles de flotte. Le problème est que Python 2.7 a atteint sa fin de vie officielle en 2020, alors même que le reste de l’industrie a depuis adopté des versions plus récentes. Pour Fenris Creations, la mise à niveau vers Python 3 n’est plus seulement une option : elle devient nécessaire pour continuer à suivre l’évolution technologique, malgré les risques inhérents à un changement majeur de langage dans un environnement aussi vivant qu’un MMO.
La migration porte sur un volume colossal de code, mais l’équipe cherche à avancer sans “couper” l’exploitation. Des outils existent pour accélérer la partie mécanique de la mise à jour, notamment Python-Future, qui applique des correctifs automatisés pour réécrire des motifs obsolètes en une syntaxe compatible avec Python 3. Le défi le plus délicat vient ensuite : il faut gérer le code qui doit tourner sous les deux versions tout en ayant un comportement identique, ou du moins mesurable. Autrement dit, l’équipe doit être capable d’évaluer la distance restante avant une compatibilité totale, afin de limiter les régressions pendant que la base évolue.
Le studio s’appuie sur un précédent interne pour démontrer que l’objectif est réaliste : EVE Frontier, un projet dérivé, a déjà migré son moteur Carbon vers Python 3, couvrant ainsi 16 ans d’évolution du langage. Pour EVE Online, l’enjeu côté joueurs est de rendre la migration la plus invisible possible, en dehors d’éventuelles améliorations progressives des performances.
Dans ses objectifs, Fenris Creations met en avant des bénéfices techniques attendus à mesure que la transition avance : des outils de débogage plus efficaces pour corriger les bugs, une marge de manœuvre accrue pour introduire de nouvelles fonctionnalités, et, à terme, un EVE Online plus rapide et plus réactif. Le but annoncé reste une transition fluide où l’expérience de jeu ne change pas brutalement, mais se retrouve optimisée au fil de l’avancement de la compatibilité avec Python 3.
