Уклоняйтесь от препятствий | Кодементор

Привет, ребята!

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

Во-первых, мы должны определить наш мир. Я думаю создать 2D бесконечный раннер, который будет генерировать некоторые препятствия, от которых наш персонаж, ИИ, должен уклоняться. У меня есть два подхода к этому дизайну: первый — препятствия с предопределенными позициями по оси Y; И второй, случайные позиции Y без шаблона.

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

первый подход.jpg

Преимущество этого решения заключается в менее сложном коде, но любое обновление вашей игры заставит вас изменить логику ИИ. Вам просто нужно спросить себя: «Хорошо. Я знаю препятствия A, B, C и D. Но что произойдет, если добавить еще одно, два или три?».

Процесс под названием Process input будет получать данные мира с помощью какой-то техники, которую я еще не определил, и Run process… Хорошо. Я думаю, это очевидно.

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

Второй подход.jpg

Выглядит просто, правда? Но сложный код находится в шагах «Обработка свойств препятствий» и «Уклонение от препятствия с лучшим вариантом». Что такое «лучший»? Какие свойства должен обрабатывать ИИ? Что ж. Ответить на эти вопросы зависит от вас. Хорошее определение вашей игры сэкономит вам время и усилия.

Ну, я думаю, что мудрым выбором будет второй подход. Просто потому, что первый не очень хороший ИИ, я думаю.

Мы еще не определили наш мир. Я буду использовать поведение ИИ, которое я выбрал, чтобы создать наш мир. ВАЖНО: этот подход не является хорошим. Сначала должен быть определен ваш мир, а затем в дело вступит ваш ИИ.

Взгляни на этот мир, который я создал.

мир.png

Этот мир действительно прост. Платформы — это объекты, которые будут двигаться справа налево. Это означает, что мы будем уменьшать координату X для каждой платформы, которую мы создаем. Это позволяет нам свободно перемещать нашего игрока по миру без сложной математики.

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

Надеюсь, вам понравилось, и если у вас есть совет, скажите мне.

Пусть код игры останется с вами!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *