Arnis transforme des lieux réels en mondes Minecraft que les joueurs peuvent explorer. Ce projet open source s’appuie sur OpenStreetMap et d’autres sources, et a enregistré près de 900 000 téléchargements depuis GitHub depuis son lancement par Louis Erbkamm en 2022. Environ 70 contributeurs ont participé à son développement.

Erbkamm a créé le premier prototype en deux semaines environ, pendant une pause dans ses études. Le projet a commencé comme une expérience personnelle associant Minecraft et des données géographiques. Il a choisi la ville allemande d’Arnis comme lieu de test, car ses bâtiments, ses rues et ses cours d’eau offraient une variété d’éléments à essayer. Le projet a ensuite pris le nom de la ville, même si Erbkamm dit ne jamais s’y être rendu.

Arnis génère une zone sélectionnée en interrogeant OpenStreetMap pour obtenir les éléments cartographiés, puis en utilisant leurs coordonnées et leurs types pour placer des éléments dans le jeu. Les éléments qui ne sont pas cartographiés ne peuvent pas être générés. Pour les structures qui nécessitent davantage de détails que ceux fournis par les données cartographiques, comme la Statue de la Liberté ou le Christ Rédempteur, le projet peut convertir des modèles 3D en blocs Minecraft.

La communauté du projet a contribué à des traductions dans une vingtaine de langues et a développé des fonctionnalités majeures. Lorsqu’Erbkamm a envisagé de faire passer Arnis de Python à Rust, il a lancé des discussions sur GitHub pour recueillir des avis. L’ajout du relief a également attiré des spécialistes des données géospatiales, qui ont proposé des idées pour le projet.

Erbkamm est l’unique responsable de la maintenance d’Arnis et examine les demandes de fusion en parallèle de son travail de jour, souvent le soir ou le week-end. Il utilise GitHub Copilot pour examiner les problèmes et les bogues en suspens, évaluer le nombre d’utilisateurs concernés, suivre les problèmes dans le code et contribuer à la préparation de correctifs. Il indique que l’outil l’a également aidé à augmenter le volume des révisions de code et du travail de documentation.

Pour les demandes de fusion plus importantes, Erbkamm utilise l’application GitHub Copilot afin d’obtenir une première vue d’ensemble et d’évaluer les performances. Il utilise également des sous-agents pour examiner les parties du code susceptibles de subir des régressions et suggérer des cas limites à tester. De petites erreurs, comme une erreur de calcul concernant les lampadaires, peuvent ralentir considérablement la génération d’une ville entière.

Erbkamm explique que l’une de ses utilisations préférées d’Arnis se fait dans les écoles. Des enseignants ont généré des zones locales pour des activités en classe, où les élèves améliorent des parcs ou des terrains de jeu dans Minecraft et comparent leurs réalisations.

Les versions récentes ont ajouté la Lune et Mars. Erbkamm souhaite que le projet reste facile à utiliser tout en gagnant en détail et en réduisant le temps de génération, et espère le voir utilisé dans davantage d’écoles. Les utilisateurs peuvent télécharger Arnis depuis GitHub, choisir un lieu et un point de départ sur la carte, puis générer un monde à ouvrir dans Minecraft. Les éléments manquants peuvent être signalés comme des bogues ou ajoutés à OpenStreetMap.

Sources: GitHub Blog.