Arnis, tecnologia para criar cidades no Minecraft usando OpenStreetMap
(github.com/louis-e)- Arnis é um projeto gratuito e de código aberto que gera mundos para Minecraft Java Edition 1.17+ e Bedrock Edition refletindo geografia, relevo e construções do mundo real
- O algoritmo de geração processa dados geoespaciais do OpenStreetMap e dados de elevação para reproduzir com mais precisão o terreno e as edificações dentro do Minecraft
- O usuário pode escolher uma área no mapa com a ferramenta retangular, selecionar um mundo do Minecraft e clicar em
Start Generation; também é possível ajustar configurações como escala do mundo, ponto de spawn e geração do interior dos prédios - É possível criar mundos no navegador sem instalação ou, para tamanhos de mapa maiores e geração em dispositivos móveis, usar o MapSmith
- Os únicos canais oficiais de download são arnismc.com e o repositório no GitHub; downloads do Arnis em outros sites são não oficiais e podem ser maliciosos
Mundos de Minecraft criados pelo Arnis
- Arnis gera mundos de Minecraft que refletem a geografia, o relevo e as construções do mundo real
- Suporta Minecraft Java Edition 1.17+ e Bedrock Edition
- É possível transformar regiões reais, como sua cidade natal, grandes metrópoles ou paisagens naturais, em mundos de Minecraft
- O projeto é uma ferramenta gratuita e de código aberto projetada para lidar com grandes volumes de dados geográficos reais
- O processo de geração usa em conjunto dados geoespaciais do OpenStreetMap e dados de elevação
- O objetivo é tornar mais precisa a representação do terreno e das construções no Minecraft
Como usar
- O usuário pode baixar a versão mais recente ou fazer o build manualmente
- Na GUI, basta selecionar a área desejada no mapa com a ferramenta retangular, escolher um mundo do Minecraft e clicar em
Start Generation - As configurações de geração permitem ajustar vários itens
- Escala do mundo
- Ponto de spawn
- Geração do interior dos prédios
- Se precisar de geração em dispositivos móveis ou de mapas maiores, o MapSmith gera mundos no navegador sem instalação
Documentação e objetivos de desenvolvimento
- A documentação completa está disponível na GitHub Wiki
- Explicações técnicas
- FAQ
- Diretrizes de contribuição
- Roadmap
- Os principais objetivos do projeto são modularidade, desempenho, documentação, usabilidade e suporte multiplataforma
- A ideia é separar claramente importação de dados, processamento e geração do mundo para melhorar manutenção e extensibilidade
- Há forte foco em otimização de desempenho para gerar mundos rapidamente
- Busca-se deixar a estrutura e a lógica mais claras por meio de documentação interna no código
- O objetivo é oferecer uma experiência fácil de usar para o usuário final
- A meta é funcionar bem em Windows, macOS e Linux
Build e contribuição
- O projeto aceita contribuições de todos os níveis, incluindo correções de bugs, melhorias de desempenho, novos recursos e aprimoramentos de documentação
- O fluxo de contribuição é fazer fork do repositório, aplicar as mudanças e enviar um pull request
- Um exemplo de build pela linha de comando é o seguinte
cargo run --no-default-features -- --terrain --path="C:/YOUR_PATH/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"
- O build da GUI é executado com o comando abaixo
cargo run
- Usuários de Nix podem executar diretamente assim
nix run github:louis-e/arnis -- --terrain --path=YOUR_PATH/.minecraft/saves/worldname --bbox="min_lat,min_lng,max_lat,max_lng"
- Quando um pull request é mesclado, as mudanças passam a integrar os lançamentos regulares de atualização
Reconhecimento, licença e fontes oficiais
- Desde dezembro de 2024, o Arnis vem recebendo mais atenção e foi destacado em vários materiais acadêmicos e jornalísticos
- Building realistic Minecraft worlds with Open Data on AWS: How Arnis uses elevation datasets at scale
- Floodcraft: Game-based Interactive Learning Environment using Minecraft for Flood Mitigation and Preparedness for K-12 Education
- Hackaday: Bringing OpenStreetMap Data into Minecraft
- TomsHardware: Minecraft Tool Lets You Create Scale Replicas of Real-World Locations
- XDA Developers: Hometown Minecraft Map: Arnis
- O Arnis é distribuído sob a Apache License 2.0
- O mapeamento de nomes de blocos Luanti em
src/luanti_block_map.rsfoi derivado de MC2MT e segue a licença GNU Lesser General Public License v2.1 ou superior - O site oficial do projeto é apenas arnismc.com e o repositório no GitHub
- Downloads em outros sites são não oficiais e podem ser maliciosos
- O Arnis não é um produto oficial do Minecraft e não tem aprovação nem vínculo com Mojang ou Microsoft
1 comentários
Opiniões no Hacker News
Há mais de 10 anos, criei o maps4cim, um projeto open source de gerador de cidades para Cities in Motion 2, usando dados do OSM para ruas e edifícios e dados NASA SRTM para elevação
O lado do OSM é muito mais complexo e os dados também mudam todos os dias, mas, se você enviar a mesma consulta para a Overpass API, ainda consegue receber os dados mais recentes no formato esperado
Já a NASA, em algum momento, fechou o acesso público aos dados SRTM, que eram de domínio público, e os escondeu atrás de um webservice não REST acessível apenas a usuários registrados
Se os dados não fossem gratuitos e facilmente acessíveis, eu nem teria começado um projeto open source como esse; quando se cria uma barreira de entrada, perdemos todas as boas ferramentas que poderiam ter sido construídas sobre os ombros de gigantes
Tomara que projetos como o OSM, que colocam em prática o espírito dos dados abertos, ganhem ainda mais força
1: https://github.com/Klamann/maps4cim
Graças às missões gamificadas do StreetComplete ou ao editor baseado em navegador do osm.org, qualquer pessoa com internet consegue corrigir lugares ao redor em poucos minutos
Por outro lado, o fato de ainda haver algo a corrigir em qualquer lugar também significa que não há contribuidores suficientes
O grande problema é que não existe um app de referência que as pessoas usem sempre e no qual acabem encontrando erros, mas isso está mudando aos poucos com o Organic Maps, e ouvi dizer que o estacionamento automático da Tesla também levou novas pessoas a mapear
https://www.reddit.com/r/gis/comments/qg4b6j/is_it_possible_...
O Geonames também oferece um serviço de consulta de elevação baseado em SRTM e outros dados: http://www.geonames.org/export/web-services.html
Mas, se você precisar amostrar uma área ampla em alta resolução, pode esbarrar nos limites da API ou sobrecarregar o serviço
Ainda assim, isso mostra que é possível um terceiro obter o dataset e oferecer uma API sobre ele
Até onde sei, a GPL não tem nenhuma cláusula que proíba criar falsos heróis
Porém há exceções quando a saída inclui partes do próprio código-fonte do programa, como em geradores de lexer/parser, e a licença do GNU Bison traz uma exceção explícita permitindo isso
O Minecraft tem Redstone e Command Blocks, e as pessoas já criaram coisas como 8086 ou Tetris
Fico curioso se existiria algum caso-limite em que mundos gerados por esse tipo de ferramenta de geração de mundos fossem contaminados pela GPL
Pessoalmente, é por esse tipo de motivo que prefiro licenças BSD/MIT. Não quero gastar com advogado para responder a uma pergunta simples como “posso realmente usar este programa?”
Eu gostaria de usar isso para ajudar meus filhos a se familiarizarem mais com nosso bairro
Estou cansado de ficar perguntando o nome das ruas ou onde precisamos virar e, às vezes, até dou instruções completas curva a curva
Até agora, só nos perdemos algumas vezes
Mas provavelmente não é tão detalhado quanto este projeto
[0]: https://minecraft.ign.fr/
https://youtube.com/watch?v=vl_MExz52jA
E um vídeo com o mesmo conteúdo acompanhado de uma explicação que parece feita para crianças:
https://youtu.be/7JYjxSfvJQk?feature=shared
Como havia uma implementação anterior em Python, parece razoável explicar logo no começo por que esta versão é diferente
Muitas vezes nem era uma palavra que realmente começava com J; era só colocar J na frente de qualquer nome
O número de menções a Python é quase o mesmo
Talvez seja mais fácil distinguir se uma referência de localização, como fala ou
(lat,long,game), aponta para uma posição dentro do jogo ou para uma localização virtual no jogo com o mesmo nomeDocumentação sobre tiles 3D GlTF do Google Maps https://developers.google.com/maps/documentation/tile/3d-til... diz que, para renderizar os tiles fotorrealistas do Google, é preciso usar um renderizador de 3D Tiles com suporte a atribuição de direitos autorais, e que é possível usar CesiumJS ou Cesium for Unreal
Entre os jogos de código aberto no estilo Minecraft com API Python há o sensorcraft, baseado em pyglet para OpenGL 3D, e que aborda
self.add_block(), gravidade, IA, circuitos etc.Fico curioso se WebGL tem portabilidade melhor que OpenGL e se dá para compilar pyglet para WASM
Pelo que sei, panda3d e godot compilam facilmente para WASM
Como engine de física open source em Python que pode ser útil para clones de Minecraft, existe o Genesis-Embodied-AI/Genesis: “Genesis: A Generative and Universal Physics Engine for Robotics and Beyond” https://news.ycombinator.com/item?id=42457213#42457224
“Approximating mathematical constants using Minecraft” https://news.ycombinator.com/item?id=42319313 também menciona
luanti,minetest,mcpi,MCPI-Revival/minecraft-pi-rebornTambém verifiquei os dados do OSM, então fica ainda mais estranho
Por outro lado, a escola do meu filho não fica longe e é renderizada com bastante detalhe
Investigando mais, parece que aquele prédio é renderizado no OSM como um multipolygon com duas camadas diferentes, enquanto os demais parecem ser renderizados com base em um conjunto de nós