· 16+ · Вера Цветова

ИИ Claude сгенерировал эмулятор NES: Donkey Kong запустили прямо в браузере

Родриго Делдука, эксперт в области разработки п...

фото: фрипик

Родриго Делдука, эксперт в области разработки программного обеспечения, провел всестороннее исследование потенциала искусственного интеллекта в программировании, сосредоточив внимание на его применении в создании эмуляторов игровых консолей. В рамках этого исследования он разработал эмулятор игровой приставки NES с использованием системы Claude, который представляет собой полноценный программный продукт, позволяющий запускать игру Donkey Kong непосредственно в веб-браузере.

Эмулятор основан на использовании скриптов, написанных на языке Lua, и функционирует на двухмерном движке Carimbo, который был создан самим Делдукой. Искусственный интеллект разработал специализированные модули, имитирующие ключевые компоненты NES, такие как центральный процессор (CPU), графический процессор (PPU), система ввода и шина данных, обеспечивая их взаимодействие в соответствии с логикой оригинальной платформы.

NES является одной из наиболее популярных платформ для эмуляции в академическом сообществе благодаря своей простой архитектуре, что делает её удобной для исследования и тестирования новых технологий. Однако разработка эмулятора представляет собой сложную задачу, требующую точного соблюдения временных интервалов, синхронизации компонентов и корректного моделирования аппаратных характеристик.

Родриго Делдука опубликовал исходный код проекта на платформе GitHub, где исследователи могут ознакомиться с его структурой и сложностью реализации. Названия файлов, такие как "CPU", "PPU", "Input" и "Bus", явно указывают на их функциональное назначение. Каждый элемент эмулятора реализован отдельным скриптом, и все они должны функционировать как единое целое. Язык программирования Lua, известный своей простотой, высокой скоростью выполнения и открытой лицензией MIT, играет ключевую роль в проекте, поскольку система Claude генерирует код на данном языке без проблем. Движок Carimbo, написанный на языке C++23 и поддерживающий библиотеку SDL, обеспечивает интеграцию Lua-скриптов и работает на различных платформах, включая десктопы, мобильные устройства и веб-браузеры через технологию WebAssembly.

Несмотря на достигнутые успехи, эмулятор демонстрирует низкую производительность. Как отмечает автор и пользователи, производительность снизилась в 40 раз по сравнению с аналогичными веб-эмуляторами, и отсутствует звуковое сопровождение. Делдука вспоминает, что в конце 1990-х он использовал эмулятор NESticle на компьютере с процессором Pentium 120, где производительность была значительно выше. Тем не менее, данный эксперимент демонстрирует впечатляющие возможности искусственного интеллекта в создании сложных программных систем, хотя он и не заменяет полностью ручную разработку.