
משחק אמיגה מ-1993 נבנה מחדש ב-Godot: מודל שפה קרא 72,758 שורות אסמבלי 68000
Babylonian Twins של רבאח שיהאב, שנכתב בבגדד ב-1993 עבור Amiga 500, הועבר ל-Godot 4 בידי סוכן AI שקרא את קוד האסמבלי המקורי. הכותב מתאר היכן המודל צדק והיכן טעה במשך שבועות.
משחק מבגדד, שנבנה מחדש
ב-1993, בבגדד, בנה רבאח שיהאב את Babylonian Twins על Amiga 500: חצי מגה-בייט זיכרון, בלי כונן קשיח, אסמבלי 68000 טהור שנכתב ביד; את הגרפיקה צייר מורתדא סלמאן ואת המוזיקה הלחין מאהיר אל-סלמאן. תחת סנקציות, עם חשמל לכמה שעות ביום, הצוות תכנת את החומרה ישירות מתוך עותק אחד של Amiga Hardware Reference Manual. המשחק היה למוצר המסחרי הראשון שנעשה בעיראק, אבל קומודור קרסה ומפיצים נרתעו; פורום אמיגה מצא אותו על מדף ב-2008, אחרי שאחיו של הכותב העלה סרטונים ליוטיוב. העברה ידנית לאייפון ב-2010, על 34,000 שורות C++ שנכתבו מאפס, חצתה שני מיליון הורדות.
שלוש משימות מותנות
בפוסט שפורסם ב-1 בספטמבר כותב שיהאב שהוא לא עשה את ההעברה החדשה ל-Godot 4: הוא ביקש אותה, שיחק בה כל ערב, וקיבל את ההחלטות שהיה צריך מישהו שהיה שם ב-1993. את הקריאה עשתה מודל שרץ ב-Claude Code, עם טרמינל וגישה לקבצים שלו. המשימה הראשונה, ה"בטוחה", הייתה להעביר את המנוע שלו מ-2010 ל-Godot 4: עשרים ואחת דקות עברו מפרויקט ריק לדמות שאפשר לשחק בה, וב-02:15 הפרויקט כבר ייצא ל-macOS, ל-iOS ול-Android. כיוון התחושה של התנועה — מסלולי קפיצה, תזמון טרמפולינה, זיהוי פגיעות — לקח כשלושה ימים נוספים.
המשימה השנייה הייתה 72,758 שורות האסמבלי המקוריות ב-26 קבצים, שנכתבו למכונה שירדה מפס הייצור לפני עשורים, כמעט בלי הערות. לפני שהעבירה משהו, המודל גרם למקורות להיבנות שוב עם vasm והמשיך עד שהפלט תאם את הבינארים שיצאו לשוק בייט אחר בייט — חמש-עשרה דקות אחרי הייבוא. פורמט השלבים, שהתנגד שנה קודם לכן, פוענח הפעם במעבר אחד בלי רמזים, והשלבים שנרנדרו מחדש תאמו את הצילומים של הכותב מ-2020 באפס פיקסלים שונים. המשימה השלישית — הרצת המשחק מ-1993 בתוך הגרסה המודרנית, עם מעבר המנוע ל-50 הרץ עבור הגרסה הרטרו — הסתיימה בערב אחד.
היכן טעתה, ומה יוצא עכשיו
לא הכול שרד את הבדיקה. בשלב השני שחקנים חטפו מכות מאויב שעמד שלושה-עשר אריחים מעליהם, עם סלע מוצק ביניהם: הגרסה החדשה שמרה על הגבול התחתון של בדיקת הטווח האנכי ואיבדה את העליון, כך שדחיפה שנועדה לשלוש שורות עברה את כל עמודת המפה, דרך הרצפה. במקום אחר, רינדור של שכבת אריחים נסתרת השאיר כל מעבר סודי פתוח, עדכון אויבים לפני שחקנים ספר קפיצת טרמפולינה פעמיים, ומפתח דלת שנרשם כארבעה ערכים מופרדים בפסיק נקרא כמפתח בודד — ויציאת ההדרכה לא נפתחה. המודל סימן אי-בהירות בגיליונות הספרייטים הפלנריים של אמיגה ושאל במקום לנחש. ביקורת של כוכב אחד שהיא העלתה — הדלת נפתחת אבל השלב לא מסתיים — תיארה פגם אמיתי שתוקן בגרסה 2.0.3.
הדיסקטים המקוריים מ-1993 חינמיים ב-itch.io; ה-Definitive Edition כבר ב-iOS וב-Android, ב-Steam יש דמו חינמי, והגרסה המלאה ל-Windows, Mac ו-Linux אמורה לצאת בסתיו הקרוב — כשהמשחק מ-1993 כלול בה כאפשרות הרצה שנייה. שיהאב גם מציין שהפוסט נוסח מפתקיו בידי המודל והוא ערך אותו ביד במשך שבוע, ושהטענה היחידה שהוא לא בדק בעצמו היא ההסבר של המודל ל-108 בייטים עקשניים בבינארים.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.