اجرای سرور Minecraft روی ESP32 با پروژه bareiron

14 بازدید
۱۴۰۴-۰۷-۰۷
2 دقیقه
  • نویسنده: 0x7a657573
  • درباره نویسنده: من اون دیوونه‌ام که وقتی بورد روشن نمی‌شه، ذوق می‌کنم؛ یعنی یه شب تا صبح قراره با منبع تغذیه و لاجیک آنالایزر عشق کنم! آدما قهوه می‌خورن که بیدار بمونن، ولی من بیدار می‌مونم تا بفهمم این بورد چرا باهام قهر کرده! زندگی من یه لوپ بی‌نهایته بین باگ و دیباگ... با چاشنی یه کم امید و یه عالمه دیوونگی!

به گفته hackster

PortalRunner، یوتیوبری مشهور، موفق به اجرای یک سرور Minecraft در ابعاد بسیار کوچک بر روی ESP32 شده است. با استفاده از حافظه SRAM ۴۰۰KB و پردازشگر ۱۶۰MHz، این سرور با وجود محدودیت‌های عملکردی و حافظه، تلاشی بلندپروازانه برای بهینه‌سازی و ارائه‌ی یک تجربه‌ی بازی روان است. این پروژه، به نام bareiron، با توسعه‌ی یک سرور سفارشی Minecraft از پایه و بهینه‌سازی‌های چالش‌برانگیز در زمینه کاهش منابع محاسباتی، انجام شد.
گیم‌پلی واقعی (📷: PortalRunner)

گیم‌پلی واقعی (📷: PortalRunner)

بازی Minecraft بر روی یک میکروکنترلر

بازی پرفروشی چون Minecraft، که به‌عنوان پرفروش‌ترین بازی ویدئویی تمام زمان‌ها شناخته می‌شود، همیشه موضوعی جذاب برای دنیای گیمیگ است. اما PortalRunner، یوتیوبری که به ساخت پروژه‌های نوآورانه علاقه‌مند است، تصمیم گرفته تا این بازی بزرگ را در قالبی بسیار کوچک، یعنی بر روی ESP32، اجرا کند.

این چالش بسیار بزرگ بود، زورا که محدودیت‌هایی از جمله استفاده از حافظه و عملکرد نسبت به امکانات دیگر در اولویت قرار گرفت، به این معنا که ممکن است گاهی با مشکلاتی روبه‌رو شوید. با این حال، در نظر بگیرید که سرور بر روی یک ESP32 با ۴۰۰KB SRAM و پردازشگری با سرعت ۱۶۰MHz اجرا می‌شود، که به خودی خود یک دستاورد بزرگ است.

بنابراین، PortalRunner تصمیم به نوشتن یک سرور Minecraft سفارشی از ابتدا به زبان C گرفت. با توجه به این که هر قطره عملکرد از این چیپ استخراج شد، PortalRunner مجبور بود به‌شدت به سخت‌افزار نزدیک باشد. این زمینه، به این پروژه عنوان bareiron را بخشید.

بهینه‌سازی‌های انجام شده

یکی از مهم‌ترین زمینه‌هایی که ویژگی‌ها به نفع عملکرد کاهش داده شدند، تولید زمین‌بازی بود. Minecraft از تولید رویه‌ای برای ایجاد جهان‌های تصادفی در هر بازی جدید استفاده می‌کند. اما این روند به پردازش و حافظه‌ی زیادی نیاز دارد. منابعی که در ESP32 به شدت محدود هستند، بنابراین PortalRunner یک روش جایگزین طراحی کرد که با منابع محاسباتی کمتر، اهداف اساسی مشابهی را دنبال می‌کند.

بهینه‌سازی‌های متعدد دیگری نیز در سرور سفارشی اعمال شدند که به آن امکان داد تا بلوک‌های بازی را ظرف ۲۰۰ میلی‌ثانیه بارگذاری کند. این سرعت به اندازه کافی برای ارائه یک تجربه بازی روان است، هرچند که ممکن است برخی قابلیت‌ها فدا شده باشند تا این کار امکان‌پذیر شود.

چرایی این پروژه

این سوال باقی می‌ماند که چرا کسی بخواهد یک سرور Minecraft را بر روی یک میکروکنترلر کوچک میزبانی کند؟ شاید بتوان گفت که می‌تواند در مصرف انرژی صرفه‌جویی کند و امثال آن، اما به طور کلی، انجام این کار بنابر دلایل عملی نیست، بلکه بیشتر به خاطر بیان این مفهوم که این کار را انجام داده‌ایم، است. و اگر شما هم مایل به انجام چنین کاری هستید، کد منبع bareiron تحت لایسنس GPL-3.0 در GitHub در دسترس است.

اطلاعات
14
0
0
لینک و اشتراک
profile

نویسنده: 0x7a657573

متخصص الکترونیک

من اون دیوونه‌ام که وقتی بورد روشن نمی‌شه، ذوق می‌کنم؛ یعنی یه شب تا صبح قراره با منبع تغذیه و لاجیک آنالایزر عشق کنم! آدما قهوه می‌خورن که بیدار بمونن، ولی من بیدار می‌مونم تا بفهمم این بورد چرا باهام قهر کرده! زندگی من یه لوپ بی‌نهایته بین باگ و دیباگ... با چاشنی یه کم امید و یه عالمه دیوونگی!


مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ
سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله