به گفته hackster
گیمپلی واقعی (📷: PortalRunner)
بازی پرفروشی چون Minecraft، که بهعنوان پرفروشترین بازی ویدئویی تمام زمانها شناخته میشود، همیشه موضوعی جذاب برای دنیای گیمیگ است. اما PortalRunner، یوتیوبری که به ساخت پروژههای نوآورانه علاقهمند است، تصمیم گرفته تا این بازی بزرگ را در قالبی بسیار کوچک، یعنی بر روی ESP32، اجرا کند.
این چالش بسیار بزرگ بود، زورا که محدودیتهایی از جمله استفاده از حافظه و عملکرد نسبت به امکانات دیگر در اولویت قرار گرفت، به این معنا که ممکن است گاهی با مشکلاتی روبهرو شوید. با این حال، در نظر بگیرید که سرور بر روی یک ESP32 با ۴۰۰KB SRAM و پردازشگری با سرعت ۱۶۰MHz اجرا میشود، که به خودی خود یک دستاورد بزرگ است.
بنابراین، PortalRunner تصمیم به نوشتن یک سرور Minecraft سفارشی از ابتدا به زبان C گرفت. با توجه به این که هر قطره عملکرد از این چیپ استخراج شد، PortalRunner مجبور بود بهشدت به سختافزار نزدیک باشد. این زمینه، به این پروژه عنوان bareiron را بخشید.
یکی از مهمترین زمینههایی که ویژگیها به نفع عملکرد کاهش داده شدند، تولید زمینبازی بود. Minecraft از تولید رویهای برای ایجاد جهانهای تصادفی در هر بازی جدید استفاده میکند. اما این روند به پردازش و حافظهی زیادی نیاز دارد. منابعی که در ESP32 به شدت محدود هستند، بنابراین PortalRunner یک روش جایگزین طراحی کرد که با منابع محاسباتی کمتر، اهداف اساسی مشابهی را دنبال میکند.
بهینهسازیهای متعدد دیگری نیز در سرور سفارشی اعمال شدند که به آن امکان داد تا بلوکهای بازی را ظرف ۲۰۰ میلیثانیه بارگذاری کند. این سرعت به اندازه کافی برای ارائه یک تجربه بازی روان است، هرچند که ممکن است برخی قابلیتها فدا شده باشند تا این کار امکانپذیر شود.
این سوال باقی میماند که چرا کسی بخواهد یک سرور Minecraft را بر روی یک میکروکنترلر کوچک میزبانی کند؟ شاید بتوان گفت که میتواند در مصرف انرژی صرفهجویی کند و امثال آن، اما به طور کلی، انجام این کار بنابر دلایل عملی نیست، بلکه بیشتر به خاطر بیان این مفهوم که این کار را انجام دادهایم، است. و اگر شما هم مایل به انجام چنین کاری هستید، کد منبع bareiron تحت لایسنس GPL-3.0 در GitHub در دسترس است.
من اون دیوونهام که وقتی بورد روشن نمیشه، ذوق میکنم؛ یعنی یه شب تا صبح قراره با منبع تغذیه و لاجیک آنالایزر عشق کنم! آدما قهوه میخورن که بیدار بمونن، ولی من بیدار میمونم تا بفهمم این بورد چرا باهام قهر کرده! زندگی من یه لوپ بینهایته بین باگ و دیباگ... با چاشنی یه کم امید و یه عالمه دیوونگی!
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.