Исследователи из Технологического института Джорджии создали алгоритм, который наблюдает за записью прохождения игр, и на основе этих данных воссоздает их игровой движок без доступа к исходному коду. Хотя, получаемый результат не идентичен исходным данным, в целом алгоритм воссоздает игры довольно точно. Работа была представлена на конференции IJCAI 2017, а ее текстовая версия доступна на сайте университета.
Специалисты в области искусственного интеллекта и машинного обучения нередко используют свои знания для создания игровых алгоритмов. Иногда такие системы даже превосходят людей, как в случае с алгоритмом AlphaGo, который в начале года победил сильнейшего игрока в го в мире. Однако обычно такие алгоритмы умеют именно играть в игры, но не создавать их.
Американские ученые уже несколько лет занимаются решением второй задачи. Теперь они создали алгоритм, который воссоздает игровой движок простых двумерных игр без доступа к его исходному коду. Для этого они использовали игру со сравнительно небольшим количеством деталей — Super Mario Bros. — известную игру-платформер, в которой персонаж перемещается по горизонтальным поверхностям.
Для начала исследователи сформировали массив из всех объектов, чтобы алгоритм мог в дальнейшем распознавать их на кадрах. Затем алгоритм с помощью открытой библиотеки компьютерного зрения OpenCV распознавал эти объекты на видеозаписях прохождения игры. Помимо этого система распознавала анимацию и взаимодействие между объектами. Имея эти данные алгоритм пытался предсказать следующие кадры на основе знания о предыдущих, и сравнивал их с реальной записью. В случае значительных несоответствий он пытался вывести правила, объясняющие эти различия.
Исследователи проверили качество нового движка с помощью другого алгоритма, умеющего проходить эту игру. Сравнение показало, что несмотря на некоторые визуальные несоответствия, игровой процесс остался неизменным, и агент не сталкивался с непроходимыми препятствиями, например, проваливающимся полом.
В 2015 году инженеры из Технологического института Джорджии уже представляли схожую работу. Тогда создали алгоритм, который на основе роликов с записями прохождения игр создает для них новые уровни. Полученные таким образом уровни можно загрузить в оригинальную игру и пройти.
Григорий Копиев