זֶהוּהמכונאי, שם אלכס וילטשייר מזמין מפתחים לדון בעבודה הפנימית של המשחקים שלהם. הפעם,כישוף![אתר רשמי].
מ-Warlock of Firetop Mountain ואילך הייתי די אובססיבי לספרי המשחקים Fighting Fantasy. כמובן שהייתי: הם הציגו פנטזיות מצוירות בעושר שבהן יכולתי לשחק חלק, דמיוני מסתובב על המילים והאיורים שלהם. (המאייר האהוב עלי? ברור ראס ניקולסון.) של אינקלכישוף!סדרה, ארבעה משחקים מבוססי טקסט שהותאמו מספרי המשחקים המקוריים של Fighting Fantasy, השותף ליצירתו של Fighting Fantasy, סטיב ג'קסון, לוכדות את כל מה שהפך את Fighting Fantasy למיוחד ולהוסיף תוספת קסומה: הדינמיות של משחקי וידאו.
למעשה, כישוף! לעתים קרובות מרגיש דינמי וחיים יותר ממשחקי וידאו. ככל שאתה מתקדם בספרים, ההרפתקה שלך ממשיכה להתעשר, העולם מגיב יותר לקטע שלך. זה נובע בחלקו מהחופש ההולך וגובר שאתה צריך לחקור, אבל יותר מכך, זה בגלל שכל ספר מלא בבחירות שמרגישות שיש להן השלכות; שהמשחק צופה וזוכר כל מהלך שלך. כישוף! זורמת ומרגישה מכוונת נגן, ובכל זאת כתובה בחוזקה. זה כאילו סטיב ג'קסון כותב את זה בשבילך תוך כדי משחק, ומגיב לכל פעולה שלך.
עם זאת, אין כאן AI. הקסם של כישוף! נובע ממערכת הרבה יותר פשוטה, אך עם זאת מביאה למורכבות לפחות באותה מידה. אפוס הפנטזיה הזה הוא למעשה רק הרבה:
המכונאי: אפשרויות קטנות
כתבתי לפני כמה זמן עלעושר של טקסט ובחירות בקנטקי כביש אפס, כיצד הוא מעלה דמויות וסיטואציות באמצעות מתן בחירות מרובות ניואנסיות במהלך דיאלוג. כישוף פועל גם על בחירה מרובה, כפי שהיית מצפה מעיבוד ספרי משחק, אבל זה עובד בצורה שונה מאוד. "המערכת היא שאין ממש מערכת", אומר לי בבהירות הבמאי הנרטיבי ג'ון אינגולד. אבל הוא מתעמר. יש אחד, והוא בנוי על כמה נקודות מבט פילוסופיות שהן התגובה של Inkle לדרך הרגילה שבה מתמודדים משחקי וידאו RPG עם מתן אפשרויות בחירה.
"המציאות של רוב משחקי ה-RPG היא שאתה לגמרי מקסם אותם, כי נראה שאין ברירה", אומר אינגולד. הוא טוען שאתה צריך את הנתונים הסטטיסטיים הטובים ביותר כדי להיות טוב בלחימה וכדי לקבל את כל אפשרויות הדיאלוג, וגם שרוב משחקי ה-RPG להוטים להזהיר אותך מראש מפני התוצאות של כל בחירה. עבור אינגולד והמייסד השותף, ג'ו האמפרי, שתי הנטיות הללו מעודדות מינימום מקס, משהו שנוגד את כוונת ה-RPG הטהורה של לגלם דמות ולצאת לעולם. "אז הרעיון שלנו היה לספק הרבה בחירה והרבה היענות וללא משוב מראש של בחירה בכלל." העמדה השנייה טמונה מתי המשחק אמור לתת לך משוב על הבחירה שלך. לעתים קרובות, זה מגיע הרבה יותר מדי זמן אחרי שהצלחת, כששכחת את ההקשר, או מוקדם מדי, כשההשלכות לא הספיקו לשקוע ויש יותר מדי פיתוי לחזור אחורה.
שני הרעיונות האלה המשיכו להודיע על ההרגשה המהירה של ההליכה בכישוף! אז, למשל, אנחנו יכולים לדבר עם שומר, והם יגידו, "מה העסק שלך?" ואנחנו אומרים שאנחנו סוחרים. "נו באמת, מה אתה מוכר?" שואל השומר. ואנחנו עונים, "דג", והוא אומר, "אתה לא מריח כמו סוחר שמוכר דגים."
"ואתה מבין שזה מאוחר מדי לחזור אחורה כי יש לך שתי אפשרויות לחוויה הזו", אומר אינגולד. "הקצב הכללי הזה פירושו שהיינו צריכים לעשות פרצי טקסט קצרים; היינו צריכים לעשות הרבה בחירות קטנות, כי אם אתה עושה בחירות גדולות אתה לא יכול לערום אותן כל כך בקלות. אני חושב שדי הופתענו מכמה זה היה יעיל".
הכוח הגדול של גישה זו הוא שהבחירות אינן מתוארות לפני שאתה עושה אותן, כך שאתה לא בהכרח יודע אילו בחירות הולכות להיות חשובות. "באופן אידיאלי, בכל פעם שאתה שם בחירה מול שחקן, הם אומרים, 'אוי אלוהים, זה באמת רציני...' יחד עם זאת, למשחק זה לא רלוונטי. זה המצב האידיאלי. זה אומר שאנחנו יכולים לכתוב אלפי אפשרויות בלי צורך לדאוג להסתעפות, אבל לשחקן יש את החוויה המתוחה להפליא". אבל זה האידיאל. בפועל, Inkle הקפידו לחנך את השחקן שהבחירות שלו חשובות על ידי הצגת מספיק בחירות שבאמת חשובות, או שיקראו לו שוב ושוב, כך שהשחקן ילמד שהוא לא יכול לחזות מה הולך להיות משמעותי בסופו של דבר.
יש כמה מערכות שונות שפועלות לעשות זאת, אבל אחת העיקרית היא מעקב אחר דמויות. אתה אף פעם לא הופך מודע לזה, אבל בזמן שאתה משחק, בחירות מסוימות יצברו לך נקודות חיוביות ושליליות מול חמש תכונות שונות: כבוד, אמפתיה, חיפזון, ביטחון עצמי ומוחות. הציון האמיתי שלך עבור כל תכונה הוא לא הסכום של נקודות חיוביות ושליליות אלא אחוז הפעמים שהיית מכובד מול חסר כבוד, או חכם מול טיפש. זה סופר חכם. בסולמות מספריים כמו מערכת היישור של אבירי הרפובליקה הישנה, יכול להיות שיש לך +10 נקודות, וזה יכול להיות בגלל שעשית 12 דברים מכובדים ושני דברים לא מכובדים, או שזה יכול להיות בגלל שעשית 190 דברים מכובדים ו-180 דברים לא מכובדים. במקרה הראשון אתה טוב מאוד, ובשני אתה מאוד אמביוולנטי, אבל בשני המקרים יש לך אותו ציון.
במקום זאת, עם כישוף! פשוט יש לך אחוז שמתאים למספר הפעולות שאתה נוקט. עם הגישה של KOTOR, המשחק צריך לאזן את מספר האירועים המאפשרים לשחקנים להיות טובים ורעים ברחבי המשחק כך שיש להם הזדמנות שווה לבטא את עצמם, אבל כשפים! לא צריך לעשות את זה בכלל. "הדבר המעניין בסטטיסטיקות הדמויות הוא שהם חזקים בסביבה שבה אין לנו מושג איזה תוכן השחקן ראה ומה לא ראה, ואם הם היו במסע מהיר או ארוך. זה תמיד עובד".
תכונות אלו משפיעות ישירות על המשחק שלך. בכל סצנה המשחק בודק מולם ומפעיל ולכבות אפשרויות לפעולות בהתאם, כך שאם אתה דמות נמהרת אולי תהיה לך אפשרות שאחרים לא היו. למרות שהמשחק נראה כאילו הוא מגיב לפעולות הספציפיות שלך, זה בדרך כלל כתוצאה מהפעולות המצטברות שביצעת במהלך המשחק.
מערכת זו של הפעלה וכיבוי אפשרויות הפכה להיות חשובה יותר לסדרה בהתמדה. הספר הראשון היה עיבוד די ישר של הכישוף הראשון! ספר המשחקים, בכך שהוא התקדמות ליניארית מההתחלה ועד הסוף. ספר שני מתרחש בעיר, והוא מאפשר לך לעשות מעגלים של מיקומים כשאתה מחפש ארבעה רמזים שיובילו לסוף הספר. הוא השתמש באותו עיצוב ליניארי חיוני כמו הראשון, אבל מכיוון שניתן היה לגשת למקומות מסוימים בשבע דרכים שונות, זה הפך להיות מאוד לא מנוהל לבדיקה והוביל לכך ש-Inkle הורידה לחלוטין את ההתקדמות הליניארית עבור הספר השלישי. עם המשימה להביס שבעה נחשים, אינקל רצה לתת חופש מוחלט לנוע במפה. "כל סצנה במשחק בהתחלה רק תגיד אילו סוגי דברים צריכים להיות נכונים כדי שהסצנה תפעל", אומר אינגולד. "דמויות מסוימות לא יופיעו אם זה לילה, או אם אתה מסתובב במדבר במשך 15 יום, או אם אתה רעב מכדי להתמודד איתן, או שהם יופיעו אם שרפת את חארה, בלה בלה בלה.
"בשלב הזה היה לנו משחק שיכולנו לערבב די כרצוננו בלי בדיקות אמיתיות אם העלילה הגיונית, בלי הנחות לאיזה סדר שחקנים יעשו משהו, ואז פשוט בדקנו את זה הרבה. כל סצנה שומרת מפני שגיאות בעצמה, ושום דבר לא אפוי במערכת בכלל. זה אומר שאתה בסופו של דבר עם היכולת להפוך את המשחק שלך גמיש להפליא מכיוון שכל סצנה רק בודקת כדי לוודא שזה הגיוני. יש לנו שחקנים עם כל מיני קשתות אופי וקווי עלילה בונים אסטרטגיות שאני אקרא ואבין שאתה יכול לשחק את זה ככה, אבל לא יהיה לי מושג שהם קיימים".
השאר זה רק מילים. ל-Inkle יש תהליך שהם קוראים להם 'ברנקלינג', שבו נכתב קו עלילה ואז הם מוסיפים ברנקל בכל פעם שהם חושבים על משהו מעניין. "מה יקרה אם הם שמים את הזקן כשהם מנסים לעבור את השער?" מציע אינגולד. "מה יקרה אם ניתן להם לדבר עם הסנטרים ולגלות שם משהו?" הם לא מוסיפים עומס למשחק, אבל יוצרים כל כך הרבה חיים. אתה נשאר עם מושג מועט על כמה מהמשחק ראית ומרגיש בטוח שאם תשחק שוב, בטוח תמצא משהו חדש. "זה טקסט, זה מאוד יציב, מאוד חזק. אם זה שובר את האיזון, ובכן, האיזון הוא די אד הוק בכל מקרה. הדבר הגרוע ביותר שכל פיסת תוכן יכולה להיות הוא משעמם, אז אתה פשוט לא כותב את זה אם הוא משעמם".
המשחק עשוי לא רק מהרבה אפשרויות קטנות. יש מפוארים יותר, אבל הם נוטים לעבוד בדרכים עדינות יותר ממה שאתה עשוי לחשוב. התראות ספוילר מכאן והלאה מכיוון שאנו הולכים להתמקד בכמה אירועים בספרים השלישי והרביעי.
כהמחשה לגמישות המערכת, בסוף הספר הראשון אתה פוגש מתנקש בשם פלנקר, שאתה יכול להרוג. אבל אם אתה לא הורג אותו, הוא מופיע בסוף הספר הרביעי כדי לשחק תפקיד בהפרדה ולספק אתגר נוסף. הוא נראה כל כך משמעותי שקשה לראות איך המשחק יכול להסתיים בלעדיו, אבל אם כן הרגת אותו, הוא פשוט לא שם. אין דמות מחליפה; אתה פשוט הולך ישירות לחדר לפני המפגש עם הארכימאג'. "ג'ו אמר מה אנחנו הולכים לעשות לשחקנים שהורגים אותו בשלב מוקדם? והתשובה שלי לזה הייתה לוודא ששאר המשחק יהיה כל כך טוב שהם לא שמים לב שיש פער”.
בחירה בקנה מידה גדול יותר נוגעת למה שקורה בספר הרביעי אם הורגים - או לא - את כל שבעת הנחשים בספר הקודם. עד כמה שקו העלילה מרשים עליך את חשיבות המסע, אינקל רצה שהאפקט יהיה אנלוגי, וששחקנים לא יצטרכו להרוג את כל השבעה. ספר רביעי מתחיל אפוא באחד מחמישה מצבים, מחושב לפי משך הזמן שלקח לך להשלים את הספר השלישי, כמה נחשים הרגת וגורמים אחרים, כגון האם אתה אומר לשדון שחור קטן שהם האנאלנדר. המדינות משפיעות על הסבירות שה- Archmage שמע על השחקן, והמודעות ל- Archmage משפיעה על מצב ההתראה של השומרים על המפה. אם הם לא מקבלים התראה, אתה יכול להערים עליהם לחשוב שאתה סוחר או משהו כזה, אבל אם הם מקבלים התראה, גישות טריוויאליות נכשלות בתדירות גבוהה יותר. "תצטרך ללכת על גישות קשוחות יותר, מורכבות יותר או יותר ממוקדות קסם. [הסתכל אהעמוד הבאלקצת תובנה לגבי איך מפגש כזה בנוי.] מבחינה טונית זה אמור להרגיש שונה לגמרי, אבל אני לא חושב שיש סצנות מסיביות שקיימות או לא תלויות בנתון הזה. זה בעיקר דברים קטנים, כמו שומר לכאן או לכאן. אנחנו מנסים להפוך את זה לדבר שהוא משמעותי בקטנות בהרבה מקומות, ולא בגדול בכמה מקומות".
אז אפילו הבחירות הגדולות כוללות בסופו של דבר אפשרויות קטנות, אבל חווית השחקן משתנה בכל זאת. "כשאתה מתחיל לבנות משחק מתוך הרבה מהאפשרויות האלה אתה מקבל אפקט הצטברות קטן מאוד של דברים שנבנים. בחירות אינדיבידואליות לא חשובות אבל יש הסלמה וקנה מידה. אני חושב שהדרך שבה כשפים עובד היא ששחקנים מסתכלים על זה אחורה ומרגישים שהם קיבלו יותר מדי החלטות כדי שהם יוכלו לדמיין איך הם יכולים לעשות דברים אחרת".
התוצאה היא משחק של בחירות שבו אתה לא נאלץ ללכת רק בשביל התוצאות הטובות ביותר. אתה משחק סיפור במקום, והסיפור הזה הוא שלך.
בעמוד הבא, תוכלו לראות דוגמה לטקסט הסימון שכתב אינגולד לסצנה ב- Sorcery! 4. זה נוגע לשומרים נרגנים.
זוהי דוגמה למפגש עם מוצב שומר בכישוף! 4 הממחיש את צפיפות הבחירות והאפשרויות האפשריות שמגיעות עם המערכת של Inkle ועיצוב ההתראה של ספר ארבע.
כתוב בשפת הסקריפט של אינקל עצמה, Ink, זה די קריא. אתה יכול לנסות לכתוב בעצמך באמצעותהכלים של אינקל עצמו, שמגיעים עם מדריכים מצוינים. (אם כן, העצה שלי היא לחסוך הרבה כי זה קצת מתרסק.)
*-----------------------------------
The Open Side Gate
-----------------------------------*/
open_side_gate
- top
'What's your business?' demands the guard, one hand resting on her sword.
* 'I am a merchant.' --> merchant
* 'I am a traveller.' --> traveller
* 'I am a spy for the Archmage.' --> iamspy
* 'I bring your doom.' --> doom { not knock_gate-->laugh_along }
- merchant
'I am a merchant. I bring wares for the Archmage.'
{ disguised_as(MERCHANT):...
--> merchant_other_door
}
{night_time:'At this time of night?'} The guard looks at your pack. 'Not many wares in there, I'd wager.'
* 'What I have is valuable.' --> valuable
* 'I am only a simple trader.' --> simpletrader
* Smile --> shrug {up(empathy)}
* Stab her --> goforsword
- goforsword
You go for your sword as fast as you can manage, but the guard leaps back as the blade leaves your belt. -> fighting_gate --> fight_three_guards
- valuable
'What I have is valuable,' you reply.
'Is it now?' the guard answers, with clear interest. -> talk_guards_friendly-->most_come_with
- simpletrader
'I am only a simple trader,' you reply, humbly.
The guard pulls a face. -> talk_guards_friendly-->most_come_with
- shrug
You smile charmingly. The guards exchange glances.
'Says {he()}'s a merchant,' the first guard says.
{mampang_alarm_state <= LOW:... --> merchant_other_door
else:...
--> alarmed
}
- alarmed
The tall guard smacks the other on the head. 'Dung brain! {not defeated_wandering_serpents() && starting_book <= 3:You remember what the Serpents said?|You know our orders.} And you're just going to let some stranger pass{--> shrug: because they have a nice smile}?'
'I wasn't!' she protests.
'And you,' he says, turning to you and jamming a finger in your face, 'if you're not vetted at the main gate, you're not coming in. Be grateful I don't just run you through.'
-> side_gate_outcomes-->closingdoor
- merchant_other_door
'You're using the wrong door,' the taller guard remarks. 'Merchants go in through the front. This door is for guard patrols only.'
The other guard begins to close the door.
* 'The other gate was sealed.' --> sealed
* 'They sent me here.' --> mehere
* 'I'll go that way.' --> dothat
- sealed
'The other gate was sealed,' you reply quickly. 'There was no one there.'
'Ha,' replies the tall guard. 'I'm not surprised.' He frowns. -> talk_guards_friendly
- mehere
'They sent me here.'
'Did they?' the guard replies. 'They've always been lazy.' He frowns. -> talk_guards_friendly
- dothat
'I'll go that way,' you tell him, turning to go.
'No, wait, it's all right. You might as well come in,' the guard replies.
The other is less certain. -> talk_guards_friendly-->most_come_with
- iamspy
'I am a spy for the Archmage,' you reply.
'Are you now?' the tall guard demands, with some amusement. 'Good spy you are, coming out with it like that.{disguised_as_soldier(): And dressed like a guards{man()} too.}'
* 'Are you not to be trusted?' --> areyounot
* 'Let me in quickly.' --> letmein
* 'Why do you think I avoided the main gate?' --> maingate
- areyounot
'Are you not to be trusted?'
'Now don't start that kind of thing,' the guard replies. 'We're all loyal to the Archmage, every woman and man, and we won't have any one making trouble.'
-> side_gate_outcomes-->closingdoor
- letmein
'Let me in quickly.'
'Not a chance. {mampang_alarm_state >= LOW:There are rumours of enemy agents headed our way|You're some vagrant looking for refuge. Well, Mampang is no refuge}.'
-> side_gate_outcomes--> closingdoor
- maingate
'Why do you think I avoided the main gate?' you reply.
This seems to land with the guard, who thinks for a moment. 'A spy, are you?' -> side_gate_pretend_spy
- traveller
'I am a traveller. I've heard about the wonders of Mampang, and wanted to see it.'
A second, tall guard walks over as you speak. The two burst out laughing.
'A traveller, here?' The tall guard says. 'What a story! You're not getting in here, fool. {mampang_alarm_state <= LOW: I haven't heard of any disturbances, but I'm not going to take chances.|We were warned to expect thieves coming to steal the Crown.} Get away!' -> side_gate_outcomes--> closingdoor
- doom
'I bring your doom,' you reply coldly.
-> side_gate_outcomes-->attack