
1993 Amiga oyunu Godot'ta yeniden kuruldu: bir LLM 72.758 satır 68000 assembly okudu
Rabah Shihab'ın Bağdat'ta 1993'te Amiga 500 için yazdığı Babylonian Twins, özgün assembly kaynaklarından çalışan bir AI ajanı tarafından Godot 4'e taşındı. Yazar, modelin nerede haklı çıktığını ve haftalarca nerede yanıldığını anlatıyor.
Bağdat'tan bir oyun, yeniden inşa edildi
1993'te Bağdat'ta Rabah Shihab, Babylonian Twins'i bir Amiga 500'de geliştirdi: 512 kilobayt RAM, sabit disk yok, elle yazılmış saf 68000 assembly; grafikleri Murtadha Salman çizdi, müziği Mahir AlSalman besteledi. Yaptırımlar altında, günde birkaç saat elektrikle çalışan ekip, donanımı tek bir Amiga Hardware Reference Manual kopyasından doğrudan programladı. Oyun Irak'ta üretilen ilk ticari ürün oldu, ancak Commodore çöktü ve yayıncılar uzak durdu; bir Amiga forumu onu 2008'de, yazarın kardeşinin YouTube'a yüklediği videolardan sonra buldu. 2010'da iPhone'a elle yapılan ve sıfırdan yazılmış 34.000 satır C++ üzerinde çalışan taşıma, iki milyondan fazla indirmeye ulaştı.
Koşullu üç görev
1 Eylül'de yayımlanan yazıda Shihab, Godot 4'e yapılan yeni taşımayı kendisinin yapmadığını yazıyor: işi o istedi, her akşam oynadı ve 1993'te orada olmuş birine ihtiyaç duyan kararları o verdi. Kodu okuma işini Claude Code içinde çalışan, terminale ve dosyalarına erişimi olan bir model üstlendi. İlk ve "güvenli" görev, kendi 2010 motorunun Godot 4'e taşınmasıydı: boş bir projeden oynanabilir karaktere yirmi bir dakika geçti ve saat 02:15'te proje macOS, iOS ve Android'e aktarım yapıyordu. Hareketin doğru hissettirilmesi yaklaşık üç gün daha sürdü.
İkinci görev, on yıllar önce üretimden kalkmış bir makine için yazılmış, neredeyse hiç yorum içermeyen 26 dosyada 72.758 satır özgün 68000 assembly'ydi. Model, hiçbir şeyi taşımadan önce bu kaynakları vasm ile yeniden derledi ve çıktı piyasaya sürülen ikili dosyalarla bayt bayt eşleşene kadar devam etti — içe aktarmadan on beş dakika sonra. Seviye biçimi bu kez tek geçişte, ipucu olmadan çözüldü ve yeniden işlenen seviyeler yazarın 2020'de aldığı görüntülerle sıfır farklı pikselde eşleşti. Üçüncü görev — 1993 oyununu modern sürümün içinde çalıştırmak ve motoru retro sürüm için 50 Hz'e geçirmek — tek akşamda tamamlandı.
Nerede yanıldı, şimdi ne çıkıyor
Her şey incelemeden geçemedi. İkinci seviyede oyuncular, aralarında sağlam kaya bulunan ve on üç karo yukarıda duran bir düşmandan darbe alıyordu: yeni sürüm dikey menzil kontrolünün alt sınırını koruyup üst sınırını düşürdü, böylece üç satır için tasarlanan itme harita sütununun tamamı boyunca, zeminin altından geçiyordu. Başka yerlerde gizli bir karo katmanının işlenmesi bütün gizli geçitleri açık bıraktı ve düşmanların oyunculardan önce güncellenmesi trambolin zıplamasını iki kez saydı. Model, Amiga'nın düzlemsel sprite sayfalarındaki belirsizliği işaretledi ve tahmin etmek yerine sordu. Ortaya çıkardığı tek yıldızlı bir yorum — kapı açılıyor ama seviye bitmiyor — gerçek bir kusuru tanımlıyordu ve 2.0.3 sürümünde düzeltildi.
1993'ün özgün diskleri itch.io'da ücretsiz; Definitive Edition iOS ve Android'de, Steam'de ücretsiz bir demo var ve Windows, Mac ve Linux için tam sürüm bu sonbaharda çıkıyor — 1993 oyunu da ikinci bir başlatma seçeneği olarak içinde. Shihab ayrıca yazının kendi notlarından model tarafından taslaklandığını ve bir hafta boyunca elle düzenlediğini belirtiyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.