3 puan yazan GN⁺ 2025-01-01 | 1 yorum | WhatsApp'ta paylaş
  • Arnis, gerçek coğrafya, topoğrafya ve mimariyi yansıtan Minecraft Java Edition 1.17+ ve Bedrock Edition dünyaları oluşturan ücretsiz ve açık kaynaklı bir projedir
  • Oluşturma algoritması, OpenStreetMap coğrafi veri kümelerini ve yükselti verilerini işleyerek araziyi ve yapıları Minecraft içinde daha doğru biçimde yeniden üretir
  • Kullanıcılar haritada dikdörtgen aracıyla bir alan seçip Minecraft dünyasını belirledikten sonra Start Generation düğmesine basarak üretim yapabilir; dünya ölçeği, spawn noktası ve bina iç mekânı oluşturma gibi ayarlar da değiştirilebilir
  • Kurulum yapmadan tarayıcıda dünya oluşturmak veya daha büyük harita boyutları ve mobil üretim istemek için MapSmith kullanılabilir
  • Resmî indirme kaynakları yalnızca arnismc.com ve GitHub deposudur; diğer sitelerdeki Arnis indirmeleri resmî değildir ve kötü amaçlı olabilir

Arnis'in oluşturduğu Minecraft dünyaları

  • Arnis, gerçek dünyanın coğrafyasını, topoğrafyasını ve mimarisini yansıtan Minecraft dünyaları üretir
    • Desteklenen sürümler Minecraft Java Edition 1.17+ ve Bedrock Edition'dır
    • Memleketiniz, büyük şehirler veya doğal manzaralar gibi gerçek bölgeleri Minecraft dünyasına dönüştürebilirsiniz
  • Proje, büyük ölçekli gerçek coğrafi verilerle çalışmak üzere tasarlanmış ücretsiz ve açık kaynaklı bir araçtır
  • Oluşturma süreci, OpenStreetMap coğrafi verileri ile yükselti verilerini birlikte kullanır
    • Amaç, arazinin ve yapıların Minecraft'taki temsilini daha doğru hâle getirmektir

Kullanım şekli

  • Kullanıcılar en son sürümü indirebilir veya projeyi doğrudan kendileri derleyebilir
  • GUI'de harita üzerinde dikdörtgen aracıyla istenen alan seçilir, ardından Minecraft dünyası belirtilir ve Start Generation tıklanır
  • Oluşturma ayarlarında çeşitli seçenekler değiştirilebilir
    • Dünya ölçeği
    • Spawn noktası
    • Bina iç mekânı oluşturma
  • Mobil üretim ya da daha büyük harita boyutları gerekiyorsa MapSmith tarayıcıda kurulum gerektirmeden dünya oluşturur

Belgeler ve geliştirme hedefleri

  • Tüm belgeler GitHub Wiki üzerinde sunulmaktadır
    • Teknik açıklamalar
    • SSS
    • Katkı rehberi
    • Yol haritası
  • Projenin temel hedefleri modülerlik, performans, dokümantasyon, kullanılabilirlik ve çapraz platform desteğidir
    • Veri içe aktarma, işleme ve dünya oluşturmayı net biçimde ayırarak bakım kolaylığını ve genişletilebilirliği artırmayı hedefler
    • Hızlı dünya üretimi için performans optimizasyonuna önem verir
    • Kod içi dokümantasyonla yapıyı ve mantığı daha anlaşılır kılmayı amaçlar
    • Son kullanıcıların kolayca kullanabileceği bir deneyim hedefler
    • Windows, macOS ve Linux üzerinde sorunsuz çalışması amaçlanır

Derleme ve katkı

  • Proje; hata düzeltmeleri, performans iyileştirmeleri, yeni özellikler ve belge geliştirmeleri dâhil her seviyeden katkıyı kabul eder
  • Katkı akışı, depoyu fork edip değişiklik yaptıktan sonra bir pull request göndermeye dayanır
  • Komut satırı derleme örneği şöyledir
    • cargo run --no-default-features -- --terrain --path="C:/YOUR_PATH/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"
  • GUI derlemesi şu komutla çalıştırılır
    • cargo run
  • Nix kullanıcıları doğrudan şu şekilde çalıştırabilir
    • nix run github:louis-e/arnis -- --terrain --path=YOUR_PATH/.minecraft/saves/worldname --bbox="min_lat,min_lng,max_lat,max_lng"
  • pull request birleştirildiğinde değişiklikler düzenli güncelleme sürümlerine dâhil edilir

Bilinirlik, lisans ve resmî kaynaklar

1 yorum

 
GN⁺ 2025-01-01
Hacker News görüşleri
  • OpenStreetMap ekosisteminin, herkesin coğrafi verileri kullanabilmesini sağlayan olgun araçlar sunması gerçekten harika
    10 yıldan uzun süre önce Cities in Motion 2 için şehir üreteci olan açık kaynak proje maps4cim’i geliştirmiştim; yollar ve binalar için OSM verilerini, yükseklik için NASA SRTM verilerini kullanıyordu
    OSM tarafı çok daha karmaşık ve veriler de her gün değişiyor, ama Overpass API’ye aynı sorguyu gönderdiğinizde hâlâ güncel verileri beklenen biçimde alabiliyorsunuz
    Buna karşılık NASA, bir noktada kamu malı olan SRTM verilerine açık erişimi kapatıp bunları yalnızca kayıtlı kullanıcıların erişebildiği, REST olmayan bir web servisinin arkasına gizledi
    Veriler ücretsiz ve kolayca erişilebilir olmasaydı en başta böyle bir açık kaynak projeye başlamazdım; giriş bariyerleri oluştuğunda da devlerin omuzları üzerinde inşa edilebilecek iyi araçların hepsini kaybederiz
    OSM gibi açık veri ruhunu hayata geçiren projelerin daha da güçlenmesini isterim
    1: https://github.com/Klamann/maps4cim
    • Katkıda bulunmak da şaşırtıcı derecede kolay
      StreetComplete’in oyunlaştırılmış görevleri ya da osm.org’un tarayıcı tabanlı düzenleyicisi sayesinde interneti olan herkes birkaç dakika içinde çevresindeki yerleri düzeltebilir
      Öte yandan nereye giderseniz gidin düzeltilecek şeylerin kalmış olması, yeterince katkıcı olmadığı anlamına da geliyor
      Büyük sorun, insanların sürekli kullanırken hatalarla karşılaşacağı ana uygulamanın olmaması; ancak Organic Maps ile bu yavaş yavaş değişiyor ve Tesla otomatik park yüzünden yeni haritalama yapan kişilerin de ortaya çıktığını duydum
    • SRTM veri kümesinin tamamını indirmek mümkün gibi görünüyor; bunun yeterli olup olmayacağını merak ediyorum
      https://www.reddit.com/r/gis/comments/qg4b6j/is_it_possible_...
      Geonames de SRTM ve diğer verilere dayalı bir yükseklik sorgulama servisi sunuyor: http://www.geonames.org/export/web-services.html
      Ancak geniş bölgeleri ayrıntılı biçimde örneklemeniz gerekiyorsa API sınırlarına takılabilir ya da servisi aşırı yükleyebilirsiniz
      Yine de üçüncü tarafların veri kümesini edinip bunun üzerine API sunmasının mümkün olduğunu gösteriyor
  • Mahallemi Minecraft’ta oluşturup 8 yaşındaki çocuğuma göstererek bunu ben yapmışım gibi davranabilirim
    Bildiğim kadarıyla GPL’de sahte kahraman yaratmayı yasaklayan bir madde yok
    • GPL, programın nasıl kullanılacağını doğrudan sınırlamaz; yani özgürlük 0 kapsamına girer
      Ancak lexer/parser üreteçlerinde olduğu gibi çıktıya programın kendi kaynak kodunun bir kısmı dahil oluyorsa istisnalar var; GNU Bison lisansı buna izin veren açık bir istisna içeriyor
      Minecraft’ta Redstone ve Command Blocks var; insanlar 8086 ya da Tetris gibi şeyler bile yaptılar
      Böyle dünya üretme araçlarıyla oluşturulan dünyaların GPL ile “kirlenip kirlenmeyeceği” konusunda sınır durumlar olup olmadığını merak ediyorum
      Şahsen bu yüzden BSD/MIT lisanslarını tercih ediyorum. “Bu programı gerçekten kullanabilir miyim?” gibi basit bir soru için avukat masrafı çıkarmak istemem
  • Kavşaklarda yol tabelalarını da üretse gerçekten harika olurdu
    Çocukların mahallemize daha aşina olması için kullanmak isterim
    Sürekli yol adlarını ya da nereden dönmeleri gerektiğini sormaktan yoruldum; bazen eksiksiz adım adım navigasyon bile yapıyorum
    Şimdiye kadar yalnızca birkaç kez kayboldular
  • Fransa’nın kamu kurumu IGN de gerçek yerlerden Minecraft haritaları üreten bir hizmet sunuyor
    Ancak muhtemelen bu proje kadar ayrıntılı değildir
    [0]: https://minecraft.ign.fr/
  • Bu proje, fırsat buldukça Rust ile yapıldığını epey vurguluyor gibi
    • “Dili daha iyi öğrenmek ve algoritma performansını daha da zorlamak için projeyi Rust’a taşımaya karar verdik. Python’da optimizasyon sınırlarına yaklaşıyorduk; Rust’ın yetenekleri daha iyi performans ve verimlilik sağlıyor” şeklinde bir açıklama var
      Zaten mevcut bir Python uygulaması olduğu için, başta bu sürümün neden farklı olduğunu anlatmaları makul görünüyor
    • Birinin Rust programcısı olduğunu nasıl anlarsınız? Kendisi söyler
    • Java ile yazılmış kütüphane ya da uygulama adlarının hepsinin J ile başladığı dönemlere kıyasla daha alınacak çok yol var
      Üstelik gerçekten J ile başlayan kelimeler de değildi; herhangi bir adın başına J ekleniyordu
    • Artık Rust stil rehberine girecek seviyede
    • Aslında README’de “Rust” 6 kez geçiyor; bunların yarısı da Python’dan Rust’a neden taşındığını açıklayan FAQ paragrafında
      Python’dan bahsedilme sayısı da neredeyse aynı
  • Microsoft’un en yeni Flight Simulator oyunlarında olduğu gibi, gerçek dünyadaki bölgeleri temel alarak yarış pistleri oluşturan bir sürüm de olsa güzel olurdu
    • Ya da GTA: Auburn, AL de olabilir
  • Gerçek zamanlı hava durumu, uçuş, trafik, React tabanlı kokpit, açık kaynak Google Earth GlTF verileri ve MSFS/X-Plane gibi uçuş simülatörü uygulamalarıyla ilgili referans bağlantı: https://news.ycombinator.com/item?id=38437821
    Bir atın ya da (lat,long,game) biçimindeki konum referansının oyun içi bir konum mu, yoksa aynı ada sahip oyundaki kurgusal bir konum mu olduğunu ayırt etmek daha kolay olabilir

Google Maps GlTF 3D döşemeleriyle ilgili belgede https://developers.google.com/maps/documentation/tile/3d-til..., Google’ın fotogerçekçi döşemelerini render etmek için telif hakkı gösterimini destekleyen bir 3D Tiles renderer kullanmak gerektiği ve CesiumJS ya da Cesium for Unreal kullanılabileceği belirtiliyor
Python API’si olan açık kaynak Minecraft benzeri oyunlar arasında sensorcraft var; OpenGL 3D için pyglet tabanlı ve self.add_block(), yerçekimi, AI, devreler vb. konuları ele alıyor
WebGL’in OpenGL’e göre daha taşınabilir olduğunu ve pyglet’in WASM’e derlenip derlenemeyeceğini de merak ediyorum
panda3d ve godot’un WASM’e kolayca derlenebildiğini biliyorum
Minecraft klonları için faydalı olabilecek Python açık kaynak fizik motoru olarak Genesis-Embodied-AI/Genesis var: “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 içinde luanti, minetest, mcpi, MCPI-Revival/minecraft-pi-reborn da geçiyor

  • FlightGear’da benzer bir şey çok önceden yapılmıştı, ama yalnızca haritalar için geçerliydi
  • Garip bir şekilde benim apartman sitem render edilmiyor, ama çevredeki binalar ve yüzme havuzu render ediliyor
    OSM verisini de kontrol ettim, bu yüzden daha da tuhaf
    Buna karşılık çocuğumun okulu çok uzak değil ve oldukça ayrıntılı render ediliyor
    Biraz daha kurcalayınca o binanın OSM’de iki farklı katmana sahip bir multipolygon olarak render edildiğini, diğerlerinin ise düğüm kümeleri temelinde render ediliyor gibi göründüğünü fark ettim
  • Çok havalı. Chicago L hatlarının oluşturulması algoritma açısından epey zorlu olmuş gibi
  • Japonya’nın yayımladığı nokta haritasını OpenStreetMap ile eşleştirip daha ayrıntılı binalar oluşturmak güzel olurdu
    • Nokta haritası bağlantısını merak ediyorum