שבוע שעבר,דיסי מבוכיםהיוצר טרי קבאנה חגג 10 שנים למשחק קודם,VVVVVV, מאתשחרור קוד המקור שלו לציבור. במונחים של הדיוט, זה אומר שהאדם הממוצע יכול כעת להסתכל על איך המשחק בנוי, כי ניתן לעיין בכל שורת קוד.
זה לא מסוג הדברים שקורה לעתים קרובות, ולפי המדד הזה בלבד, הערך של שחרור המידע הזה הוא עצום. אנשים יכולים ללמוד מזה, או לשפר אותו. חלק מהתגובות לVVVVVV'sקוד המקור היה זוועה, שכן הצופים בוררים דברים שהיו יכולים להיכתב טוב יותר. Cavanagh אולי חזה את זה - בפוסט הבלוג שלו שהכריז על השחרור, הוא מודה, "VVVVVVהוא לא משחק מתוחכם מבחינה טכנית! אפילו בסטנדרטים של מפתחי אינדי בעלי למידה עצמית, זה סוג של בלגן".
יש תפיסה שגויה שקידוד הוא מטבעו אלגנטי ומתוחכם, כי אחרי הכל, זה בערך כמו לכתוב היגיון, לא? הם לא קוראים לזה מדעי המחשב מסיבה כלשהי? אבל המציאות הרבה יותר מסובכת מזה. פעם אחר פעם, סיפורי פיתוח של משחקי וידאו מגלים שמכיוון שלמשחקי וידאו יש כל כך הרבה חלקים נעים שונים, מעיצוב משחקים ועד סאונד, שלעתים קרובות דבריםאל תתחברו עד השנייה האפשרית האחרונה—אם הם יתאחדו בכלל.
"כמעט כל משחק שעבדתי עליו נשלח בדיוק ברגע שבו פיסות היריקה והתפילה שמחזיקות את כל המבנה ביחד נמצאים על *סף* קריסה", כתב מפתח המשחק ג'יימס פאטון, ב-דיון בטוויטר על קוד משחק.
כמעט כל מפתחי משחקים שאי פעם דיברתי איתם אומרים את אותו הדבר.
"משחקים הם לא רק פיסת תוכנה רגילה, הם חיה מורכבת שדורשת הרבה דיסציפלינות שונות כדי לשלוח בהצלחה, ולעיתים קרובות על צירי זמן הדורשים קורבנות", אמר מפתח המשחקים ג'יימס סימפסון באימייל. "אני יודע שמפתחים רבים יוצאים מהצורה בניסיון להפוך את הקוד שלהם למושלם. קוד מקור פתוח כמו זה מבהיר שאתה יכול לשלוח בהצלחה ללא רמת השלמות הזו."
במקרה זה, יש חלק מסוים שלVVVVVVקוד מקור שמעורר דיון בגלל הבלגן המוחלט שלו. בעיקרון, זה משהו שעוזר להחליט באיזה מצב נמצא המשחק, בין אם זה קטע או קטע של דיאלוג. בדרך כלל, רבים מהמצבים הללו עשויים להיות מקובצים בנפרד - חלקי המיני-משחק כתובים באזור אחר מאשר למשל, מכונאי קפיצה - אבל לא במקרה הזה. כדוגמה אקראית, נראה של-Cavanagh יש עשרות מצבי משחק המתייחסים לקטעי חיתוך המפוזרים בין חלקי הקוד שעוסקים גם בדברים כמו מצבי משחק והתפריט הראשי.
זאק גייג', שעבד על משחקי מובייל כגוןPocket-Run בריכתובאמת שחמט רע, שבר את הצהרת ה-switch הידועה לשמצה עבור Polygon בכך שהוא "הדוגמה המושלמת למשהו שטרי כנראה לא ידע עליו כשהתחיל לכתוב את המשחק: כמה קטעים יהיו, איך התפריט הראשי יעבוד ואיך הרבה מצבי קצה פוטנציאליים מוזרים של מצבים מוזרים עשויים להיות."
אם Cavanagh ניסה לקודד משהו ללא רבב, אולי הוא היה עוצר כדי לשנות את האופן שבו הוא מרכיב אותו כך שהוא היה מאורגן טוב יותר. אבל במקום זאת, הוא בחר ללכת קדימה ולעשות מה שהוא יכול, וגרם לחלק מפלצתי אחד של הקוד להתמודד עם מאות אפשרויות שונות.
"במקום לחזור אי פעם לאחור כדי לארגן את זה, טרי פשוט החליט משהו כמו, 'היי, אני פשוט אמשיך להוסיף מדינות להצהרת המתג הענקית הזו כשאני נתקל בצורך לקבל אותן'. וזה לגמרי 100% נורמלי, ובעצם חיוני למשלוח משחק."
גייג' מכיר מקרוב את סוג החשיבה הזה - הוא אומר לפוליגון שמסתכל אחורה על משחק ההיטדיג מגוחך,הוא "ממש אין [אין] מושג איך הקוד הזה עובד כי הוא כתוב כל כך גרוע." אפילו חברים אחרים בצוות לא לגמרי מבינים איך המשחק שלהם עובד.
ואתה יודע מה?דיג מגוחךעדיין זכה בפרסים ועשהכמעט מיליון דולר בעוד כמה חודשים.ברור שלמפתחים צריך להיות אכפת מבאגים שוברי משחקים, או כל דבר שמפריע להנאה של שחקן מהחוויה, אבל כמו שאומרים, מושלם הוא האויב של הטוב.
"תמיד יהיו חלקים לא מתוכננים, וצעידה לאחור כדי לארגן את הקוד בצורה קוהרנטית פירושה זמן שנועד לא לכתוב קוד חדש, לבנות תכונות חדשות או לעשות אמנות", אומר גייג'.
אבל עם כל הרמת הגבות שזהVVVVVVעלה במדיה החברתית, נראה שלקוואנה עדיין יש חוש הומור טוב על כל זה.
"מה אני יכול להגיד?" הוא כתב בפוסט קוד המקור בבלוג. "הייתי צעיר ומעוניין יותר לקבל משהו על המסך מאשר ליישם אותו כמו שצריך. אולי הדבר הכי טוב בVVVVVV'sקוד המקור הוא שהוא מהווה הוכחה למה שאתה יכול לפרוץ יחד גם אם אתה לא מתכנת במיוחד."