Jeux Video

À la une

openOMSI ressuscite OMSI 2 en Rust : le simulateur de bus de 2013 sort enfin du piège des 32 bits

OMSI 2 est sorti en 2013, tourne toujours en 32 bits et oblige encore ses joueurs à appliquer un fameux « patch 4 Go » pour éviter que les grosses cartes ne terminent brutalement sur le bureau Windows. Une communauté a choisi une solution légèrement plus ambitieuse : réécrire entièrement le moteur en Rust. openOMSI est désormais disponible publiquement, fonctionne en 64 bits, devient multithreadé et sait déjà charger les cartes, bus et mods du jeu original. Windows, Linux, macOS et même Android sont visés. Le projet reste très jeune, mais il montre comment l’open source peut parfois offrir une seconde vie à un jeu que sa propre architecture commençait à enfermer.

8 min de lecture 0 commentaire
openOMSI ressuscite OMSI 2 en Rust : le simulateur de bus de 2013 sort enfin du piège des 32 bits

OMSI 2 a treize ans… et son moteur aussi

Il existe des jeux qui vieillissent discrètement. Et puis il existe OMSI 2.

Sorti le 11 décembre 2013, le simulateur développé par MR-Software reste étonnamment vivant aujourd’hui, avec des centaines de contenus additionnels et surtout une communauté extrêmement fidèle de créateurs de cartes, de bus, de livrées et de scripts. Sa page Steam affiche toujours des évaluations globalement très positives et le catalogue de DLC continue de donner l’impression que quelqu’un, quelque part, refusera de laisser le dernier MAN diesel virtuel prendre sa retraite.

Le problème est que le moteur du jeu n’a jamais été conçu pour les PC de 2026.

OMSI 2 reste une application 32 bits, issue d’une époque où 4 Go de mémoire semblaient déjà plutôt confortables. Dans sa configuration normale, le programme peut se retrouver limité à environ 2 Go d’espace mémoire adressable. Depuis des années, la communauté recommande donc l’utilisation d’un patch 4 Go, qui active le fameux drapeau Large Address Aware afin de repousser cette limite.

Cela améliore la situation.

Mais 4 Go restent 4 Go.

Vous pouvez avoir 64 Go de RAM, un Ryzen capable de calculer la météo de Berlin jusqu’en 2087 et une carte graphique qui consomme autant qu’un radiateur : le vieux processus 32 bits ne devient pas soudainement moderne parce qu’on lui parle gentiment.

La solution d’openOMSI : garder le jeu et remplacer presque tout le reste

C’est ici qu’intervient openOMSI.

Le principe est assez spectaculaire : recréer le fonctionnement d’OMSI 2 à partir de zéro dans un nouveau moteur écrit en Rust, plutôt que d’essayer de maintenir éternellement l’ancien exécutable.

Le dépôt officiel openOMSI décrit aujourd’hui le projet comme une réimplémentation 64 bits et multithreadée équipée d’un moteur graphique moderne basé sur wgpu, capable d’utiliser notamment Vulkan, DirectX 12 et Metal selon les plateformes. Le développement est public et le projet se trouve encore explicitement au stade Early Release.

L’objectif n’est pourtant pas de refaire OMSI 2 avec de nouveaux graphismes et trois bus NFT.

Au contraire, openOMSI veut reproduire son comportement suffisamment précisément pour que le contenu existant continue de fonctionner.

Cartes, splines, objets de décor, véhicules, scripts, horaires, fichiers HOF, polices, météo, tickets et plugins font partie des formats que le projet cherche à comprendre et à charger comme le faisait la version 2.2.032 du jeu original.

Et c’est ce détail qui transforme un projet technique sympa en quelque chose de nettement plus intéressant.

Vos dizaines de gigaoctets de mods ne sont pas censés finir à la poubelle

L’écosystème OMSI 2 représente plus d’une décennie de contenu communautaire.

Créer un nouveau simulateur de bus performant serait donc relativement inutile s’il obligeait les joueurs à abandonner tout ce qui a été fabriqué depuis 2013.

openOMSI adopte l’approche inverse : le contenu du jeu original reste la bibliothèque.

Le logiciel exige d’ailleurs une copie légitime d’OMSI 2. Il n’intègre ni les cartes ni les véhicules commerciaux du titre d’Aerosoft. Au premier lancement, on lui indique simplement l’installation existante et il utilise ses fichiers. Le projet précise que l’installation originale n’est pas modifiée.

Autrement dit, openOMSI n’est pas une copie gratuite d’OMSI 2.

C’est plutôt un nouveau lecteur pour son contenu.

Les développeurs affichent même comme objectif une compatibilité transparente avec les cartes, bus, véhicules IA et mods communautaires. Le site officiel promet qu’ils pourront être utilisés sans conversion. C’est évidemment un objectif extrêmement ambitieux, et le stade actuel du projet signifie qu’il ne faut pas interpréter cette promesse comme « absolument chaque mod obscur écrit en 2014 fonctionne déjà parfaitement ».

La nuance est importante, surtout dans un jeu où quelqu’un possède forcément un autobus hongrois de 1987 dépendant d’un plugin compilé avec une version de Delphi retrouvée dans une pyramide.

Le passage au 64 bits règle enfin un problème que le patch 4 Go ne pouvait pas régler

Le bénéfice le plus évident concerne la mémoire.

Le vieux OMSI 2 étant 32 bits, aucune quantité de RAM supplémentaire dans votre ordinateur ne peut supprimer complètement son plafond d’adressage. La documentation historique de la communauté explique justement pourquoi les très grandes cartes, le trafic IA important et les bus détaillés peuvent finir par saturer la mémoire disponible.

openOMSI passe à un véritable espace d’adressage 64 bits.

Mais les développeurs vont plus loin : leur architecture prévoit aussi le chargement des textures et le streaming sur des threads de travail afin d’éviter une partie des blocages qui se produisaient lorsque l’ancien moteur devait effectuer trop de tâches sur le même fil d’exécution.

Il ne faut cependant pas encore inventer des benchmarks que les développeurs eux-mêmes ne publient pas.

openOMSI est en plein développement et aucune donnée indépendante sérieuse ne permet aujourd’hui d’affirmer qu’il double ou triple systématiquement les performances du jeu original.

Ce que l’on peut affirmer, en revanche, c’est que son architecture supprime plusieurs limitations fondamentales qui ne pouvaient tout simplement pas être réparées proprement dans l’exécutable 32 bits.

Le patch 4 Go poussait le plafond.

openOMSI retire le plafond.

Et puisqu’ils reconstruisaient le moteur, ils ont visiblement oublié de s’arrêter

Le projet ne se contente déjà plus de reproduire les fonctions du jeu de 2013.

Les builds sont disponibles pour Windows x64 et ARM64, Linux x64 et ARM64, macOS Intel et Apple Silicon, ainsi que pour Android ARM64. Une version serveur dédiée existe également.

La documentation mentionne aussi un mode multijoueur en réseau local, un serveur sans interface graphique et même une prise en charge expérimentale de la réalité virtuelle via OpenXR sous Windows.

Oui.

Quelqu’un est donc en train de transformer un simulateur de bus Windows de 2013 en jeu Rust multiplateforme utilisable potentiellement sur un téléphone et dans un casque VR.

Parce que manifestement conduire le Spandau 92 avec un clavier n’était plus suffisamment immersif.

Le moteur moderne permet également aux mods d’aller au-delà de certaines limites historiques d’OMSI : textures plus grandes, davantage d’éclairages intérieurs et matériaux PBR comportant cartes normales, rugosité, métallicité ou occlusion.

Ce qui ouvre une situation amusante : les mêmes fichiers vieux de dix ans pourraient progressivement se retrouver dans un moteur capable de leur offrir des possibilités dont leurs auteurs n’avaient jamais disposé.

Mais ne désinstallez surtout pas OMSI 2 ce soir

Tout cela donne envie de cliquer immédiatement sur Télécharger, mais openOMSI affiche un énorme avertissement pour une raison.

Le projet reste incomplet.

Au 15 octobre, le jalon GitHub consacré au gameplay principal n’est pas encore terminé. On y trouve toujours des bugs concernant le trafic IA, certains bus articulés, les contrôles clavier sous Linux, les horaires ou l’affichage des cartes.

Le site officiel d’openOMSI classe lui-même les versions actuelles comme précoces et demande aux utilisateurs de s’attendre à rencontrer des choses manquantes ou cassées.

La bonne approche consiste donc à considérer openOMSI comme un projet déjà suffisamment avancé pour être essayé par les curieux, pas encore comme un remplacement définitif garanti de l’original.

Et puisque le logiciel dépend toujours des fichiers d’OMSI 2, conserver le jeu installé n’est de toute façon pas facultatif.

Le plus intéressant n’est peut-être même pas OMSI

openOMSI raconte surtout quelque chose d’assez fascinant sur le vieillissement des jeux PC.

La préservation ne consiste plus uniquement à conserver un exécutable sur un disque dur.

Certains jeux restent parfaitement disponibles à la vente mais deviennent progressivement prisonniers de technologies anciennes : architecture 32 bits, API graphiques obsolètes, moteur mono-thread, plugins historiques ou dépendances abandonnées.

Le jeu est toujours là.

Ce sont les fondations qui commencent à craquer.

Dans ce cas, la communauté possède deux options : continuer à empiler des correctifs sur un programme dont elle ne contrôle pas le code, ou reproduire suffisamment son comportement pour transporter tout son écosystème vers une base moderne.

C’est exactement ce que tente openOMSI.

Le projet affirme ne reprendre ni code ni ressources du jeu original, mais documenter et réimplémenter ses formats afin d’utiliser les fichiers d’une installation existante.

Cette approche n’est d’ailleurs plus exceptionnelle dans le jeu vidéo. Décompilations, recompilations et réimplémentations de moteurs se multiplient actuellement autour de titres anciens, au point que Microsoft vient lui-même de créer Xbox Labs pour expérimenter autour de ces nouveaux usages.

La préservation commence à ressembler de moins en moins à un musée.

Et de plus en plus à de l’ingénierie.

Le vieux bus pourrait finalement survivre au moteur qui le faisait rouler

Il est beaucoup trop tôt pour savoir si openOMSI réussira à atteindre une compatibilité réellement parfaite.

Une réimplémentation aussi vaste peut accumuler pendant des années des petits comportements différents de l’original, particulièrement lorsqu’elle doit avaler plus de dix ans de mods conçus autour de bugs que certains créateurs ont parfois fini par considérer comme des fonctionnalités.

Mais le projet possède déjà une qualité essentielle : il ne demande pas à la communauté de repartir de zéro.

Les cartes, les bus, les mods restent.

C’est le moteur qui est remplacé.

Et pour un jeu dont la plus célèbre optimisation consistait jusque-là à cocher un bit dans son exécutable afin de grappiller deux gigaoctets de mémoire supplémentaires, passer à Rust, au 64 bits, au multithreading et à Vulkan ressemble plutôt à une mise à niveau conséquente.

OMSI 2 continuera probablement encore longtemps à faire arriver des bus virtuels en retard à Berlin.

Au moins, avec openOMSI, ce ne sera peut-être plus parce que le moteur vient de manquer de RAM.

Sources & références

Tags

Communauté

Commentaires

La discussion est ouverte

Aucun commentaire pour le moment. Soyez le premier à réagir.

Publication après modération