Arnis turns any place on Earth into a Minecraft world
GitHub user Louis Erbkamm created Arnis, an open-source tool converting real-world locations into explorable Minecraft worlds using OpenStreetMap data, now maintained with GitHub Copilot.
Louis Erbkamm, a developer from Germany, built Arnis, an open-source project that transforms real-world locations into Minecraft worlds using data from OpenStreetMap and other sources. The tool allows users to explore familiar places digitally, even if they have never visited them in person. Erbkamm began the project in 2022 as a side endeavor, combining his interest in Minecraft with geospatial data, and it has since grown to nearly 900,000 downloads and around 70 contributors on GitHub.
Arnis started as a Python prototype that generated flat Minecraft worlds from OpenStreetMap data, taking significant time to create even a small town. Erbkamm chose the tiny German town of Arnis as a test case due to its manageable size and variety of features like buildings, streets, and water bodies. The project adopted the town’s name after it became the first real-world location tested, and later improvements, such as adding elevation data, attracted geospatial specialists who contributed ideas and features.
The project expanded beyond its original scope when contributors translated Arnis into about 20 languages and developed major features collaboratively. Erbkamm engaged the community through open discussions on GitHub, such as deciding to port Arnis from Python to Rust, and incorporated user-driven enhancements like adding trash bins to generated worlds after noticing their absence in real cities.
As the sole maintainer, Erbkamm reviews every pull request manually, often working on Arnis during evenings or weekends. To manage the growing workload, he uses GitHub Copilot to review issues, trace bugs, and draft fixes, which has increased code reviews and documentation. Copilot also helps identify performance bottlenecks, such as incorrect calculations in street lighting that could slow down world generation, and assists in testing for regressions before new releases.