NES
Gaming

Programmer Creates An AI To (Not Quite) Beat NES Games

Next Story

Songza Raised $3.8M According To SEC Filing, Amazon Still In The Frame As An Investor

Программист и доктор наук Университета Карнеги-Меллон Том Мёрфи разработал алгоритм для “прохождения” игр на NES при помощи наблюдения за игровыми очками. Когда компьютер воспроизводит действия, которые приводят к увеличению игровых очков, он может научиться воспроизводить их снова и снова, что приведет к созданию идеального робота, играющего в Супер Марио. Программа, названная “технология автоматизация игр для Nintendo” может пройти почти любую игру на NES, однако выигрывает она не всегда.

Вы можете прочитать его полную статью здесь, но как видно из представленного видео (перемотайте примерно на шестую минуту, чтобы увидеть Марио в действии), эмулятор в основном воспроизводит вещи, которые делают обычные люди, но постоянно использует очень сложные трюки, такие как например, атака двух Гумба за раз.

Мёрфи пишет:

Байты в памяти (и зачастую 16- и 32-битные слова) могут содержать интересные игровые данные вроде позиции игрока на экране или игровые очки. Основная идея этой работы заключается в использовании (только) значений в памяти, чтобы проследить когда игрок “выигрывает”. Воспринимаемые человеком изображение и звук — полностью игнорируются. В качестве еще одного упрощения, предположим, что состояние выигрыша всегда определяется растущими значениями параметров — либо положение на уровне увеличивается, либо игровые очки растут, увеличивается количество жизней, номер мира или уровня увеличивается и так далее.

Слегка обучив программу – как прыгать, как карабкаться – программа превращается в жадного до монеток монстра, растаптывая черепах и не оставляя в живых ни одного грибочка. Мёрфи запускал также некоторые другие игры, включая Тетрис и обнаружил, что программа в конечном счете просто ставится на паузу вместо того, чтобы играть и проигрывать, старая беспроигрышная тактика занудных родственников еще из 1985-го года.