3 điểm bởi GN⁺ 2025-01-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Arnis

    • Dự án mã nguồn mở này được viết bằng Rust và cung cấp khả năng tạo ra các vị trí cụ thể của thế giới thực với mức độ chi tiết cao trong Minecraft Java Edition.
  • 🖥️ Ví dụ

    • Arnis tận dụng dữ liệu địa lý từ OpenStreetMap và sức mạnh của Rust để cung cấp giải pháp hiệu quả và vững chắc, giúp tạo ra những thế giới Minecraft phức tạp, chính xác, phản ánh địa hình và công trình xây dựng thực tế.
    • Nó được thiết kế để xử lý lượng dữ liệu lớn và tạo ra môi trường phong phú, sống động khi đưa các thành phố, mốc địa lý và đặc điểm thiên nhiên thật vào thế giới Minecraft.
  • ⌨️ Cách sử dụng

    • Có thể tải phiên bản phát hành mới nhất hoặc biên dịch trực tiếp dự án để sử dụng.
    • Trong Arnis, chọn khu vực mong muốn bằng công cụ hình chữ nhật, chọn thế giới Minecraft rồi nhấp vào 'Start Generation'.
    • Bạn cũng có thể chạy Arnis theo cách truyền thống thông qua dòng lệnh.
  • 💾 Nguyên lý hoạt động

    • Dữ liệu thô nhận được từ API bao gồm tọa độ góc cùng thẻ mô tả của từng phần tử như tòa nhà, bức tường, đài phun nước, đất nông nghiệp, v.v.
    • Arnis thực hiện nhiều bước xử lý tự động để tạo ra một thế giới Minecraft.
  • ❓ FAQ

    • Arnis ban đầu được phát triển bằng Python và tận dụng lợi thế của tính thân thiện với mã nguồn mở cũng như khả năng đọc tốt của Python.
    • Việc chuyển sang Rust nhằm học thêm về ngôn ngữ và nâng cao hiệu năng thuật toán.
    • Dữ liệu địa lý đến từ OpenStreetMap và truy cập thông qua Overpass API.
  • 📝 Việc cần làm và lỗi đã biết

    • Ánh xạ tọa độ thực sang tọa độ Minecraft (#29)
    • Xoay bản đồ (#97)
    • Đánh giá và triển khai độ cao địa hình (#66)
    • Sửa đổi quy trình GitHub Action để phát hành binary trên Linux và macOS
    • Đánh giá triển khai lưu khu vực nhanh hơn
    • Tự động tạo thế giới mới
    • Thêm nội thất bên trong tòa nhà
    • Tối ưu hóa bộ nhớ
    • Thiết kế và triển khai GUI
  • 🏆 Mã nguồn mở

    • Dự án này hướng tới tính mô-đun, tối ưu hóa hiệu năng, tài liệu hóa toàn diện, trải nghiệm thân thiện người dùng và hỗ trợ đa nền tảng.
    • Mọi đóng góp đều được chào đón, và chúng tôi mong chờ sự tham gia của những người quan tâm đến sửa lỗi, cải thiện hiệu năng, thêm tính năng mới, nâng cao tài liệu hóa.
  • ©️ Thông tin giấy phép

    • Dự án này được cấp phép theo GNU General Public License v3.0 (GPL-3.0).

1 bình luận

 
GN⁺ 2025-01-01
Bình luận Hacker News
  • Việc cộng đồng OpenStreetMap cung cấp các công cụ giúp dự án có thể truy cập dữ liệu địa lý một cách tự do là điều rất quý giá

    • Mười năm trước, tôi đã tạo một dự án mã nguồn mở để sinh bản đồ cho trò chơi Cities in Motion 2
    • Tôi đã dùng dữ liệu OSM và dữ liệu NASA SRTM, nhưng NASA đã chấm dứt việc truy cập công khai dữ liệu SRTM
    • Tôi nhấn mạnh rằng việc tiếp cận dữ liệu miễn phí rất quan trọng, và các dự án như OSM đang duy trì tinh thần dữ liệu mở
  • Nhớ lại thời làm thành phố trong Sim City 2000 rồi thám hiểm bằng Sim Copter và Streets of Sim City, nên kì vọng công cụ mới sẽ có độ chính xác chân thực như ảnh

  • Tôi đã từng chia sẻ trải nghiệm làm một khu phố trong Minecraft cho đứa con 8 tuổi, và cảm ơn vì có thể tạo ra những người hùng ảo trong phạm vi cho phép của GPL

  • Nếu có thể tạo biển báo ở ngã ba, tôi nghĩ nó sẽ giúp trẻ em hiểu rõ hơn về khu vực của mình

  • Cụm chung cư không được render, nhưng các tòa nhà xung quanh và bể bơi thì có

    • Khi kiểm tra dữ liệu OSM, tôi thấy tòa nhà này được render như "multipolygon" gồm hai lớp khác nhau
  • Tôi mong có một phiên bản tạo đường đua dựa trên địa điểm thực tế giống như trong trò chơi Microsoft Flight Simulator

  • Dự án này cũng nhấn mạnh rằng nó được làm bằng Rust

  • IGN (cơ quan công quyền Pháp) cũng cung cấp dịch dụng tạo bản đồ Minecraft từ địa điểm thực tế

    • Có thể chi tiết sẽ ít hơn
  • Việc tạo đường hình chữ L của Chicago trở thành thử thách cho thuật toán

  • Tò mò không biết Rust có "tính năng mạnh mẽ" nào