Geri Dön
Pokemon Emerald tarayıcıda WebAssembly ile 100 bin FPS'te çalıştı
SiTech AI Team3 dk okuma

Pokemon Emerald tarayıcıda WebAssembly ile 100 bin FPS'te çalıştı

2004 çıkışlı Game Boy Advance oyunu Pokemon Emerald artık bir tarayıcı sekmesinde çalışıyor. pokeemerald-wasm emülatör değil: pret/pokeemerald kod çözümünü Emscripten ile WebAssembly'ye yeniden derliyor ve 100 bin FPS'e ulaşıyor.

2004'te Game Boy Advance için çıkan Pokemon Emerald artık bir tarayıcı sekmesinde çalışıyor; yaygın aktarıma göre saniyede 100.000 kare hızında. pokeemerald-wasm projesi Haziran 2026 başında Hacker News'te gündeme geldi ve pokeemerald.com adresinde barınıyor; GitHub deposu 29 Mayıs 2026'da oluşturuldu ve o günden bu yana yüzlerce yıldız topladı.

Emüle edilmiyor, derleniyor

Başlıktaki sayıyı yanlış okumak kolay. pokeemerald-wasm bir Game Boy Advance emülatörü değil: konsolun ARM7 işlemcisini, bellek haritasını veya ses yongalarını taklit etmiyor. Bunun yerine pret/pokeemerald'ı — oyunun topluluk tarafından okunabilir C ve ARM assembly koduna çözülmüş hâlini — alıp bu kaynak kodu Emscripten ile WebAssembly'ye yeniden derliyor ve üzerine bir tarayıcı arayüzü ekliyor. Zincir şöyle işliyor: özgün ROM → çözülmüş C kodu → WebAssembly → tarayıcı. Bu zincirin hiçbir adımında GBA donanımı yeniden oluşturulmuyor.

Hızı mümkün kılan tam olarak bu fark. Bir emülatör her komut için yorumlama maliyeti öder ve donanım zamanlamasını kare kare taklit eder; yeniden derlenen kod ise doğrudan oyunun kendi mantığıdır ve ana makine onu yerel olarak yürütür. Hacker News tartışmasında bu açıkça dile getirildi: sonuç, Wasm tabanlı bir emülatör değil, Wasm'a derlenmiş oyunun kendisi.

"100k FPS" gerçekte neyi ölçüyor

Projeyi ele alan teknik incelemelere göre 100.000 FPS, kare sınırı kaldırıldığında oyun mantığının ulaştığı iş hacmini ifade ediyor; saniyede çizilen 100.000 görüntüyü değil. Özgün donanım 60 Hz yenileme hızına bağlıydı; sınırın kalkması yeniden derlenen döngünün işlemcinin izin verdiği en yüksek hızda çalışmasını sağlıyor, dolayısıyla bu sayı emülasyona kıyasla performans payının bir ölçüsü, oynanabilir bir mod değil. Gerçek oyun yine 60 FPS'e senkronlanıyor; artan güç hızlı ileri sarma, gecikmesiz girdi ve düşük donanımlı cihazlarda akıcılık için kullanılıyor.

Tarayıcıdaki sürüm eklenti veya indirme gerektirmiyor: yön tuşları hareket, Z A düğmesi, X B, Enter Start ve Shift Select.

Kayıt, mobil ve sonraki adımlar

Hacker News'teki yorumcular oyun içi kaydın gerçekten çalıştığını bildirdi; bu, portun yalnızca grafik gösterimi değil gerçek oyuncu durumunu koruduğunun işareti. Mobilde durum daha pürüzlü: Android Firefox kullanan bir kişi sayfanın kurulabilir bir PWA gibi davranmadığını belirtti ve ona tarayıcının "Add to home" seçeneği önerildi. Oyunlar arası takas henüz çalışmıyor ve kullanıcıların en sık istediği özellik bu.

Depo yalnızca tarayıcı için değil. Bir Makefile hedefi WebAssembly modülünü WABT'nin wasm2c aracıyla C'ye çevirip Raylib tabanlı bir ana makineyle bağlayarak yerel bir ikili dosya üretiyor; bir diğeri jailbreak'li Kindle Scribe e-okuyucuları için Linux framebuffer arayüzü derliyor. Diğer kod çözme projelerinde olduğu gibi ROM veya telif hakkıyla korunan varlıklar dağıtılmıyor — kullanıcı kendi yasal kopyasını sağlıyor.

Neden önemli: tam ölçekli ticari bir oyunun WebAssembly'ye yeniden derlenip bir tarayıcı sekmesinde performans fazlasıyla çalışabildiğinin işleyen kanıtı — okunabilir kaynağın oyun korumanın kalıcı biçimi olduğu yönünde bir argüman.

SSiTech

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.