3 poin oleh GN⁺ 2025-01-01 | 1 komentar | Bagikan ke WhatsApp
  • Arnis adalah proyek gratis dan open source yang membuat world Minecraft Java Edition 1.17+ dan Bedrock Edition dengan mencerminkan geografi, topografi, dan bangunan nyata
  • Algoritme pembuatannya memproses data geospasial OpenStreetMap dan data elevasi untuk mereproduksi medan dan bangunan di dalam Minecraft dengan lebih akurat
  • Pengguna dapat memilih area di peta dengan alat persegi, memilih world Minecraft, lalu menekan Start Generation; pengaturan seperti skala world, titik spawn, dan pembuatan interior bangunan juga dapat disesuaikan
  • Jika ingin membuat world di browser tanpa instalasi, atau membutuhkan ukuran peta yang lebih besar dan pembuatan dari perangkat mobile, pengguna dapat memakai MapSmith
  • Jalur unduhan resmi hanya arnismc.com dan repositori GitHub; unduhan Arnis dari situs web lain bersifat tidak resmi dan bisa berbahaya

World Minecraft yang dibuat Arnis

  • Arnis membuat world Minecraft yang mencerminkan geografi, topografi, dan bangunan dunia nyata
    • Yang didukung adalah Minecraft Java Edition 1.17+ dan Bedrock Edition
    • Area nyata seperti kampung halaman, kota besar, dan lanskap alam dapat dibuat menjadi world Minecraft
  • Proyek ini adalah alat gratis dan open source yang dirancang untuk menangani data geografi dunia nyata berskala besar
  • Proses pembuatannya menggunakan data geospasial dari OpenStreetMap bersama data elevasi
    • Tujuannya adalah membuat representasi medan dan bangunan di Minecraft menjadi lebih akurat

Cara penggunaan

  • Pengguna dapat mengunduh rilis terbaru atau membangunnya sendiri
  • Di GUI, pilih area yang diinginkan pada peta dengan alat persegi, tentukan world Minecraft, lalu klik Start Generation
  • Beberapa pengaturan pembuatan dapat disesuaikan
    • Skala world
    • Titik spawn
    • Pembuatan interior bangunan
  • Jika membutuhkan pembuatan dari mobile atau ukuran peta yang lebih besar, MapSmith dapat membuat world di browser tanpa instalasi

Dokumentasi dan tujuan pengembangan

  • Dokumentasi lengkap tersedia di GitHub Wiki
    • Penjelasan teknis
    • FAQ
    • Panduan kontribusi
    • Roadmap
  • Tujuan utama proyek ini adalah modularitas, performa, dokumentasi, kemudahan penggunaan, dan dukungan lintas platform
    • Proyek ini berupaya meningkatkan kemudahan pemeliharaan dan ekstensibilitas dengan memisahkan secara jelas pengambilan data, pemrosesan, dan pembuatan world
    • Optimalisasi performa untuk pembuatan world yang cepat menjadi fokus penting
    • Dokumentasi internal kode ditujukan untuk memperjelas struktur dan logika
    • Proyek ini menargetkan pengalaman yang mudah digunakan oleh pengguna akhir
    • Proyek ini bertujuan berjalan lancar di Windows, macOS, dan Linux

Build dan kontribusi

  • Proyek ini menerima kontribusi di semua tingkat, termasuk perbaikan bug, peningkatan performa, penambahan fitur baru, dan perbaikan dokumentasi
  • Alur kontribusinya adalah melakukan fork repositori, membuat perubahan, lalu mengirim pull request
  • Contoh build dari command line adalah sebagai berikut
    • cargo run --no-default-features -- --terrain --path="C:/YOUR_PATH/.minecraft/saves/worldname" --bbox="min_lat,min_lng,max_lat,max_lng"
  • Build GUI dijalankan dengan perintah berikut
    • cargo run
  • Pengguna Nix dapat menjalankannya langsung seperti berikut
    • nix run github:louis-e/arnis -- --terrain --path=YOUR_PATH/.minecraft/saves/worldname --bbox="min_lat,min_lng,max_lat,max_lng"
  • Setelah pull request digabungkan, perubahan akan disertakan dalam rilis pembaruan berkala

Pengakuan, lisensi, dan sumber resmi

1 komentar

 
GN⁺ 2025-01-01
Komentar Hacker News
  • Hal yang sangat bagus dari ekosistem OpenStreetMap adalah ia menyediakan berbagai alat yang matang agar siapa pun bisa memakai data geospasial
    Lebih dari 10 tahun lalu, saya membuat maps4cim, proyek open source pembuat kota untuk Cities in Motion 2; jalan dan bangunan memakai data OSM, sedangkan elevasi memakai data NASA SRTM
    Sisi OSM jauh lebih rumit dan datanya juga berubah setiap hari, tetapi jika mengirim kueri yang sama ke Overpass API, kita masih bisa berharap menerima data terbaru dalam format yang diharapkan
    Sebaliknya, NASA pada suatu waktu menutup akses publik ke data SRTM yang berada di domain publik, lalu menyembunyikannya di balik layanan web non-REST yang hanya bisa diakses pengguna terdaftar
    Jika datanya tidak gratis dan mudah diakses, saya tidak akan memulai proyek open source seperti ini sejak awal; ketika hambatan masuk muncul, kita kehilangan semua alat bagus yang seharusnya bisa dibangun di atas bahu para raksasa
    Semoga proyek-proyek yang menjalankan semangat data terbuka seperti OSM mendapat lebih banyak dukungan
    1: https://github.com/Klamann/maps4cim
    • Berkontribusi juga luar biasa mudah
      Berkat misi bergaya gamifikasi di StreetComplete atau editor berbasis browser di osm.org, siapa pun yang punya internet bisa memperbaiki tempat di sekitar mereka dalam beberapa menit
      Namun fakta bahwa ke mana pun kita pergi selalu masih ada yang perlu diperbaiki juga berarti jumlah kontributornya belum cukup
      Masalah besarnya adalah tidak ada aplikasi unggulan yang selalu dipakai orang lalu membuat mereka menemukan kesalahan; ini mulai sedikit berubah lewat Organic Maps, dan saya dengar ada juga orang-orang yang baru memetakan karena fitur parkir otomatis Tesla
    • Sepertinya memungkinkan untuk mengunduh seluruh dataset SRTM; saya penasaran apakah itu tidak cukup
      https://www.reddit.com/r/gis/comments/qg4b6j/is_it_possible_...
      Geonames juga menyediakan layanan pencarian elevasi berdasarkan SRTM dan data lain: http://www.geonames.org/export/web-services.html
      Namun jika perlu mengambil sampel area luas secara mendetail, Anda bisa terkena batas API atau membebani layanan secara berlebihan
      Meski begitu, ini menunjukkan bahwa pihak ketiga bisa memperoleh dataset lalu menyediakan API di atasnya
  • Saya bisa membuat lingkungan tempat tinggal saya di Minecraft, menunjukkannya kepada anak saya yang berusia 8 tahun, lalu berpura-pura saya yang membuatnya
    Setahu saya tidak ada klausul dalam GPL yang melarang menciptakan pahlawan palsu
    • GPL tidak membatasi cara penggunaan program itu sendiri, yaitu kebebasan nomor 0
      Namun ada pengecualian ketika output memuat sebagian source program itu sendiri, seperti generator lexer/parser; lisensi GNU Bison memiliki pengecualian eksplisit yang mengizinkan hal ini
      Minecraft punya Redstone dan Command Blocks, dan orang-orang bahkan membuat hal seperti 8086 atau Tetris
      Saya penasaran apakah ada kasus batas ketika dunia yang dihasilkan oleh alat pembuat dunia seperti ini ikut “terkontaminasi” GPL
      Secara pribadi, karena alasan seperti ini saya lebih suka lisensi BSD/MIT. Saya tidak ingin harus mengeluarkan biaya pengacara untuk pertanyaan sederhana seperti, “Apakah program ini benar-benar boleh saya pakai?”
  • Akan sangat bagus kalau sampai rambu jalan di persimpangan juga dibuat
    Saya ingin memakainya agar anak-anak lebih akrab dengan lingkungan kami
    Saya sudah lelah terus bertanya nama jalan atau harus belok ke mana, dan kadang-kadang bahkan memberi panduan turn-by-turn lengkap
    Sejauh ini kami baru tersesat beberapa kali
  • IGN, lembaga publik Prancis, juga menyediakan layanan untuk membuat peta Minecraft dari lokasi nyata
    Namun sepertinya tidak sedetail proyek ini
    [0]: https://minecraft.ign.fr/
  • Proyek ini tampaknya cukup menekankan bahwa ia dibuat dengan Rust setiap ada kesempatan
    • Ada penjelasan: “Untuk mempelajari bahasa ini lebih jauh dan mendorong performa algoritme lebih tinggi, kami memutuskan mem-porting proyek ini ke Rust. Di Python, kami sudah mendekati batas optimasi, dan kemampuan Rust memungkinkan performa serta efisiensi yang lebih baik”
      Karena sudah ada implementasi Python sebelumnya, rasanya masuk akal jika bagian awal menjelaskan mengapa versi ini berbeda
    • Bagaimana cara tahu seseorang adalah programmer Rust? Dia akan memberi tahu Anda
    • Dibandingkan masa ketika nama semua library atau aplikasi yang ditulis dalam Java diawali huruf J, ini masih jauh
      Bahkan bukan kata yang memang berawalan J, melainkan sekadar menambahkan J di depan nama apa pun
    • Sekarang ini sudah layak masuk ke panduan gaya Rust
    • Sebenarnya di README, “Rust” muncul 6 kali, dan separuhnya berada di paragraf FAQ yang menjelaskan mengapa di-porting dari Python ke Rust
      Jumlah penyebutan Python juga hampir sama
  • Akan menarik jika ada versi yang membuat lintasan balap berdasarkan wilayah dunia nyata, seperti game Flight Simulator terbaru dari Microsoft
    • Atau bisa juga GTA: Auburn, AL
  • Tautan referensi terkait cuaca real-time, penerbangan, lalu lintas, kokpit berbasis React, data Google Earth GlTF open source, dan aplikasi simulator penerbangan seperti MSFS serta X-Plane: https://news.ycombinator.com/item?id=38437821
    Mungkin akan lebih mudah membedakan apakah kuda atau referensi lokasi berbentuk (lat,long,game) adalah lokasi dalam game, atau lokasi fiktif di dalam game yang punya nama sama

Dokumen terkait tile 3D GlTF Google Maps https://developers.google.com/maps/documentation/tile/3d-til... menyebutkan bahwa untuk merender tile realistis Google, harus memakai renderer 3D Tiles yang mendukung atribusi hak cipta, dan bisa menggunakan CesiumJS atau Cesium for Unreal
Sebagai game open source mirip Minecraft yang punya Python API, ada sensorcraft; berbasis pyglet untuk OpenGL 3D dan menangani self.add_block(), gravitasi, AI, sirkuit, dan sebagainya
WebGL lebih portabel daripada OpenGL, dan saya juga penasaran apakah pyglet bisa dikompilasi ke WASM
Setahu saya panda3d dan godot mudah dikompilasi ke WASM
Sebagai engine fisika open source Python yang mungkin berguna untuk klon Minecraft, ada 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 juga menyebut luanti, minetest, mcpi, MCPI-Revival/minecraft-pi-reborn

  • FlightGear sudah melakukan hal serupa sejak lama, tetapi hanya untuk peta
  • Anehnya, kompleks apartemen saya tidak dirender, tetapi bangunan di sekitarnya dan kolam renangnya dirender
    Saya juga sudah memeriksa data OSM, jadi ini makin aneh
    Sebaliknya, sekolah anak saya berada tidak jauh dan dirender cukup detail
    Setelah digali lebih jauh, tampaknya bangunan itu dirender di OSM sebagai multipolygon dengan dua layer berbeda, sedangkan sisanya dirender berbasis kumpulan node
  • Sangat keren. Pembuatan jalur Chicago L sepertinya cukup menantang secara algoritmik
  • Akan bagus jika peta titik yang dirilis Jepang dicocokkan dengan OpenStreetMap untuk membuat bangunan yang lebih detail
    • Saya penasaran dengan tautan peta titiknya