Arnis هر نقطه زمین را به دنیای Minecraft تبدیل می‌کند

Arnis هر نقطه زمین را به دنیای Minecraft تبدیل می‌کند

آنچه در این مقاله مطالعه می‌کنید:

۲۳ آبان ۱۴۰۵

۲۳ آبان ۱۴۰۵

به گزارش GitHub Blog، پروژه متن‌باز Arnis با استفاده از داده‌های OpenStreetMap و منابع دیگر، مکان‌های واقعی را به جهان‌هایی قابل کاوش در Minecraft تبدیل می‌کند. Louis Erbkamm این پروژه را از سال ۲۰۲۲ به‌تنهایی نگهداری می‌کند و اکنون برای بررسی مشکلات، بهبود کد و مدیریت مشارکت‌ها از GitHub Copilot کمک می‌گیرد.

از یک نمونه آزمایشی تا پروژه‌ای با ۹۰۰ هزار دانلود

Erbkamm که از ۱۳سالگی برنامه‌نویسی می‌کرد، نخستین نمونه Arnis را در تعطیلات مدرسه و طی دو هفته ساخت. نسخه اولیه با Python نوشته شده بود، فقط بر OpenStreetMap تکیه داشت و تولید نقشه یک شهر در آن زمان زیادی می‌برد. او برای آزمایش، شهر کوچک Arnis در آلمان را انتخاب کرد؛ شهری با ساختمان‌ها، خیابان‌ها و آبراه‌هایی متنوع که بعدتر نام پروژه نیز از آن گرفته شد. Arnis از زمان شروع به نزدیک ۹۰۰ هزار دانلود در GitHub رسیده و حدود ۷۰ مشارکت‌کننده داشته است. اضافه‌شدن اطلاعات ارتفاع، جهان‌های تخت اولیه را واقعی‌تر کرد و متخصصان داده‌های جغرافیایی را به مشارکت کشاند. پیش از انتقال پروژه از Python به Rust نیز بحثی عمومی در GitHub شکل گرفت و مشارکت‌کنندگان تاکنون Arnis را به حدود ۲۰ زبان ترجمه کرده‌اند. این ابزار برای محدوده انتخابی کاربر، عناصر ثبت‌شده در OpenStreetMap را همراه با مختصات و نوع آن‌ها دریافت و به بلوک‌های Minecraft تبدیل می‌کند. بنابراین، عناصری که روی نقشه ثبت نشده باشند در دنیای تولیدشده ظاهر نمی‌شوند. برای سازه‌های پیچیده‌ای مانند مجسمه آزادی در نیویورک یا مسیح منجی در ریودوژانیرو نیز مدل‌های سه‌بعدی به بلوک‌های Minecraft تبدیل می‌شوند.

GitHub Copilot در کنار نگهدارنده پروژه

Erbkamm به‌عنوان تنها نگهدارنده Arnis، همه Pull Requestها را شخصاً بررسی می‌کند. او از GitHub Copilot برای مرور Issueهای باز و خطاهای نسخه جدید، سنجش تعداد کاربران درگیر، یافتن منشأ خطا در کد و آماده‌کردن اصلاحات استفاده می‌کند. به گفته او، پس از ورود هوش مصنوعی به روند کار، میزان بررسی کد و مستندسازی افزایش یافته است. در Pull Requestهای بزرگ، Copilot بررسی اولیه و ارزیابی عملکرد را انجام می‌دهد و تغییراتی برای کاهش مصرف حافظه یا زمان تولید پیشنهاد می‌کند. Erbkamm همچنین چند عامل فرعی را برای یافتن حالت‌های مرزی و جلوگیری از بازگشت خطاها در نسخه‌های تازه به کار می‌گیرد؛ نمونه‌ای روشن از کاربرد ابزارهای AI Coding در نگهداری یک پروژه متن‌باز توسط یک توسعه‌دهنده. نسخه‌های اخیر Arnis امکان ساخت محیط‌هایی از ماه و مریخ را نیز افزوده‌اند. این پروژه در مدارس هم استفاده شده است؛ جایی که معلمان، شهر یا پارک محلی را تولید می‌کنند و دانش‌آموزان همان محیط را بهبود می‌دهند. Arnis نشان می‌دهد ترکیب داده‌های باز، مشارکت جامعه و ابزارهای هوش مصنوعی چگونه می‌تواند نگهداری یک پروژه نرم‌افزاری مستقل را عملی‌تر کند.