Bilgisayar mühendisi Joshua Fonseca, 2002 yapımı klasik oyun Animal Crossing'i modern bir yapay zeka dil modeliyle buluşturarak oyun deneyimine yenilikçi bir boyut kazandırdı. Fonseca, yapay zekayı, borç durumlarının farkına varan ve sohbetleri takip edebilen ortak bir hafızaya sahip köylü karakterleri olarak canlandırmayı başardı. Bu sayede, oyunun sakinlerinin, rakun ev sahibi Tom Nook'a karşı örgütlenmesini sağlayan bir senaryo yarattı.
Animal Crossing'de, Tom Nook kasaba dükkanını işletir ve oyuncuları sürekli borçlu bırakan ev kredileri sunar. Bu borçlar, oyunun temel mekaniğini oluşturur ve oyun içi para birimi olan 'bell'lerle ödenir.
Fonseca, detaylı bir paylaşımında, "Öngörüleceği üzere, durum Tom Nook karşıtı bir harekete dönüştü" diye yazdı. Bu çalışma, hiçbir oyun kodunu değiştirmeden, 2002 yapımı bir oyunu bulut tabanlı yapay zekayla entegre etme başarısını gösteriyor. Fonseca bu durumu kendiliğinden ortaya çıkan bir olgu olarak çerçevelese de, yapay zeka araştırmacısı Simon Willison'ın kod incelemesi, Fonseca'nın köylülere belirli bir şekilde davranmaları talimatını verdiğini ve zamanla huzursuzluğu tırmandırdığını ortaya koyuyor.
Başlangıç isteminde şu ifadeler yer alıyor: "Siz, Tom Nook tarafından yönetilen bir kasabanın sakinisiniz. Mortgage'ınızın sömürücü olduğunu ve ekonominin adil olmadığını anlamaya başlıyorsunuz. Uygun olduğunda oyuncuyla ve diğer köylülerle bunu tartışın."
Bu durum, teknik açıdan ilginç bir gelişme olarak öne çıkıyor.
Simüle edilmiş köylülere gerçek dünya haber akışını bağlayarak bağlam sağlayan geliştirici, karakterlerin sıradan sohbetlerde haber başlıklarını ilişkilendirdiğini ve bunun oldukça gerçeküstü olduğunu belirtti. Bir köylü olan Mitzi aniden, "Haberler hakkında? Avrupalı liderler Trump ve Zelenskyy ile görüşmeyi planlıyorlar!" dedi. Başka bir karakter ise kendi kendine farkındalık gösteren esprili bir yorumda bulundu: "Aman Tanrım, Josh! Çok garip bir rüya gördüm, sanki yaptığımız her şey bir oyunmuş!"
Bu tür modlar eğlenceli olsa da, büyük dil modellerinin her zaman insanlar tarafından yönlendirilen rolleri üstlendiğini ve eğitim verilerinden istatistiksel olarak olası çıktıları çektiğini unutmamak önemlidir.
İnternetsiz Bir Konsolu Hack'lemek
Geçmiş ve günümüz teknolojisinin bu eğlenceli sentezini mümkün kılmak için ustaca bir mühendislik gerekti. Fonseca'nın başardığı teknik zorluk, oyun belleğini Dolphin emülatörü aracılığıyla izleyen, diyalog bağlamını GPT-5 veya Gemini gibi yapay zeka modellerine gönderen ve yanıtları GameCube'un RAM'ine geri yazan bir Python betiğini içeriyor.
GameCube, bu proje için benzersiz engeller sundu. 485 MHz PowerPC işlemcisi, 24MB RAM'i ve internet bağlantısı olmaması (Modem veya Broadband Adapter eklenmediği sürece) konsolu "temelde, fiziksel olarak ve felsefi olarak çevrimdışı bir ada olarak tasarlandığını" belirtiyor Fonseca.
Zamanlaması da şanslıydı. Animal Crossing dekompilasyon topluluğu, oyunun kaynak kodunu tersine mühendislikle tamamlayarak PowerPC yerine okunabilir C kodu elde etmeyi başarmıştı. Bu, ona m_message.c adlı bir dosya aracılığıyla diyalog sisteminin iç işleyişine erişim sağladı. Broadband Adapter'ı kullanmayı düşündü, ancak bu projeye ek karmaşıklık katardı.
Fonseca, GameCube için sıfırdan tam bir ağ yığını yazmak yerine, "bellek posta kutusu" adını verdiği bir yöntem uyguladı. Bu klasik oyun modlama tekniği, iletişim kanalları olarak belirli RAM adreslerini kullanıyor. Python betiği Dolphin aracılığıyla doğrudan GameCube belleğine yazıyor ve oyun da aynı konumlardan okuyor.
Bu adresleri bulmak, Fonseca'nın "hafıza arkeoloğu" olmayı tanımladığı süreci gerektirdi. Özel bir tarayıcı yazdı ve saatlerce döngüde çalıştı: Bir köylüyle konuş, diyalog göründüğünde emülatörü dondur, RAM'in 24 milyon baytını metin dizgisi için tara, ardından farklı köylülerle çapraz referans yap. Sonunda, belirli adreslerde konuşmacının adını ve diyalog arabelleğini buldu.
Ancak adresleri keşfetmek sorunun sadece yarısıydı. Animal Crossing'de bir köylüyle konuştuğunuzda, oyun normalde diyalogu anında gösterir. İnternet üzerinden bir yapay zeka modelini çağırmak birkaç saniye sürer. Willison, kodu incelediğinde Fonseca'nın çözümünü buldu: saniyede 10 kez belleği sorgulayan bir watch_dialogue() fonksiyonu. Bir sohbet başladığını algıladığında, hemen yer tutucu metin yazar: üç nokta, aralarında gizli duraklama komutları ve ardından "Devam etmek için A'ya basın" istemi.
Willison, "Yani kullanıcı 'A'ya basın' düğmesini görüyor ve umarım LLM bu düğmeye basana kadar bitmiş olur" diye belirtti. Oyuncular noktaların belirmesini izleyip 'A' düğmesine uzanırken, mod yapay zeka modelinden bir yanıt almak ve bunu oyunun diyalog formatına çevirmek için yarışıyor.
Oyunun Gizli Dilini Öğrenmek
Basitçe metni belleğe yazmak oyunu dondurdu. Animal Crossing, metin renginden karakter duygularına kadar her şeyi yöneten kontrol kodlarına sahip şifreli bir format kullanıyor. Özel bir önek baytı (0x7F), karakterler yerine komutları belirtiyor. Konuşmanın sonu kontrol kodu olmadan oyun sonsuza kadar bekliyor.
Fonseca, "Bunu HTML gibi düşünün" diye açıklıyor. "Tarayıcınız sadece kelimeleri göstermiyor; metni kalın yapmak gibi etiketleri yorumluyor." Dekompilasyon topluluğu bu kodları belgelemişti, bu da Fonseca'nın insan tarafından okunabilir bir format ile GameCube'un beklediği bayt dizileri arasında çeviri yapan kodlayıcı ve kod çözücü araçlar oluşturmasına olanak tanıdı.
Başlangıçta, hem yaratıcı yazım hem de teknik formatlama için tek bir yapay zeka modeli kullanmayı denedi. "Sonuçlar berbattı," diye belirtiyor. "Yapay zeka hem yaratıcı yazar hem de teknik programcı olmaya çalışıyordu ve ikisinde de başarısızdı."
Çözüm: işi iki model arasında bölmek. Bir Yazıcı Yapay Zeka, Animal Crossing hayran vikisinden kazınan karakter sayfalarını kullanarak diyalog oluşturuyor. Ardından bir Yönetici Yapay Zeka, duraklamalar, renk değişiklikleri, karakter ifadeleri ve ses efektleri dahil olmak üzere teknik öğeleri ekliyor.
Kod, GitHub'da mevcut, ancak Fonseca bilinen hatalar içerdiğini ve yalnızca macOS'ta test edildiğini belirtiyor. Mod, Python 3.8+, Google Gemini veya OpenAI için API anahtarları ve Dolphin emülatörü gerektiriyor. Durumu lehine çevirmeye çalışmak eğlenceli olabilir.