2003 yılından kalma tam ölçekli bir gerçek zamanlı strateji oyununun bir iPhone üzerinde yerel (native) olarak çalıştığını izlemek, mümkün olan en iyi şekilde biraz tuhaf hissettiriyor. Tanklar çöl haritalarında ilerliyor. Generaller emirler yağdırıyor. İkmal hatları, orijinal kod derlendiğinde henüz var olmayan dokunmatik ekranlar boyunca uzanıyor. Yine de buradayız. Google AI Studio'da ürün ve tasarıma liderlik eden Ammaar Reshi, kısa süre önce Command & Conquer: Generals Zero Hour'u aldı ve yaklaşık bir televizyon dizisini bir oturuşta bitirme süresinde yerel bir iOS sürümü inşa etti. Proje emülasyon hilelerine dayanmıyor. Apple silicon üzerinde çalışıyor, Metal dilini konuşuyor ve ne kadar eski yazılımın aynı yolu izleyebileceği konusunda ciddi sorular uyandırıyor.
Aslında Ne İnşa Edildi
Bu bir wrapper (sarmalayıcı) değil. Yirmi yıl öncesinin Windows PC'siymiş gibi davranan bir emülatörün içinde çalışmıyor. Oyun ARM64 için derleniyor ve doğrudan Apple'ın Metal grafik API'si ile iletişim kuruyor. Bu ayrım önemli. Emülasyon kare hızı (frame) kaybettirir. Pil tüketir. Bir mobil çip, patlamaları çizmek yerine enerjisinin çoğunu eski komutları tercüme etmeye harcayana kadar soyutlamanın üzerine soyutlama ekler. Reshi'nin portu tüm bunları devre dışı bırakıyor.
Orijinal oyun, iPhone'dan birkaç yıl öncesine dayanan bir Microsoft grafik hattı olan DirectX 8 ile piyasaya sürülmüştü. Bu işleme (rendering) komutlarını Metal üzerinde çalıştırmak basit bir "bul ve değiştir" işi değildir. DirectX 8 ve Metal belleği farklı şekilde organize eder. Shader'ları farklı şekilde işlerler. Farklı donanım mimarilerini varsayarlar. Reshi, oyunun grafiklerini bir dizi ara çeviri zincirinden geçirmek, alttaki görsel mantığı bozmadan eski DirectX çağrılarını Metal'in anlayabileceği bir şeye dönüştürmek zorundaydı. Sonuç; tüm Campaign, Skirmish ve Generals Challenge modlarını, arayüze eşlenmiş özel dokunmatik kontrollerle çalıştırıyor. Üsler kurabilir ve başparmaklarınızla Scud fırtınaları başlatabilirsiniz.
Sınırlar var. iPad üzerindeki uzun oyun oturumları, bellek baskısı arttığında uygulamanın çökmesine neden olabiliyor. İlk yerel portlar genellikle bu tür izler taşır ve bu, birkaç saatlik yapay zeka destekli hata ayıklamanın (debugging), yirmi yıllık varlık yükleme (asset loading) modellerini tam olarak optimize edemeyeceğinin dürüst bir hatırlatıcısıdır. Yine de çekirdek motor kendi başına ayakta duruyor.
İş Akışı: Claude Code, Fable 5 ve Kırk Dakika
Manşet hız olsa da, asıl dikkat çekmesi gereken şey arkasındaki mekaniklerdir. Reshi, Anthropic'in Claude Code aracını Fable 5 adlı bir araçla birlikte kullandı. İlk derleme yaklaşık kırk dakika sürdü. Hata ayıklama ve iyileştirme ise birkaç ek saate yayıldı. Projenin tüm süresi bu kadardı.
Bunun neyin yerini aldığını düşünün. Bu kapsamdaki manuel bir port, normalde bir programcının sadece orijinal derleme sistemini haritalandırmak için günlerini harcamasıyla başlardı. Sonra renderer'ın yeniden yazılması gelir. Sonra shader çevirisi. Sonra ARM64 için mimari ayarlamalar. Ardından girdi yönetimi, ses, bellek yönetimi ve eski kodu yeni platformlara karşı bu kadar düşmanca kılan o bitmek bilmeyen küçük sorunlar gelir. Aylar bu süreçte yok olup gider. Reshi, kendisi yönlendirirken ajansal (agentic) bir yapay zeka aracının kaba kuvvet çeviri işini halletmesine izin vererek süreci bir öğleden sonraya sığdırdı.
Yoğunluk faturalara da yansıdı. Reshi, iki günlük çalışma boyunca tüm Claude Max kotasını tüketti. Uzun bir kodlama oturumu sırasında API kredilerinin yok oluşunu izleyen herkes bu hissi bilir. Buradaki fark, bu tüketimin bir avuç deneysel betik yerine, piyasaya sürülebilir kalitede yerel bir port üretmiş olmasıdır.
Dikkat çekmeye değer profesyonel bir alt hikaye de var. Reshi, Google DeepMind'da çalışıyor. Google'ın kendi modellerine yönelebilirdi. Yönelmedi. Göreve uygun olduğu için Anthropic'in Claude modelini seçti. Projeyle ilgili kendi yorumlarında, mümkün olan en iyi çözümü oluşturmaya odaklanırken rekabete saygı duyulabileceğini açıkça belirtti. Bu tutum yayılıyor. Alanın zirvesindeki mühendisler modelden bağımsız (model agnostic) hale geliyorlar. Yapay zeka araçlarına, programlama dillerine veya bulut sağlayıcılarına yaklaştıkları gibi yaklaşıyorlar: Şirket kimliğinizdeki değil, işe en uygun olanı seçin.