בינה מלאכותית מפרקת משחקי וידאו בקנה מידה נרחב, ומעוררת שאלות על עתיד הקוד הסגור
פוסט בבלוג שעורר דיון ער ב-Hacker News מתאר גל של משחקים ישנים שמפורקים בעזרת AI לקוד מקור ומועברים למערכות מודרניות, לעיתים תוך ימים בלבד. הכותב, שמעיד על עצמו שאינו אוהב AI, מכנה את התופעה "מגניבה" ו"מפחידה" גם יחד: אותה טכנולוגיה שמשמרת משחקים נשכחים עלולה לאיים על כל תעשיית התוכנה.
משחקי וידאו ישנים, חלקם נטושים ובקושי רצים על מחשבים מודרניים, זוכים לחיים חדשים בזכות כלי AI שמבצעים הנדסה לאחור לקוד שלהם. כך טוען פוסט שפורסם ב-14 באוקטובר בבלוג popcar ועורר דיון ב-Hacker News. הכותב מתאר את התופעה כמרגשת ומטרידה בעת ובעונה אחת.
מה זה decompilation, ולמה זה היה כל כך קשה
תוכנה מגיעה למשתמש בדרך כלל כקובץ מקומפל, כלומר קוד מכונה ולא קוד המקור שכתבו המפתחים. decompilation (הידור לאחור) הוא תהליך שבו משחזרים מהקובץ המקומפל קוד מקור. כשיש קוד מקור, אפשר לשנות אותו ולהדר אותו מחדש לכל פלטפורמה: מחשב, טלפון או, כלשון הכותב, "מקרר חכם".
לדבריו, עד לאחרונה העבודה הזאת נעשתה ביד ונמשכה שנים, ורק מאמצים קהילתיים גדולים הגיעו לסיומה. הוא מזכיר שני פרויקטים מוכרים שנעשו ביד: OpenGOAL, שפירק את משחקי Jak and Daxter, ו-Ship of Harkinian, שעשה זאת למשחקי Zelda: Ocarina of Time ו-Majora's Mask. בזכותם נוצרה סביב המשחקים האלה סצנת מודים (שינויים שמכינים שחקנים) פעילה.
לפי הפוסט, מודלים ותהליכי עבודה חדשים של AI עושים היום את אותה עבודה "בתוך ימים, ואולי פחות". הקוד שמתקבל רחוק מלהיות נקי כמו קוד שנכתב ביד, אבל הוא עובד. הכותב מודה שחלק מההסבות הן "בלגן", אבל לדעתו רובן מרשימות ויציבות.
הדוגמאות
הדוגמה המרכזית בפוסט היא IsaacRecomp, הסבה ל-C++ של The Binding of Isaac בגרסת ה-Flash המקורית מ-2011. המשחק המקורי היה נעול על 30 פריימים לשנייה ורץ ברזולוציה נמוכה ומטושטשת. לפי הכותב, בגרסה החדשה הוא רץ ברזולוציית 1440p טבעית, עם אינטרפולציה חלקה ל-165 פריימים לשנייה, וכל זה נעשה אוטומטית בתוך כמה ימים. שיפורים כאלה, הוא מציין, בדרך כלל אינם אפשריים באמולטור, כלומר תוכנה שמדמה את החומרה המקורית.
הוא מונה עוד דוגמאות: Colin McRae Rally 2.0, ו-Final Fantasy Tactics Advance שרץ עכשיו בכל יחס מסך ומאפשר זום דינמי. יש גם הסבה של Metroid Prime, והסבה של Ratchet and Clank אמורה להסתיים בקרוב. לדבריו כבר יש מאות פרויקטים כאלה, ומדי יום נוספים חדשים.
הצד המפחיד
הכותב מדגיש שהוא בדרך כלל לא אוהב AI, ובכל זאת מזהיר שהשלכות התופעה רחבות בהרבה מעולם המשחקים. אם AI מסוגל לפרק כל תוכנה, הוא טוען, חברות יוכלו לגנוב מהמתחרות שלהן, ואפליקציה או משחק בתשלום עלולים להפוך לקוד פתוח בניגוד לרצון יוצריהם. לטענתו, גם אם הדבר ייאסר, יהיה קשה מאוד להוכיח שקוד מסוים הועתק.
הוא מפנה לאתר סאטירי שמציג כיצד אפשר להעתיק קוד בעזרת AI ולטעון שהוא נכתב ב-clean room. זו שיטה מוכרת, שבה צוות כותב מחדש תוכנה בלי גישה לקוד המקורי כדי לעקוף טענות להפרת זכויות יוצרים. המשמעות, לפי הכותב, היא שייתכן שרישיונות קוד פתוח כבר אינם ניתנים לאכיפה, ושתוכנות וחומרה קריטיות חשופות לפריצה יותר משנדמה.
הכותב צופה שבחודשים הקרובים תפורק ותופץ אפליקציה מרכזית כלשהי, ושהחברות יגיבו בחריפות.
למה זה חשוב
החשיבות של הפוסט היא בעיקר ההקשר שהוא נותן. שימור משחקים הוא מטרה שקשה להתנגד לה, אבל הטכנולוגיה עצמה ניטרלית. ככל הנראה, הוויכוח המשפטי והמסחרי על הנדסה לאחור, שעד כה נבלם בגלל העלות הגבוהה בזמן ובכוח אדם, יחריף כשהעלות הזו יורדת. הדיון שהפוסט עורר ב-Hacker News מרמז שהשאלה מטרידה גם את קהילת המפתחים עצמה.