Rollback Netcode: מה זה, איך זה עובד וההיסטוריה שלו

תכונה חיונית למשחקי לחימה. לא, אנחנו לא מדברים על השילוב של סהר-אגרוף, אלא על מערכת ניהול מרובה משתתפים מקוונת שהגיעה לגדולה בשנים האחרונות:קוד לאחור.

בטח שמעת על זה, אבל לא סביר שמישהו הסביר לך מה זה. ובכן, למזלנו אנחנו כאן. אז עקבו אחרינו כי אנחנו עומדים לספר לכם ממה מורכב ה-Rullback Netcode, למה הוא הפך להיות כל כך חשוב ומה היה קשור EVO ללידה שלו.

עיכוב גדול

Dragon Ball FighterZ עדיין משתמש ב-netcode מבוסס עיכוב, אבל Bandai Namco עובד על החזרה לשנת 2023

נתחיל מהנחה בלתי נמנעת: כשמשחקים באינטרנט תמיד יש עיכוב בהעברת הנתונים בין שחקנים. מסיבה זו, לחיצה על המקשים לעולם לא תיתפס בזמן אמת על ידי כל השחקנים והחוויה לעולם לא תהיה זהה למשחק זה לצד זה על אותה ספה או אותו ארון.

באופן מסורתי, כדי להתמודד עם העיכוב הזה, אומץ פתרון שנקרא ">strong>delay-based netcode": זוהי מערכת שלמעשה גם מעכבת את הפקודות של השחקנים, ממתינה כמה אלפיות שניות לפני הקלטתן. לאחר מכן, כניסות נשלחות במהלך מרווח זה ולאחר מכן מבוצעות בו-זמנית, בכל המסכים, לאחר העיכוב בהעברת הנתונים. מערכת זו מאפשרת לך לראות את תוצאות הפעולות בו-זמנית, אך גובה את שלה בהיענות ירודה של הפקדים, שנראים בעליל פחות זורמים ממה שאנו יכולים לראות בהתאמות מקומיות. וככל שהחיבור של המשתתפים גרוע יותר, כך התחושה לא נעימה יותר.

Da GGPO a Rollback Netcode

ל-Street Fighter 2: Hyper Fighting ב-Xbox 360 היה מרובה משתתפים מקוון כל כך גרוע שזה הוביל ליצירת מערכת חדשה

כפי שאתם יכולים לדמיין, הנושא אינו טריוויאלי, ומפתחי משחקים מרובי משתתפים החלו לטפל בבעיה לפני מספר שנים. לדוגמה, הצוות שמאחורי משחק יריות בגוף ראשון בשם Starsiege TRIBES, שיצא בצפון אמריקה בסוף 1998, הקים מערכת שמסוגלת לחזות איזה קלט יישלח על ידי שחקנים. עם זאת, מעבר לדוגמא הפרהיסטורית הזו, לקוח ה-GGPO היה האב המוצלח ביותר של מה שאנו מכנים היום "החזרה" נטקוד. אנחנו ב-2007 וכצפוי, ללידה של "המהפכה" הזו יש קשר הדוק עם טורניר משחקי הלחימה התחרותיים החשובים ביותר, כלומר EVO. אבל בוא נלך לפי הסדר.

בשנת 2006 החליטה Capcom להפיץStreet Fighter II: Hyper Fightingגם ב-Xbox 360. החלטה שכל המעריצים היו מעריכים, אלמלא בעיה אחת קטנה: המצב המקוון היה גיהנום עבור שחקני הארדקור, גיהנום של פיגור ותקלות.

Street Fighter 6 משתמש ב-Rullback Netcode מהיום הראשון

בין השחקנים של המהדורה החדשה הזו היה גם מסויםטוני קנון. עבור טוני, מרובי המשתתפים של המהדורה הזו של Street Fighter היה כל כך בלתי ניתן לשחק עד שהוא החליט לפתור את בעיית השורש. הוא יצר את הקונספט של מערכת שחזתה את הפיגור לפני המעבר, במקום לאחר לחיצה על הכפתור בפועל, באמצעות אנימציית מילוי כדי להסתיר את האפקט: כבר בשנת 2007 הייתה לו מוכנה גרסת עבודה של הלקוח, שנקראת על שם ה- המוטו המפורסם בשימוש לאחר משחקים. כך נולד ה"משחק טוב, Peace Out", התקצר במהרה לGGPO.

הוא אפילו הצליח להראות את זה ל-Capcom, שניסתה ליצור גרסת נט-קוד משלה ב-2008 לשחרור של Super Street Fighter II Turbo HD Remix. גם אם לא נעשה בו שימוש במשחק שפיתחה Backbone Entertainment, הלקוח של Cannon לא ננטש ומאז נעשה בו שימוש במוצרים רבים לא רק של Capcom, אלא גם של SNK. אלה כוללים את Skullgirls, Street Fighter III: 3rd Strike Online Edition וגם את The King of Fighters XV העדכנית יותר. היא עדיין במחזור ומאז 2019 היא הפכה לתוכנת קוד פתוח הזמינה ברישיון של המכון היוקרתי של מסצ'וסטס לטכנולוגיה.

עם זאת, נותרה שאלה שעדיין מחכה להסבר: מה הקשר ל-Rullback netcode ל-EVOs? ובכן, אם אתם חובבי הז'אנר, אולי כבר הגעתם לשם. טוני "פונדר" קאנון הוא לא סתם חובב משחקי לחימה. יחד עם טום "כתמי דיו" קאנון, ג'ואי "מרוויזארד" קיילר וסת' "ס-קיל" קיליאן הוא היה בין היוצרים של סדרת אליפות האבולוציה. כלומר, אירוע הספורט האלקטרוני השנתי המוקדש למשחקי לחימה הידועים בכינויו EVO. והנה גם הוסבר כיצד ה-Rollback Netcode מחובר ל-EVOs.

איך עובד החזרה לאחור

Tekken 8 ישוחרר גם עם קוד לאחור

לאחר ששיעור ההיסטוריה יסתיים, בואו נסתכל באופן ספציפי יותרכיצד פועל קוד החזרה לאחור. כבר אמרנו שכדי להתגבר על המגבלות של נט-קוד מבוסס עיכוב, החזרה שואפת לצפות את ההשהיה לפני המהלך, ולא לאחר לחיצת המקשים בפועל, באמצעות אנימציית מילוי כדי להסתיר את האפקט. באופן זה הוא למעשה חוזה את המהלך הבא, כדי לשלוח מיד את הקלט של השחקנים למשחק. וכאשר התחזית הזו נכונה יש לך אשליה של רשת אפס חביון.

אתה חייב לדמיין את המערכת הזו לא כתחזית של מגיד עתידות: מרווח הזמן שיש לחזות הוא בסדר גודל של קומץ אלפיות שניות, כך שניחושים קל יותר ממה שזה נראה. אבל בואו נעשה כמה דוגמאות מעשיות כדי להבהיר הכל: אם הלוחם שלנו בפריים נתון עדיין במקום, יש סיכוי גבוה שהפריים הבא עדיין יהיה שם; אם במקום זאת הוא נע קדימה, סביר מאוד שהפריים הבא ממשיך לנוע. בקיצור, ל-rollback יש סיכוי גבוה לקבל את החיזוי שלו נכון מכיוון שהוא מנסה לחזות פעולות המתרחשות במרווחי זמן קצרים מאוד.

תוצאה של חיזוי שגוי עם עיכוב רגיל (45ms) (תמונה מ- Core-A Gaming)

אבל מה קורה כאשר התחזית שגויה? במקרה כזה מתרחשת ה"חזרה" בפועל: המשחק "חוזר" למצב האחרון הנכון ומשחזר את כל הקלטים מאותו רגע ועד למסגרת הנוכחית. אם נחזור לדוגמא הקודמת, הנה מה שקורה אם היריב שלנו מתקדם אבל בשלב מסוים מחליט לקפוץ, בעוד שה-Rollback חזה שבמסגרת הזו הוא ימשיך ללכת: ברגע שהקונסולה שלנו תקבל את המידע ותבין שהתחזית היה שגוי, המשחק יחזור למצב הנכון הקודם, יחתוך חלק ראשוני של אנימציית הקפיצה על ידי חזרה כמה מילימטרים אחורה וכך יצליח להתעדכן. שבמצב רגיל יהיה בסדר גודל של 10-50 ms ולכן קשה לתפיסה.

עם זאת, למרות זאת, הבעיה של תחזיות שגויות, או מצבים שבהם הקלט מגיע באיחור, נותרה המגבלה הגדולה ביותר של ה-Rullback Netcode, כמו גם הסיבה שבתי התוכנה נרתעו כל כך ליישם אותו. תיקון תזמון פעולת החזרה לאחור דורש שלב תכנון ובדיקה קפדניים שלא כולם יכולים להרשות לעצמם. יתר על כן, יש צורך לפתח משחקים תוך שימוש ב-netcode הזה כבר בחשבון, מכיוון שתכונות מסוימות עלולות להוביל לתקלות, ומעל לכל, חשוב להכניס מערכת הערכה עצמית לאיכות הרשת, כך ששחקנים יכול להחליט להתמודד רק עם יריב אחד אם הקשרים יציבים.

אֲנִיהיתרונות של החזר נטקודמיושם היטב אבל יש הרבה. לא רק שהוא מאפשר למשחק לפעול במלוא המהירות, רק מתקן שגיאות חיזוי כשהן מתרחשות, אלא שהוא גם יכול לנהל משתני חיבור לרשת, כגון אובדן מנות נתונים או חוסר יציבות כללית.

Mortal Kombat 11 usa il rollback netcode

דוגמאות מעשיות למשחקים שנהנו מהחזרה לאחור הם כמה ממשחקי הלחימה הפופולריים ביותר בשוק: Mortal Kombat 11, Guilty Gear Strive, Killer Instinct, אך גם המשחקים האחרוניםסטריט פייטר 6התמקד בהצלחה בסוג נטקוד זה, ויעשה את אותו הדברTekken 8. עם זאת, עם הזמן, החזרה לאחור יושמה גם בז'אנרים אחרים מלבד משחקי לחימה. זה המקרה למשל שלStormgate, משחק אסטרטגיה בזמן אמת שפותח ב-Unreal Engine 5 על ידי Frost Giant Studios, צוות שנוצר על ידי שני יוצאי Blizzard.

בקיצור, קוד החזרה לאחור הוא לא תרופת פלא מופלאה לכל תחלואי המשחקים המקוונים, אבל זה יכול להיות חץ חשוב בקשת המפתחים.