Как сделать искусственный интеллект в construct 2

Обновлено: 03.07.2024

Архив с примером движения персонажа для Construct 2 сборки 233 можно скачать по прямой ссылке. Но мне кажется я реализовал как-то более качественно. Это, правда, очень старый пример. Но пусть будет.. Двигать персонажа стрелкам. Но вначале нужно фокус поставить на фрейм, - нажав на нем мышкой, далее стрелками

Это пример, который в архиве, здесь есть небольшой затык при смены направления движения:

В новом варианте движение гораздо отзывчивее, как мне кажется. Движение персонажа стрелками на клавиатуре! Прежде нажать на игру курсором. Полная версия игры здесь - Kioria 1. The sword of dole


Scirra Construct 2

Construct 2 (далее просто C2) — один из лучших HTML5 игровых движков последних лет. Scirra развила идеи Construct Classic и перенесла их на веб-платформу.

Ликбез

Construct 2 представляет собой IDE на Windows позволяющий создавать видеоигры или насыщенные интерактивные веб-приложения различной степени сложности. C2 содержит богатый API, использующий CommonJS для создания собственных модулей. Подробнее об этом можно узнать на официальной документации. C2 не заточен под определенный игровой жанр, но делать шутеры с видом от первого лица не стоит, C2 создан для двухмерных игр! Но есть слухи, что умельцы из Scirra разрабатывают Construct 3, где будет возможность делать 3D также просто. В C2 вшит мощный физический движок Box2dWeb, а это значит что разрабатывать физические головоломки на C2 можно. Скомпилированное C2 приложение представляет собой HTML5 оболочку со встроенным Canvas. Изюминкой C2 можно считать возможность быстрого построения прототипов и легкое разворачивание на все популярные платформы. Поддерживаются Android/iOS/Windows/Linux.

Для того чтобы создавать на Construct 2 нечто действительно большое, потребуется знать несколько базовых правил, свойственных этому игровому движку.

Советы при написании Construct 2 игр

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Для современных дошкольников компьютерные игры заменяют собой детские сказки, создающие мировоззрение, для подростков они создают персонажей-кумиров, заменяя собой классические книги. При правильном подходе, идеи, заложенные в компьютерные игры, гораздо лучше усваиваются детьми, чем идеи из книг или мультфильмов.

Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока.

В данном проекте было проведено исследование возможностей применением систем искусственного интеллекта при разработке компьютерной игры.

ВложениеРазмер
iskusstvennyy_intellekt_prihodko_nikita_257_proekt.docx 982.71 КБ

Предварительный просмотр:

Государственное бюджетное общеобразовательное учреждение

средняя общеобразовательная школа №257

Пушкинского района Санкт-Петербурга

Проект Искусственный интеллект

Выполнил: Приходько Никита Сергеевич, 6 класс

Научный руководитель: Румянцев Евгений Валентинович, учитель информатики, ГБОУ СОШ №257 Пушкинского района Санкт-Петербурга

Развитие компьютерной техники стимулировало развитие различных областей ее применения. Разработка компьютерных игр на некотором этапе своего развития перешла из академической области в коммерческую сферу. Индустрия компьютерных игр – одна из самых быстро развивающихся отраслей компьютерных технологий на сегодняшний день. За сорок с лишним лет своего существования она развилась настолько, что во многом уже опережает своих главных конкурентов: киноиндустрию, музыкальную индустрию и шоу-бизнес. За прошлый год одна только российская игровая индустрия заработала 1,330,310,000 долларов США [1].

Для современных дошкольников компьютерные игры заменяют собой детские сказки, создающие мировоззрение, для подростков они создают персонажей-кумиров, заменяя собой классические книги, и лишь для взрослых людей игры служат только развлечением. При правильном подходе, идеи, заложенные в компьютерные игры, гораздо лучше усваиваются детьми, чем идеи из книг или мультфильмов.

Пока педагоги пишут свои очередные книги, которые уже мало кто читает, современные дети познают мир во многом через призму компьютерных игр. Игры эти создаются людьми, зачастую далёкими от культуры, педагогики, психологии. А в некоторых случаях игры преднамеренно создаются с целью пропаганды тех или иных идей.

Культурный потенциал компьютерных игр ещё только начинает раскрываться, но уже сейчас понятно, что потенциал этот – огромен [5].

Продукция индустрии компьютерных игр характеризуется выражением конкурентной способности в многомерном показателе качества. Компьютерная игра оценивается по широкому спектру параметров: от графической составляющей до сюжета и постановки. Одной из фундаментальных составляющих успеха игры является система искусственного интеллекта (ИИ). В компьютерных играх искусственный интеллект применяется для управления объектами, которые образуют игровую среду и олицетворяют противников и союзников игрока [4].

Цель проекта : исследование возможностей применением систем искусственного интеллекта при разработке компьютерных игр.

Для достижения поставленной цели были решены следующие задачи :

  • определить перечень основных понятий искусственного интеллекта в компьютерных играх;
  • описать основные критерии игр для дальнейшей реализации искусственного интеллекта;
  • выбрать язык программирования для дальнейшей реализации искусственного интеллекта;
  • определить среду разработки для дальнейшей реализации искусственного интеллекта для выбранного языка программирования;
  • реализация компьютерной игры с применением искусственного интеллекта.

Для решения поставленных задач были использованы следующие методы:

  • анализ учебно-методической литературы по данной проблеме;
  • метод практического эксперимента.

Данный проект проводился в три этапа:

  • анализ учебно-методической литературы;
  • выбор среды разработки для дальнейшей реализации проекта;
  • реализация компьютерной игры с применением искусственного интеллекта.

Основные понятия искусственного интеллекта в компьютерных играх

Игровой искусственный интеллект (англ. Game artificial intelligence) — набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом.

Основным препятствием на пути развития игрового искусственного интеллекта является недостаточная развитость методологии практического применения средств искусственного интеллекта. К этим средствам относятся:

1. Искусственные нейронные сети (ИНС). ИНС построены таким образом, чтобы имитировать работку клеток головного мозга человека и, таким образом, быть способными принимать сложные решения и обучаться на основе получаемого опыта (при помощи специализированных алгоритмов). ИНС могут иметь самое широчайшее применение для реализации сложного поведения объектов.

2. Эволюционные алгоритмы, которые можно использовать для обучения и адаптации искусственного интеллекта.

3. Использование специализированных архитектур построения системы искусственного интеллекта.

4. Подход к реализации ИИ в форме воплощённого анимата. Анимат – это автономное виртуальное существо. Его отличие от классического искусственного интеллекта заключается в его воплощении в виртуальном теле и соответственном ограничении его знаний и способов получения информации, что значительно влияет на правдоподобность поведения [2].

Часть вышеописанных средств ИИ была использована автором данного проекта при проектировании системы игрового ИИ. В качестве правил игровой среды для разрабатываемой системы ИИ были выбраны условия классической аркадной игры с видом сверху и возможностью отдачи команд отдельным боевым единицам.

Основные критерии игр для реализации искусственного интеллекта

Классическим игровым приложением, где используется такая система, является 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).

Реализация компьютерной игры с применением искусственного интеллекта

Оборудование и программное обеспечение:

  • Процессор Intel Core i3;
  • Windows 7 Начальная;
  • Scirra Construct 2, релиз от 19.08.14 (Приложение 2).
  • В рабочей области создаем объект (Фон), закрашиваем, растягиваем на всю рабочую область (Приложение 3).
  • Создаем анимат, применяем поведение – турель (turret) (Приложение 4).
  • Начинаем обучение ИИ: создаем правила с помощью системы событий, реализующие такие простейшие действия, как передвижение и атаку. Главная задача, которая должна выполняться системой ИИ заключается в минимизации урона, полученного единицей, и, с другой стороны, максимизации урона, который единица наносит противнику с выбором оптимального вооружения.
  • Тестирование кода компьютерной игры (Приложение 5).
  • Конвертация кода компьютерной игры в HTML5.

Результаты

В результате реализация эпизода компьютерной игры с применением искусственного интеллекта установлено:

  • Анимат на базе ИИ успешно реализует выигрышную тактику по нанесению урона противнику;
  • Оптимизирует применение оружия для разноуровневого противника;
  • Усложняя правила, можем получить практически непобедимого соперника и наоборот, можем уменьшить уровень сложности игры.

Я считаю, что цель проекта: исследование возможностей применением систем искусственного интеллекта при разработке компьютерных игр – достигнута.

Поставленные задачи решены:

Следующим этапом моей проектной деятельности я планирую увеличение сложности уровня обучения систем искусственного интеллекта при разработке компьютерных игр.

не знаю читаешь ты или нет но твои уроки даже на 3 констракте работают и это круто .
там конечно немного по другому с переменными но практически тоже самое , спасибо.

Kliter Games

Когда мой монстер косается коробки он не поворачивается что делать скажите пожалуйста

Kliter Games

Я сделал всё как ты показывал,но там где system пишет else (not valid here) помоги

welmon

ПАЧЕМУ У МЕНЯ ELSE НЕ РАБОТАЕТ

Ефрем Хехелашвили

Спасибо я узнал что можно поставить or

Beruaz 2.0

Друзья если ваш персонаж просидает под текстурки просто нажмите 2 раза на Sprit (персонажа) потом с лева вы увидите панел там будет в самому низу одна штука под названием Set collision polugon нажмите и растините линии так что-бы голубая область покрывала ваш спрайт и так сделайте со всема фреймамы и анимациями

Lazy Dev

Mila Andreevna

Уроки очень крутые. По этому уроку я все смогла сделать, Но. слишком быстро, приходится мотать назад. Ну и конечно иногда не выходит логику твоих действий понять. лишь копирую их..А это неправильно. Если коротко, то СПАСИБО ЗА КРУТЫЕ УРОКИ, но сделай их чуть медленнее и более развернутыми, ПОЖАЛУЙСТА!

Скиньте готовый файл

Markov

Посмотрев твой урок я придумал как создать игру на двоих

Alexan PerformanceFit

good job man NICE , left=1 right=2 angry=attack not bad :D

Starcheskii Auff

Враг выходит за приделы,после гдето 2 раз

SiyavushXan

сделал все как описано но мой "враг" прыгает как ошпаренный туда сюда, на лево и на право. странно.

Саят Турсумбаев

Здравствуйте! У меня возникла проблема! Когда ставлю set mirrored Right и set no mirrored left, то враг зеркалируется в обе стороны одновременно! Я не знаю что делать, помогите..


Каждый человек мечтает о том, чтобы стать богатым и счастливым, подарив такое же счастье близким себе людям, и поэтому в период нынешнего экономического кризиса все более и более распространенными.


От автора: Начал делать после одной игры, но сейчас уже вдохновение прошло и надоело. Собственно отдаю на исходники, хотя можете даже доделать, если есть желание. Многое в исходнике возможно сделано спорно.


От автора: Собственно, поспорил с другом, что я смогу сделать игру жанра "цепная реакция", он быстро кинул ссылку и сказал сделать аналог, так вот встречайте игру — Afectat. Игра как бы шуточная, я над ней не.


От автора: Поиграл в CS2D и мне там очень понравился зомби-мод! Решил сделать отдельную игру как зомби мод в CS2D, в общем, кто играл, тот поймет. Начал делать, чуть-чуть поделал, и надоело. Выкладываю исходник.


Перед вами исходник игры Macro Murder, изучив который вы сможете узнать все секреты создания этой оригинальной и динамичной игры. Исходник ценен тем, что в нем реализовано множество всевозможных решений в.


В данном исходнике реализованы два вида старинных орудий, которые можно использовать для игр в жанре платформеры. Реалистичное поведение катапульты и пушки создано за счет встроенного в программу Construct.


От автора: У меня сестре 7 лет. Само собой в компьютерах она так себе разбирается, но зато ей очень нравится приходить пораньше в мою комнату, включать комп и сидеть играть в Интернете во флеш игры. И вот, для.

Читайте также: