ReSpec הוא בדרך כלל טור על העולם המופלא והטכני של משחקי מחשב, אבל מדי פעם יש נושאים שהם טובים מכדי לוותר עליהם. האגדה של זלדה:אוקרינה של הזמן זוכה לשבחים ברחבי העולם כאחד ה משחקי Nintendo 64 הטובים ביותר נוצר אי פעם, ולמרות שזה לא כותר למחשב, הריצות הטכניות ברמה הגבוהה ביותר של המשחק חושפות איך משחקים עובדים ברמה בסיסית. חשוב מכך, ההישגים המדהימים האלה אפשריים רק עם הרבה מאמץ קהילתי.
תוכן
- רחוק מלהיות שרירותי
- פריצה תוך כדי תנועה
סרטונים מומלצים
אוקרינה של הזמן הוא משחק שייקח לשחקן רגיל בערך 30 שעות לנצח; הספידים המיומנים ביותר, שמטרתם לשחק את המשחק מהר ככל האפשר, יכולים לנצח אותו תוך כשלוש שעות ו-40 דקות ללא תקלות. אבל קטגוריית Any% של המשחק, שמטילה על שחקנים להשלים את המשחק ללא קשר לשיטות שבהן נעשה שימוש, ירדה לשלוש דקות, 54 שניות ו-566 אלפיות שניות. וכן, האלפיות השניות חשובות. שיאן המקום השני נמצא פחות משנייה שלמה אחרי שיא העולם.
אפילו עם היותו הישג מדהים כל כך, זה לא הכל אוקרינה של הזמן speedruns מביאים לשולחן. ב-Summer Games Done Quick 2022, מרתון ריצת מהירות חצי שנתי למטרות צדקה, הייתה חלון ראווה שהדגיש קבוצת ספידראנרים מתכנתת מחדש את המשחק תוך כדי הצגת גרפיקה חדשה, לנגן מוזיקה חדשה ואפילו להפעיל צ'אט Twitch כיסוי. וכל זה נעשה על עותק מלאי של המשחק ללא תכנות מראש.
ה אוקרינה של הזמן קהילת speedrunning המשיכה לשבור את המשחק בדרכים שנראות בלתי אפשריות. פניתי לשניים מהמוחות המובילים בקהילה כדי לגלות מה גורם למשחק Nintendo 64 הקלאסי לתקתק, והכל מסתכם בניצול אחד: ביצוע קוד שרירותי.
רחוק מלהיות שרירותי
ביצוע קוד שרירותי, או ACE, נשמע הרבה יותר מאיים ממה שהוא באמת. זה מונח שנזרק באבטחת סייבר שמשמעותו בעצם הפעלת קוד (או תוכנית) שאסור להפעיל. בשביל זה דניב, ספידראנר אוקרינה של הזמן מי שמחזיק בשיא המקום השני בקטגוריית Any%, תיאר את ACE ב אוקרינה של הזמן: "ביצוע קוד שרירותי ב-OoT הוא ניצול לפיו שחקן יכול להשתמש בפעולות במשחק כדי לסדר חבורה של נתונים בזיכרון כדי לחקות את קוד המשחק, ולאחר מכן לתפעל את המיקום שבו המשחק מחפש להריץ קוד כדי שיהיה המקום שבו בדיוק עשינו את זה עֲרִיכָה."
עם הפעולות הנכונות, דניב אומר ששחקנים מסוגלים "למעשה להריץ כל קוד שאנחנו אוהבים מתוך המשחק, ולגרום למשחק לעשות דברים שלא תוכנתו לעשות". פעולות אלו כוללות דברים חסרי תועלת לכאורה כמו השם שאתה מזין כשאתה מתחיל את מִשְׂחָק. זו בדיוק הפעולה שאפשרה אוקרינה של הזמן להכות כל כך מהר.
במשחק כמו אוקרינה של זמן, המשחק בודק את הזיכרון שלו כדי לעמוד בדרישה מסוימת כדי לנצח את המשחק. המטרה ב-Speedrun של Any% היא לארגן מחדש את הזיכרון כדי להסתכל על שם הדמות שלך במקום היכן שהיא נראית בדרך כלל. זה נקרא Stale Reference Manipulation, או SRM, ודניב אומר שהניצול הוא מה שנסדק אוקרינה של הזמן speedruns פתוח בצורה משמעותית.
[שיא עולם לשעבר] OoT Any% Speedrun ב-3:55.300!
"ACE בכל משחק וידאו תמיד צריך את שני הדברים האלה: שליטה מכווננת על אזור כלשהו בזיכרון כך שהשחקן יכול להפוך את הנתונים שם לחקות קוד, ואת היכולת לשנות את מיקום ביצוע הקוד להיות המקום שבו הקוד המותאם אישית שקרים. בשנת 2019, התגלתה תקלה בשם Stale Reference Manipulation ב-OoT, שפתחה את הדרישה השנייה בגדול", אמר dannyb.
במקרה של נורמלי אוקרינה של הזמן לרוץ, פעולות אקראיות לכאורה מצטברות כדי להערים על המשחק כדי לבדוק אזורים (כגון שם הדמות שלך) עבור דרישות השלמה כאשר הם לא צריכים. זה תהליך של שני חלקים. צור מטען נתונים, כגון שם הדמות שלך, ותפעל את הזיכרון באמצעות SRM כדי להצביע לעבר המטען הזה.
פריצה תוך כדי תנועה
OoT Triforce Percent ACE Showcase: TASBot מביא אותנו לכאן ביחד ב-SGDQ 2022! (ביטא + תוכן חדש)
כך היכו ספידראנרים אוקרינה של הזמן תוך דקות ספורות, אבל זה לא מסביר עד הסוף איך חלון הראווה של טריפורס% בעל השם האוהב הצליח להוסיף מרקם חדש, דגמים, מוזיקה, קוד ואפילו שכבת-על Twitch למשחק ללא כל שינוי ב- מַחסָנִית. Savestate, אחד המוחות מאחורי הפרויקט שנמשך שנים זה, הסביר שזה הכל על הכנה של קונסולת Nintendo 64 כדי להבין את נתוני הבקר כנתוני משחק.
זהו חלון ראווה שמתאפשר רק בזכות TASBot, המסוגל לבצע תשומות במהירויות לא אנושיות. כפי שמסביר Savestate, "אנו משנים הוראה בזיכרון כדי להתחיל לקרוא נתוני בקר כהוראות N64. בדרך כלל, זה יתרסק, אבל הודות לTASBot, הוא מסוגל לדמות בקרים ולתפעל אותם בצורה בלתי אנושית מהירויות להיראות כמו הוראות N64 כך שהמשחק מבצע את נתוני הבקר כסט קבוע מראש הוראות."
הרצים מסוגלים להוסיף כל קוד שהם רוצים למשחק רק באמצעות כניסות בקר.
בקיצור, התצוגה של Triforce% משתמשת ב-ACE וב-SRM כמו רגיל אוקרינה של הזמן speedrun, אבל זה משנה באופן ספציפי את האופן שבו קונסולת Nintendo 64 מבינה הוראות. עם ההגדרה הזו, הרצים יכולים להוסיף כל קוד שהם רוצים למשחק רק באמצעות כניסות של בקר. Savestat המשיך: "אין שינוי במחסנית המשחק. כדי להכניס נתונים מותאמים אישית לזיכרון, אנו משתמשים בתקלה שמאפשרת לנו להתחיל להוסיף ולשנות דברים זיכרון בעזרת TASBot תוך התממשקות לקונסולת N64 בלבד דרך הבקר שלה נמלים."
מעללים אלה לא מתגלים רק באופן אקראי. Savestat הסביר כי אוקרינה של הזמן הקהילה פיתחה כלים לבחון כיצד הזיכרון מסודר במשחק, כמו גם תוכניות לדמות סידורי זיכרון שונים. אמולטורים כמו Project64 עוזרים מאוד, ומאפשרים לרצים ולמפתחי כלים לעבור על האופן שבו המשחק מבצע קוד שלב אחר שלב.
אוקרינה של הזמן הוא אחד המשחקים האיקוניים ביותר שנוצרו אי פעם, וקהילת ה-speedrunning החזקה והמסורה אפשרה למשחק לשגשג עם פיתוחים חדשים במשך עשרות שנים לאחר שהושק במקור. ניצול כמו זה שמניע הכי מהר אוקרינה של הזמן speedruns ממעטים את האתגר הקשור בדרך כלל לנצח משחק מהר ככל האפשר, אבל הם גם להדגיש את המומחיות הטכנית המדהימה ואת המאמץ הקהילתי שמגיעים לנתח ולנתח את האהובים משחקים.
גם הקהילה מודעת לאיזון הזה, לדברי dannyb: "קטגוריית ה-Speedrun של Any% של OoT היא היחידה בטבלאות המובילות שלנו שמאפשרת ל-ACE כדרך חוקית להשלים את המטרה. לגבי כל השאר, אנו אוסרים על ACE כדי לשמר את הייחודיות שהביאה את הקטגוריות הללו לחיים מלכתחילה".
מאמר זה הוא חלק מ ReSpec - טור דו שבועי מתמשך הכולל דיונים, עצות ודיווח מעמיק על הטכנולוגיה שמאחורי משחקי מחשב.
המלצות עורכים
- זלדה: אוקרינה של הזמן מצטרפת להיכל התהילה של משחקי הווידאו
- הרחבת N64 של Switch Online לא תהיה שלמה ללא בקרים שקופים