Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Алгоритмы прохождения препятствий врагами в играх 3д и 2д кратко

Лекция



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

1. FSM (Finite State Machine) — конечный автомат

Каждое состояние описывает поведение (например, "идти", "прыгать", "стоять", "падать"). При обнаружении препятствия — переход в соответствующее состояние:

  • Идти → препятствие → Прыжок

  • Прыжок → достижение платформы → Идти

Простой, хорошо работает для патрулирующих врагов и NPC.

Алгоритмы прохождения препятствий врагами в играх 3д и 2д

2. Raycasting / Сканирование среды для поиска пути перемещения в 2D платформарах

Сканирование пространства лучами вниз, вперед и вверх позволяет:

  • определять обрывы (если нет земли под ногами);

  • видеть стены перед собой;

  • понимать, можно ли перепрыгнуть.затем используются простые Физические проверки + условия

Подходит для простых ИИ:

if (isGroundAhead() && !isWallAhead()) 
{ 
  moveRight(); 
}
   else 
      if (isWallAhead() && canJump())
      {
          jump(); 
      } 

Используется в Unity, Godot, Phaser и других движках.

Алгоритмы прохождения препятствий врагами в играх 3д и 2д

3. A* (A-star) — поиск пути

Применим для более сложных уровней, где нужно добраться до цели, обойдя препятствия:

  • Мир делится на сетку (в 2D — тайловая карта);

  • A* находит кратчайший путь;

  • Спрайт двигается по найденным координатам.

Требует настройки "стоимости" тайлов: можно ли прыгнуть туда, какой длины прыжок и т. д.

4. Navigation Mesh / Графы достижимости

  • Применяется в случае, если A* не подходит.

  • Пространство разбивается на платформы и связки между ними (можно ли прыгнуть с одной на другую).

  • Персонаж выбирает оптимальный маршрут по вершинам графа.

Алгоритмы прохождения препятствий врагами в играх 3д и 2д

5. Behavior Trees (BT)

  • Структурированная форма ИИ-поведения.

  • Можно задать: "Если препятствие — прыгни", "Если враг — атакуй", и т. д.

  • Очень гибкая система, часто используется в больших проектах.

Алгоритмы прохождения препятствий врагами в играх 3д и 2д

7. Machine Learning / Обучение с подкреплением для прохождения пути

Для продвинутых ИИ:

  • ИИ обучается самостоятельно преодолевать препятствия;

  • Используется в экспериментах (например, в OpenAI Gym);

  • Непрактично для простых игр— дорогая разработка и нестабильное поведение.

пример

Алгоритмы прохождения препятствий врагами в играх 3д и 2д

Для прохождения пути в игре с помощью обучения с подкреплением (Reinforcement Learning, RL), можно представить процесс в виде последовательных этапов, которые повторяются в цикле. Вот как бы это выглядело пошагово:

Цикл работы RL-агента

  1. Инициализация:

    • Агент стартует с начальным состоянием.

    • Начальные значения Q-функции (или политика) случайны или нулевые.

  2. Получение текущего состояния среды:

    • Например: "Я стою перед ямой", или "Передо мной враг".

  3. Выбор действия:

    • Используется стратегия (например, ε-жадная): агент выбирает либо лучшее известное действие, либо случайное для исследования.

    • Например: "Прыгнуть", "Атаковать", "Пойти вправо".

  4. Выполнение действия и переход:

    • Агент действует в среде.

    • Среда обновляется: новое положение, новая ситуация.

  5. Получение награды:

    • Агент получает обратную связь:

      • +1 за успешный прыжок,

      • –1 за падение в яму,

      • +10 за достижение цели.

  6. Обновление стратегии (обучение):

    • Q-функция или нейросеть корректируется с учетом нового опыта.

    • Агент "учится", чтобы в будущем действовать лучше.

  7. Переход в новое состояние и повтор:

    • Агент теперь находится в новом состоянии, и цикл начинается заново.

Дополнительно:

Препятствие Возможный алгоритм решения
Обрыв Проверка raycast вниз
Низкий проход Состояние "пригнуться"
Стена raycast + "прыжок"
Подвижная платформа FSM + отслеживание платформ
Враг FSM / Behavior Tree

Вау!! 😲 Ты еще не читал? Это зря!

создано: 2025-06-21
обновлено: 2025-06-25
50



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка компьютерных игр, гейм-дизайн

Термины: Разработка компьютерных игр, гейм-дизайн