Arnis converte luoghi reali in mondi di Minecraft che i giocatori possono esplorare. Il progetto open source attinge a OpenStreetMap e ad altre fonti e ha registrato quasi 900.000 download da GitHub da quando Louis Erbkamm lo ha avviato nel 2022. Circa 70 collaboratori hanno contribuito al suo sviluppo.

Erbkamm ha creato il primo prototipo in circa due settimane, durante una pausa dalla scuola. Il progetto è nato come esperimento personale che combinava Minecraft con i dati geografici. Ha scelto la città tedesca di Arnis come luogo di prova perché i suoi edifici, le strade e i corsi d’acqua offrivano una varietà di elementi da testare. In seguito il progetto ha preso il nome della città, anche se Erbkamm afferma di non esserci mai stato.

Arnis genera un’area selezionata interrogando OpenStreetMap alla ricerca di elementi cartografati e usando le loro coordinate e tipologie per collocare elementi nel gioco. Gli elementi che non sono mappati non possono essere generati. Per strutture che richiedono più dettagli di quanti ne forniscano i dati cartografici, come la Statua della Libertà o il Cristo Redentore, il progetto può convertire modelli 3D in blocchi di Minecraft.

La community del progetto ha contribuito alle traduzioni in circa 20 lingue e allo sviluppo di funzionalità importanti. Quando Erbkamm ha preso in considerazione il passaggio di Arnis da Python a Rust, ha aperto delle discussioni su GitHub per raccogliere opinioni. L’aggiunta dei dati di elevazione ha inoltre coinvolto specialisti in geospazialità, che hanno proposto idee per il progetto.

Erbkamm è l’unico manutentore di Arnis e, oltre al suo lavoro quotidiano, esamina le pull request, spesso la sera o nei fine settimana. Usa GitHub Copilot per esaminare le issue e i bug aperti, valutare quanti utenti siano interessati, risalire ai problemi nel codice e contribuire alla preparazione delle correzioni. Afferma che lo strumento ha anche contribuito ad aumentare la quantità di lavoro di revisione del codice e di documentazione.

Per le pull request più grandi, Erbkamm usa l’app GitHub Copilot per ottenere una panoramica iniziale e valutare le prestazioni. Usa anche sub-agent per esaminare le aree di codice che potrebbero essere vulnerabili a regressioni e suggerire casi limite da testare. Piccoli errori, come un calcolo errato relativo ai lampioni, possono rallentare notevolmente la generazione di un’intera città.

Erbkamm afferma che uno dei suoi usi preferiti di Arnis è nelle scuole. Gli insegnanti hanno generato aree locali per attività in classe, nelle quali gli studenti migliorano parchi o parchi giochi in Minecraft e confrontano i propri lavori.

Le versioni recenti hanno aggiunto la Luna e Marte. Erbkamm vuole che il progetto resti facile da usare, aggiungendo al contempo dettagli e riducendo i tempi di generazione, e spera che venga adottato in più scuole. Gli utenti possono scaricare Arnis da GitHub, selezionare un luogo e un punto di partenza sulla mappa e generare un mondo da aprire in Minecraft. Gli elementi mancanti possono essere segnalati come bug oppure aggiunti a OpenStreetMap.

Fonti: GitHub Blog.