באבא זה אתההוא חידת דחיפה שבה מילים משנות את כללי המשחק. דחוף אbaba
בלוק ליד anis
, ולאחר מכן לחץ על אyou
בסופו של דבר, ועכשיו אתה שולט ביצור בעל ארבע רגליים וארוכות אוזניים. הוסף עוד כלל,flag is win
, ואתה יכול לנצח את הרמה על ידי העברה של באבא לדגל.
Baba Is You הוא אפוא משחק על יצירת היגיון משחק מהשפה. וזו דוגמה יוצאת דופן לבעיות המכניות והמטאפיזיות הקוצניות הנובעות מניסיון לקודד משמעות למילים, ולאחר מכן מילים למשחק. אלה כמה שגרמו ליצרו, ארבי טייקרי, לכאבי הראש הכי גדולים שלו.
not
Baba Is You התחיל את החיים כמשחק שנעשה עבור Nordic Game Jam באפריל 2017. ל-Teikari היה רעיון של משחק פאזל מבוסס תורות עם גוש קרח וגוש לבה. הלבה יכלה להמיס את הקרח, אבל אתה יכול לעצור את ההמסה של הקרח על ידי איכשהו הצהרה 'קרח לא נמס'.
"אז מילים היו שם מההתחלה", אומר טייקרי. "יהיו חפצים עם תכונות מובנות, כמו קרח יהיה נמס כברירת מחדל, ולבה תהיה חמה. אז תסיר את התכונות האלה עם זהis not
."
אבל למרות שחלק מהקונספט המכונן של Baba Is You, טייקרי החליט לזרוקis not
עבור הגרסת ג'אם של המשחקכי נראה שהוא משרת רק את הפונקציה של השבתת כללים.
"זה לא מאוד מעניין לעשות עם מילה", הוא אומר. אחרי הכל, אם יש לך כללbaba is you
, הכל מסדרbaba is not you
מקום אחר שיעשה הוא פשוט לשלול את זה. אולם מאוחר יותר, כשהחל ליצור את הגרסה המסחרית של Baba Is You, הוא הבין את זהnot
יכול להיות שימוש רחב יותר בהרחבת ההיגיון של המשחק.
אבל תנאי, מעמד המילים שבוnot
התקפים, גרמו לכל מיני כאבי ראש. "כְּמוֹon
, כגוןbaba on grass is you
, שבו באבא הופך אותך רק כשעומדים על הדשא." מאז יציאת המשחק המלא, הוא נאלץ להוציא תיקונים שונים כדי לגרום למשחק להבין דברים כמוbaba not on not rock is you
.
(is not
אכן קיים בגרסת הג'אם, אבל זה לא עובד. כדי לראות אותו, הקש \ או | במקלדת בבריטניה או בארה"ב כדי לגשת למצב עורך הרמה שלה.)
text
כמה שטויות ברורות ברמת Baba Is You נובעת מהבחירה המוקדמת של טייקרי לאפשר לך לשלוט במילים עצמן באמצעותtext
. "אז אתה יכול להגידtext is you
ולשלוט במילים במשחק. זו הייתה תוספת הגיונית מאוד ברמת מטה למשחק", הוא אומר.
אבל אפילו יותר עקרונית מזה, המשחקיות העמוקה של Baba Is You במילים היא תוצאה של החלטתו לנתק חפצים מכלל כללים מובנים. יחד עם החלטתו לעזובis not
במהלך הריבה, הוא גם החליט לא לתת לקרח התמוססות טבועה וחום טבוע בלבה. במקום זאת, כללים שנקבעו במילים יגדירו את התכונות הללו.
משמעות הדבר היא שאובייקטים - סלעים, קירות, קקה, באבא - כולם רק אובייקטים ויזואליים, ובאופן אחר לגמרי ניתנים להחלפה זה עם זה. "אז אין שום סיבה שלא יכולתי להוסיף כמה שרציתי, ובכל נושא שרציתי, כי הם לא חשובים למכניקה."
slip
אחת המילים שהופיעו בגרסת הג'אם המקורית אך לא במהדורה הסופית היאslip
. הרעיון היה שמאז הוא כללice
, טייקרי הבין שיכול להיות לו משטחים חלקלקים.
אֲבָלslip
גרם להרבה בעיות. חלקים מסוימים בקוד של Baba Is You הם מסובכים במיוחד. מערכת הכללים שלה, השולטת באופן שבו היא מפרשת סידורי מילים ברמה ומיישמה אותם, היא אחת. השני הוא מערכת התנועה.
Movement is Baba Is You זה מסובך מכיוון שמשחקים מבוססי תור צריכים להיות מאוד מדויקים לגבי הסדר שבו דברים קורים. ואלה שבהם אתה יכול לדחוף חפצים מסביב הם טריקים במיוחד. Baba Is You, לעומת זאת, הוא משחק שבו חפץ יכול לדחוףאַחֵראובייקט, אז זה אפילו יותר.
לפיכך, טייקרי היה צריך לחשוב מה קורה כששני עצמים שמתקרבים לאובייקט שניתן לדחוף מכיוונים שונים, וכאשר יש אובייקט על משטח טלפורטציה שגם הוא עומד להידחק ממנו.
"גם עכשיו יש כמה מצבים שבהם לא הצלחתי לפתור את זה בהיגיון, הייתי צריך להשאיר את זה שרירותי", הוא אומר. משחקים אחרים, כגוןDeadly Rooms Of Deathכולל מחוון סדר תור, שמבהיר לשחקן את הכללים השרירותיים של המשחק, אבל טייקרי לא רצה שהשחקנים יצטרכו לעסוק במשהו כל כך טכני ב-Baba Is You.
"רציתי לנסות לגרום לכך שכמה שיותר, אם שני דברים לכאורה זזים בו-זמנית, הם אכן יצליחו. זה יצר הרבה צרות".
הרעיון לslip
זה היה מכריח כל חפץ שהחל לנוע על משטח חלקלק להיות מסוגל להמשיך רק בכיוון הזה עד שהוא פוגע בקיר או יגיע לחומר ללאslip
נֶכֶס. אבל לוודא שהמשחק מחליק דברים בסדר הנכון היה "קשה באופן מפתיע". מה אם חפץ עומד להחליק לתוך אריח שגם הוא עומד להיתפס על ידי חפץ מחליק אחר? מה עובר לתוך האריח? האם הם ממשיכים לנוע? איך השחקן יכול להבין באופן אינטואיטיבי מה קרה?
טייקרי החליט לא להמשיך בזה. "בהתחלה, מערכת התנועה הייתה שברירית מדי כדי לתמוך במילה כזו, אבל אני שוקל אולי לנסות להוסיף מחדשslip
, כעת המערכת חזקה יותר."
back
טייקרי היה מעוניין להוסיף מילה שיכולה להריץ לאחור את תנועת האובייקטים, כך שאם יש לךrock is push
, הזיזו אותו ואז הגדרrock is back
, הסלע ינוע אחורה בזמן.
"כשחשבתי על מילים, חלק גדול היה מחפש מילים שנשמעו מגניבות? כָּךback
הייתה מילה מרגשת להוסיף, אבל כשיישמתי אותה, אתה בטח יכול לנחש שזה היה די קשה".
מלבד הבאגים והמוזרויות ההגיוניות ומקרי הפינות,back
גם נטו להציג חידות שכללו יותר מדי עבודה עמוסה - תנועה ואז הילוך אחורה - כדי לפתור אותן. ובוחן ציין שאם אתה עושה טעות, אתה צריך לעשות הכל שוב.
אבל טייקרי לא יכול היה לעזובback
לְבַד. הוא ניסה לעצב רמות שמצמצמות את העבודה העמוסה, ואז נתקל בבעיה חדשה. תגיד שיש לך חפץ מפתח ודלת, ואתה דוחף את המפתח לתוך הדלת, פותח אותה והורס את המפתח. ואז אתה קובעkey is back
.
התוצאה ההגיונית היא שהמפתח נשלף מהלימבו. אבל עבור המשחק, זה אומר ליצור מערכת שבאמצעותה הוא יכול לזכור שדברים היו קיימים פעם כדי שתוכל להחזיר אותם בחזרה. "התברר שזה די קשה."
ובכל זאת, טייקרי לא ממש סיימה עם זה. "הרעיון מגניב מדי", הוא אומר. "אני כנראה אנסה את זה שוב אבל זה בהמתנה כרגע."
if
"כנראה הדוגמה הכי גדולה שיש רעיון ולא יישמו בגלל העבודה הכרוכה בכך הייתהif
", אומר לי טייקרי. "אבל אני עדיין מאוד רוצה להגידbaba is you if rock is push
."
חלק מדבריו של Baba Is You גרמו לו להוסיף מערכים עצומים של קוד נוסף למערכות קיימות כדי להסביר את הדרכים שבהן היו אינטראקציה.if
היהגַםמתכוון להוסיף גוש חדש לגמרי של קוד למערכת חוקים ש-Teikari כבר מוצאת שהיא גדולה ומפחידה לעבוד איתה.
אבל, כאילוback
, טייקרי לא יכול להפסיק לחשוב על זהif
. "זה בראש שלי לפחות שנתיים, ומעולם לא אזרתי אומץ לנסות להוסיף את זה. שמעתי שמאוורר מודד ב-workingif
מותנה, וזה די מגניב. יש הרבה אנשים שהם קודנים הרבה יותר טובים ממני, אז זה נחמד שהם עושים את זה, אבל אני גם קצת מקנא".
empty
הרעיון הראשון שעלה לטייקאריempty
היה אפשר לומרbaba is empty
ולהעלים אותו, ולומרempty is baba
לגרום להרבה באבים להופיע מחללים ריקים.
אבל זה אומר שצריך לחשוב על איזה חרא עמוק. "מהו ההיגיון הפנימי לריקנות?" אומר טייקרי.
מכיוון שלמשחק המוקדם לא היה מושג לריקנות, הוא נאלץ לכתוב קוד לכל מה שעוסק בוempty
, כמוempty is push
. "התברר שזה דורש הרבה קוד נוסף, כי אני צריך לבצע בדיקות לא רק אם חפצים נדחפים אלא גם אם יש אוויר ריק. זה היה מאוד מספק כשהצלחתי לעבוד".
כדי לקבל תחושה של המורכבות מאחוריempty
, שקול אריח ריק. כשמשהו עובר לתוכו, הריקנות נעלמת. גרסת המשחק ג'אם, לא עבדה כך: אם אתה אומרempty is win
, אתה מנצח אם באבא עובר לחלל ריק.
"בודק ציין שזה לא צריך לקרות", אומר טייקרי. כי ברגע שבאבא נכנס לחלל הריק, הוא כבר לא ריק. אז הדרך היחידה לנצח מתיempty is win
הוא להצהירempty is you
.
"אז זו הייתה עוד החלטה עיצובית בסיסית שלקח הרבה זמן להבין אותה", אומר טייקרי. "למעשה, זה גם הוביל לבעיה עיצובית בין האופן שבו מילים שונות מתקשרות זו עם זו." הרעיון של אי-יכולת לעמוד על אריחים ריקים הדגיש את העובדה שיש שתי דרכים לקיים אינטראקציה עם בלוקים, בהתאם למאפיינים שלהם.
לדוגמה, אםrock is push
, באבא יכול לדחוף אבן. אבל מכיוון שבאבא וסלע ניתן לדחיפה לעולם לא יכולים לאכלס את אותו אריח, דחיפה היא דבר שקורה באריח אחד מהסלע. ובכל זאת, אם אתה קובעrock is win
, אתה מנצח רק כאשר אתה עובר על גבי הסלע.
אני תוהה אם הצורך לשקוע כל כך עמוק לתוך המטאפיזיקה המוזרה הזאת הוביל את טאיקארי להסחת דעת. זה לא קרה. "אני חייב להודות ש-Baba Is You הוא הכי כיף שהיה לי לעבוד על פרויקט משחק אי פעם", הוא אומר. והוא שמח שהתוצאה של חפירה לתוך חורי הארנב הלוגיים שלו הביאה למערכת חזקה יותר. "אני מקבל הרבה סיפוק מהידיעה שמערכות המשחק חזקות ודינמיות."
חזק מספיק כדי לתמוך בעורך הרמה הרשמי הקרוב שלו, וזה המקום שבו המילים של Baba Is You יתמודדו עם האתגר הקשה ביותר שלהם עד כה.