Pokémon Emerald в браузере на «100k FPS» — и это не эмулятор, это декомпилированная игра
Заголовок говорит про 100 000 FPS. Настоящая новизна, как указывает низкоуровневый хакер, в том, что это не GBA-эмулятор, гоняющий ROM, — это сообществная декомпиляция самой игры, скомпилированная в WebAssembly. Сохранения работают. Звук — нет. Боевое меню крашится.
Заголовок хоронит суть
pokeemerald.com запускает Pokémon Emerald в вашем браузере, а заголовок рекламирует «100k FPS». Низкоуровневый хакер в треде указал на то, что реально важно:
«интересно тут, предположительно, что это не wasm-эмулятор GBA (которые тоже существуют и работают). Это сама игра, скомпилированная в wasm. Хотя официальный исходный код никогда не публиковался, была сообществная декомпиляция». — Дмитрий Гринберг, специалист по реверс-инжинирингу
Вот настоящая история. Здесь нет эмулируемой Game Boy Advance, интерпретирующей ROM. Сообщество реверс-инженерило Emerald в собираемый C-исходник (давний проект декомпиляции pokeemerald), а tripplyons скомпилировал его в WebAssembly. Игра работает в браузере нативно, как она сама, — поэтому и может выдавать абсурдную частоту кадров.
Что работает — по словам тех, кто пробовал
«Подтверждаю, что сохранение по-настоящему работает … Интересно, можно ли заставить работать и обмены». — комментатор, подтверждающий сохранения
Что пока не работает
Главный пробел — звук, и человек, который его чинит, объявился сам:
«Работаю над форком со звуком. Если кто-то хочет, чтобы Claude его продолжил, — милости прошу!» — сопровождающий звукового форка
И это всё ещё альфа-сборка — воспроизводимый краш всплыл быстро:
«похоже, есть краш, когда выбираешь „Pokemon“ в меню „Fight/Bag/Pokemon/Run“». — комментатор, сообщающий о краше боевого меню
Почему это больше, чем игрушка
Браузерные эмуляторы старых консолей — давно не новость. Компиляция декомпилированной коммерческой игры в WASM — другая категория: это значит, что логика игры теперь — переносимый исходник, который можно хакать и форкать, а не бинарник, запертый за интерпретатором. Краши и отсутствующий звук — не провалы подхода; это видимый край того, как много от картриджа 2004 года волонтёрское сообщество добросовестно воссоздало на C. Частота кадров — трюк. Происхождение — вот достижение.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Open-source-инструмент подделывает артефакты VHS и NTSC — ветераны телевещания говорят, что аналог на деле выглядел роскошно
ntsc-rs моделирует реальную NTSC-передачу и VHS-кодирование, а не фильтры-наложения, в реальном времени. Разворот треда: «вид VHS» — это деградация, а не потолок носителя, — а правильная эмуляция всё ещё пропускает PAL, полосы Hanover и сбои фазы поднесущей.