چگونه Ocarina of Time Speedrunners بازی را به روش های جدید شکسته است
ReSpec معمولاً ستونی درباره دنیای فنی و شگفت انگیز بازی های رایانه شخصی است، اما گاهی اوقات موضوعاتی وجود دارند که خیلی خوب هستند که نمی توان از آنها گذشت. افسانه ی زلدا: اوکارینای زمان بهعنوان یکی از بهترین بازیهای نینتندو 64 که تا به حال ساخته شده است، مورد تحسین جهانی قرار گرفته است، و در حالی که این عنوان یک عنوان رایانه شخصی نیست، سرعت فنی سطح بالای بازی نشان میدهد که بازیها چگونه در سطح اساسی کار میکنند. مهمتر از آن، این شاهکارهای شگفت انگیز تنها با تلاش زیاد جامعه امکان پذیر است.
اوکارینای زمان یک بازی است که یک بازیکن معمولی حدود 30 ساعت طول می کشد تا شکست بخورد. ماهرترین سرعتبازان که قصد دارند بازی را با بیشترین سرعت ممکن انجام دهند، میتوانند آن را در حدود سه ساعت و 40 دقیقه بدون مشکل شکست دهند. اما رده Any% بازی که بازیکنان را صرف نظر از روش های استفاده شده برای اتمام بازی شارژ می کند، به سه دقیقه و 54 ثانیه و 566 میلی ثانیه کاهش یافت. و بله، آن میلی ثانیه ها مهم هستند. رکورددار مقام دوم کمتر از یک ثانیه کامل از رکورد جهانی فاصله دارد.
حتی اگر چنین دستاورد قابل توجهی باشد، همه چیز نیست اوکارینای زمان اسپیدران ها سر میز آوردند. در Summer Games Done Quick 2022، یک ماراتن دویدن با سرعت نیم ساله برای خیریه، نمایشی برگزار شد که گروهی از دوندگان سرعت بازی را در حال برنامه ریزی مجدد برای نمایش گرافیک های جدید، پخش موسیقی جدید و حتی اجرای یک پوشش چت Twitch نشان می دادند. . و همه اینها بر روی یک نسخه استوک بازی بدون برنامه ریزی قبلی انجام شد.
این اوکارینای زمان انجمن speedrunning به شکستن بازی به روش های به ظاهر غیرممکن ادامه داد. من با دو نفر از ذهنهای پیشرو در جامعه تماس گرفتم تا بفهمم چه چیزی باعث میشود بازی کلاسیک Nintendo 64 کار کند، و همه اینها به یک سوء استفاده خلاصه میشود: اجرای کد دلخواه.
به دور از خودسری
اجرای کد دلخواه یا ACE بسیار ترسناک تر از آنچه هست به نظر می رسد. این اصطلاحی است که در امنیت سایبری استفاده می شود و اساساً به معنای اجرای کد (یا برنامه) است که نباید اجرا شود. در اینجا چگونگی dannyb، speedrunner برای اوکارینای زمان که دارای رکورد مقام دوم در رده Any% توصیف شده توسط ACE در است اوکارینای زمان: “اجرای کد تصادفی در OoT یک سوء استفاده است که در آن بازیکن می تواند از اقدامات درون بازی برای مرتب کردن دسته ای از داده ها در حافظه برای تقلید از کد بازی استفاده کند و سپس مکانی را که بازی در آن به نظر می رسد دستکاری کند تا کد را در جایی که ما فقط در آن قرار دهیم اجرا کند. این ترتیب را انجام داد
با اقدامات درست، دانیب میگوید بازیکنان میتوانند «اساساً هر کدی را که دوست داریم از بازی اجرا کنند و بازی را وادار به انجام کارهایی کنند که برای انجام آن برنامهریزی نشده است». این اقدامات شامل مواردی به ظاهر بی فایده مانند نامی است که هنگام شروع بازی وارد می کنید. همین عمل بود که این کار را ممکن کرد اوکارینای زمان به این سرعت کتک بخورند
در بازی مانند اوکارینای زمان بازی حافظه شما را برای یک نیاز خاص که برای شکست بازی باید برآورده شود بررسی می کند. هدف Any% speedrun این است که حافظه را به گونهای تنظیم کنید که به جای ظاهر معمولی، به نام شخصیت شما نگاه کند. این دستکاری مرجع قدیمی یا SRM نامیده می شود و dannyb می گوید که اکسپلویت همان چیزی است که کرک شده است. اوکارینای زمان اسپید ران ها به روشی ابتدایی باز می شوند.
ACE در هر بازی ویدیویی همیشه به این دو چیز نیاز دارد: کنترل دقیق بر روی برخی از ناحیههای حافظه به طوری که بازیکن بتواند دادههای موجود در آن را شبیهسازی کند، و توانایی تغییر مکان اجرای کد به صورت سفارشی کد دروغ می گوید در سال 2019، مشکلی به نام دستکاری مرجع قدیمی در OoT کشف شد که نیاز دوم را به طور گسترده ای باز کرد.
در صورت عادی اوکارینای زمان اجرا، اقدامات به ظاهر تصادفی اضافه می شوند تا بازی را فریب دهند تا مناطق (مانند نام شخصیت شما) را برای تکمیل الزامات بررسی کند، در حالی که نباید. این یک فرآیند دو بخشی است. یک محموله داده مانند نام شخصیت خود ایجاد کنید و حافظه را با SRM دستکاری کنید تا به آن محموله اشاره کنید.
هک کردن در حال حرکت
سرعت دونده ها اینطوری می زدند اوکارینای زمان تنها در چند دقیقه، اما به طور کامل توضیح نمیدهد که چگونه ویترینی که با عشق Triforce% نامگذاری شده است، توانسته است بافتها، مدلها، موسیقی، کد و حتی یک پوشش Twitch را بدون هیچ تغییری در کارتریج به بازی اضافه کند. Savestate، یکی از ذهنهای پشت این پروژه طولانی مدت، توضیح داد که همه چیز در مورد آماده کردن کنسول Nintendo 64 برای درک دادههای کنترلر به عنوان داده بازی است.
این یک ویترین است که تنها به لطف TASBot امکان پذیر است، که قادر است ورودی ها را با سرعت غیرانسانی انجام دهد. همانطور که Savestate توضیح می دهد، “ما یک دستورالعمل در حافظه را تغییر می دهیم تا شروع به خواندن داده های کنترلر به عنوان دستورالعمل های N64 شود. معمولاً این خراب میشود، اما به لطف TASBot او میتواند کنترلکنندهها را شبیهسازی کند و آنها را با سرعت غیرانسانی دستکاری کند تا شبیه دستورالعملهای N64 شوند تا بازی دادههای کنترلر را به عنوان مجموعهای از دستورالعملهای از پیش تعیینشده اجرا کند.
دونده ها فقط با وارد کردن یک کنترلر می توانند هر کدی را که می خواهند به بازی اضافه کنند.
به طور خلاصه، ویترین Triforce% از ACE و SRM به طور معمول استفاده می کند اوکارینای زمان speedrun، اما به طور خاص نحوه درک دستورالعمل ها توسط کنسول Nintendo 64 را تغییر می دهد. با این تنظیمات، دونده ها می توانند هر کدی را که می خواهند به بازی تنها از طریق ورودی های کنترلر اضافه کنند. Savestate ادامه داد: “هیچ تغییری در کارتریج بازی وجود ندارد. برای دریافت دادههای درون حافظه سفارشی، ما از یک باگی سوء استفاده میکنیم که به ما اجازه میدهد تا با استفاده از TASBot شروع به اضافه کردن و اصلاح چیزهای درون حافظه کنیم در حالی که فقط از طریق پورتهای کنترلر با کنسول N64 تعامل داریم.
این شاهکارها نیز تصادفی کشف نمی شوند. Savestate توضیح داد اوکارینای زمان جامعه ابزارهایی را برای بررسی نحوه چیدمان حافظه در یک بازی و همچنین برنامه هایی برای شبیه سازی ترتیبات مختلف حافظه ایجاد کرده است. شبیهسازهایی مانند Project64 کمک زیادی میکنند و به دوندگان و توسعهدهندگان ابزار اجازه میدهند تا نحوه اجرای کدها را در بازی قدم به قدم بررسی کنند.
اوکارینای زمان یکی از نمادینترین بازیهایی است که تا کنون ساخته شده است، و انجمن قوی و اختصاصی Speedrunning به این بازی اجازه داده است تا چندین دهه پس از انتشار اولیه، با پیشرفتهای جدید پیشرفت کند. بهعنوان دستگاهی عمل میکند که سریعترین نیرو را تامین میکند اوکارینای زمان سرعتها چالشی را که معمولاً با شکست دادن یک بازی در سریعترین زمان ممکن مرتبط است، بیاهمیت جلوه میدهند، اما همچنین تخصص فنی باورنکردنی و تلاش جامعه را که برای تجزیه و تحلیل و تجزیه و تحلیل بازیهای محبوب انجام میشود، برجسته میکنند.
به گفته dannyb، جامعه نیز از این تعادل آگاه است: «ردهبندی OoT’s Speedrun Any% تنها موردی در رتبهبندی اصلی ما است که به ACE به عنوان یک راه معتبر برای دستیابی به هدف اجازه میدهد. برای هر چیز دیگری، ما ACE ها را ممنوع می کنیم تا منحصر به فرد بودنی را که در وهله اول به این دسته ها حیات بخشید، حفظ کنیم.»
این مقاله بخشی از ReSpec است، یک ستون دوهفتهای در حال انجام که شامل بحثها، نکات و گزارشهای عمیق درباره فناوری پشت بازی رایانههای شخصی است.
توصیه های سردبیران