Для современных дошкольников компьютерные игры заменяют собой детские сказки, создающие мировоззрение, для подростков они создают персонажей-кумиров, заменяя собой классические книги. При правильном подходе, идеи, заложенные в компьютерные игры, гораздо лучше усваиваются детьми, чем идеи из книг или мультфильмов.
Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока.
В данном проекте было проведено исследование возможностей применением систем искусственного интеллекта при разработке компьютерной игры.
Вложение | Размер |
---|---|
iskusstvennyy_intellekt_prihodko_nikita_257_proekt.docx | 982.71 КБ |
Государственное бюджетное общеобразовательное учреждение
средняя общеобразовательная школа №257
Пушкинского района Санкт-Петербурга
________________________________________________________________
Проект Искусственный интеллект
Выполнил: Приходько Никита Сергеевич, 6 класс
Научный руководитель: Румянцев Евгений Валентинович, учитель информатики, ГБОУ СОШ №257 Пушкинского района Санкт-Петербурга
Санкт-Петербург
2017
ОГЛАВЛЕНИЕ
Основные понятия искусственного интеллекта в компьютерных играх 5
Основные критерии игр для реализации искусственного интеллекта 5
Определение языка программирования и среду разработки для дальнейшей реализации искусственного интеллекта 7
Реализация компьютерной игры с применением искусственного интеллекта 8
СПИСОК ЛИТЕРАТУРЫ И ИНФОРМАЦИОННЫХ ИСТОЧНИКОВ 10
Развитие компьютерной техники стимулировало развитие различных областей ее применения. Разработка компьютерных игр на некотором этапе своего развития перешла из академической области в коммерческую сферу. Индустрия компьютерных игр – одна из самых быстро развивающихся отраслей компьютерных технологий на сегодняшний день. За сорок с лишним лет своего существования она развилась настолько, что во многом уже опережает своих главных конкурентов: киноиндустрию, музыкальную индустрию и шоу-бизнес. За прошлый год одна только российская игровая индустрия заработала 1,330,310,000 долларов США [1].
Для современных дошкольников компьютерные игры заменяют собой детские сказки, создающие мировоззрение, для подростков они создают персонажей-кумиров, заменяя собой классические книги, и лишь для взрослых людей игры служат только развлечением. При правильном подходе, идеи, заложенные в компьютерные игры, гораздо лучше усваиваются детьми, чем идеи из книг или мультфильмов.
Пока педагоги пишут свои очередные книги, которые уже мало кто читает, современные дети познают мир во многом через призму компьютерных игр. Игры эти создаются людьми, зачастую далёкими от культуры, педагогики, психологии. А в некоторых случаях игры преднамеренно создаются с целью пропаганды тех или иных идей.
Культурный потенциал компьютерных игр ещё только начинает раскрываться, но уже сейчас понятно, что потенциал этот – огромен [5].
Продукция индустрии компьютерных игр характеризуется выражением конкурентной способности в многомерном показателе качества. Компьютерная игра оценивается по широкому спектру параметров: от графической составляющей до сюжета и постановки. Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока [4].
Цель проекта: исследование возможностей применением систем искусственного интеллекта при разработке компьютерных игр.
Для достижения поставленной цели были решены следующие задачи:
Для решения поставленных задач были использованы следующие методы:
Данный проект проводился в три этапа:
Игровой искусственный интеллект (англ. Game artificial intelligence) — набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом.
Основным препятствием на пути развития игрового искусственного интеллекта является недостаточная развитость методологии практического применения средств искусственного интеллекта. К этим средствам относятся:
1. Искусственные нейронные сети (ИНС). ИНС построены таким образом, чтобы имитировать работку клеток головного мозга человека и, таким образом, быть способными принимать сложные решения и обучаться на основе получаемого опыта (при помощи специализированных алгоритмов). ИНС могут иметь самое широчайшее применение для реализации сложного поведения объектов.
2. Эволюционные алгоритмы, которые можно использовать для обучения и адаптации искусственного интеллекта.
3. Использование специализированных архитектур построения системы искусственного интеллекта.
4. Подход к реализации ИИ в форме воплощённого анимата. Анимат – это автономное виртуальное существо. Его отличие от классического искусственного интеллекта заключается в его воплощении в виртуальном теле и соответственном ограничении его знаний и способов получения информации, что значительно влияет на правдоподобность поведения [2].
Часть вышеописанных средств ИИ была использована автором данного проекта при проектировании системы игрового ИИ. В качестве правил игровой среды для разрабатываемой системы ИИ были выбраны условия классической аркадной игры с видом сверху и возможностью отдачи команд отдельным боевым единицам.
Простейшей формой искусственного интеллекта является система на основе правил. Такая система дальше всего стоит от настоящего искусственного интеллекта. Набор заранее заданных алгоритмов определяет поведение игровых объектов. С учетом разнообразия действий конечный результат может быть неявной поведенческой системой, хотя такая система на самом деле вовсе не будет «интеллектуальной» [3].
Классическим игровым приложением, где используется такая система, является Pac-Man. Игрока преследуют четыре привидения. Каждое привидение действует, подчиняясь простому набору правил. Одно привидение всегда поворачивает влево, другое всегда поворачивает вправо, третье поворачивает в произвольном направлении, а четвертое всегда поворачивает в сторону игрока. Если бы на экране привидения появлялись по одному, их поведение было бы очень легко определить и игрок смог бы без труда от них спасаться. Но поскольку появляется сразу группа из четырех привидений, их движения кажутся сложным и скоординированным выслеживанием игрока. На самом же деле только последнее из четырех привидений учитывает расположение игрока (Приложение 1).
Из этого примера следует, что правила, не обязательно должны быть жестко заданными. Они могут основываться на воспринимаемом состоянии (как у последнего привидения) или на редактируемых параметрах объектов. Такие переменные, как уровень агрессии, уровень смелости, дальность обзора и скорость мышления, позволяют получить более разнообразное поведение объектов даже при использовании систем на основе правил.
В более сложных и разумных системах в качестве основы используются последовательности условных правил. В тактических играх правила управляют выбором используемой тактики. В стратегических играх правила управляют последовательностью строящихся объектов и реакцией на конфликты. Системы на основе правил являются фундаментом ИИ.
Способность точно предугадывать следующий ход противника крайне важна для адаптивной системы. Для выбора следующего действия можно использовать различные методы, например распознавание закономерностей прошлых ходов или случайные догадки.
Одним из простейших способов адаптации является отслеживание решений, принятых ранее, и оценка их успешности. Система ИИ регистрирует выбор, сделанный игроком в прошлом. Все принятые в прошлом решения нужно каким-то образом оценивать (например, в боевых играх в качестве меры успешности можно использовать полученное или утраченное преимущество, потерянное здоровье или преимущество по времени). Можно собирать дополнительные сведения о ситуации, чтобы образовать контекст для решений, например относительный уровень здоровья, прежние действия и положение на уровне (люди играют по-другому, когда им уже некуда отступать).
Можно оценивать историю для определения успешности прежних действий и принятия решения о том, нужно ли изменять тактику. До создания списка прежних действий объект может использовать стандартную тактику или действовать произвольно. Эту систему можно увязать с системами на основе правил и с различными состояниями.
В тактической игре история прошлых боев поможет выбрать наилучшую тактику для использования против команды игрока, например ИИ может играть от обороны, выбрать наступательную тактику, атаковать всеми силами невзирая на потери или же избрать сбалансированный подход. В стратегической игре можно для каждого игрока подбирать оптимальный набор различных боевых единиц в армии. В играх, где ИИ управляет персонажами, поддерживающими игрока, адаптивный ИИ сможет лучше приспособиться к естественному стилю игрока, изучая его действия.
Автором данного проекта при проектировании системы игрового ИИ был использован Construct 2, позволяющий создавать 2D-игры, даже не имея навыков программирования.
Scirra Construct 2 – это конструктор 2D-игр, позволяющий разрабатывать игры любого жанра и направленности в формате технологии HTML5. Получаемые посредством Construct 2 игры поддерживаются популярными web-браузерами и мобильными устройствами ОС типа Android или iOS.
Основной редактор этого конструктора позволяет за несколько кликов выполнить нужные задачи, благодаря чему разработка игры происходит считанные минуты. Удобный интерфейс спроектирован для быстрой работы.
Логика игр в Construct 2 создается с помощью системы событий (англ. events) и связанных с ними действий (англ. actions). На данный момент программа имеет более 20 встроенных поведений, включая Platformer, 8 Direction, Bullet, Car, Pathfinding, Turret, Drag'n'drop и т.д., которые облегчают процесс создания игры.
События создаются путем выбора возможных условий и связанных с ними действий. В результате получается четко организованный список событий, сделанный максимально понятным и читабельным для разработчика игр. Целые списки событий могут быть многократно использованы на разных уровнях или сохранены для воссоздания событий на других уровнях.
Создание событий для игры происходит вполне простым и понятным образом. Просто указывается объект, выбирается условие или действие и добавляется в событие.
В каждом списке событий есть события, содержащие условные операторы или триггеры. Как только они выполняются, происходят заданные действия. Используя группы, можно включать и отключать целые цепочки событий, а также использовать их для удобной организации больших проектов.
Поведения работают как заранее предустановленные функции, которые вы можете назначать объектам и использовать их повторно, где это необходимо. Их добавление к объекту происходит мгновенно, что заметно ускоряет разработку игры.
Поведения включают в себя движения, такие как 8 направлений (8 Direction), платформер (Platformer), машина (Car), пуля (Bullet); расширенные функции типа физики и нахождения объектом пути (Pathfinding); и разные полезные утилиты, например, затухание, вспышка, обертывание, прикрепление и перетаскивание мышью (Drag'n'drop).
Оборудование и программное обеспечение:
Ход проекта:
В результате реализация эпизода компьютерной игры с применением искусственного интеллекта установлено:
Я считаю, что цель проекта: исследование возможностей применением систем искусственного интеллекта при разработке компьютерных игр – достигнута.
Поставленные задачи решены:
Следующим этапом моей проектной деятельности я планирую увеличение сложности уровня обучения систем искусственного интеллекта при разработке компьютерных игр.
Игровое приложение Pac-Man
Версия программы Scirra Construct 2
Создание игрового поля (фон)
Применение поведения – турель (turret)
Тестирование кода компьютерной игры
Проект Искусственный интеллект
Для современных дошкольников компьютерные игры заменяют собой детские сказки, создающие мировоззрение, для подростков они создают персонажей-кумиров, заменяя собой классические книги. При правильном подходе, идеи, заложенные в компьютерные игры, гораздо лучше усваиваются детьми, чем идеи из книг или мультфильмов.
Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока.
В данном проекте было проведено исследование возможностей применением систем искусственного интеллекта при разработке компьютерной игры.
Астрономический календарь. Октябрь, 2018
Цветущая сакура
Юрий Визбор. Милая моя
Как я избавился от обидчивости
Прекрасное далёко