Суббота, 23 Ноября 2024, 01:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Расчёт позиции стрельбы для бота.
GarmДата: Суббота, 25 Июля 2015, 01:47 | Сообщение # 1
был не раз
Сейчас нет на сайте
Такой вопрос: как вы реализовывали нахождение позиции стрельбы для ботов? Ну, т.е. решение ситуации, когда бот подошёл на расстояние атаки, но его LoS заблокирован.

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

Я ещё думал сделать что-то в духе бинарного поиска: разделить участок между ботом и его противником на зоны, и проверять возможность попадания из точек внутри зон, отсеевая точки (но правда так можно и не найти позицию, цикл заново запустится). Но если у карты сложная геометрия (лабиринт, например), то такой способо тоже не очень. Ну, разве что дополнительно сверять максимальный путь до найденной точки.

Ещё один момент, допустим у нас есть навесное оружие, и цель находится в LoS бота, но при стрельбе навесом снаряд попадает в препятствие. Тут уже надо дополнительно траекторию полёта расчитывать, и по ней проверять возможность попадания? Нагруженно выходит как-то.

В общем, кто-нибудь таким занимался? Как решали проблему?

Рисунок для наглядности, надеюсь достаточно наглядный.
OrdanДата: Суббота, 25 Июля 2015, 08:08 | Сообщение # 2
Главный зомби
Сейчас нет на сайте
Garm, проведи линию между ботом и целью, если на линии нет препятствий то стрелять можно, если есть препятствия то волной выбирать точки рядом с ботом и проводить линию от туда и тд пока не будет удобной позиции.

Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
GarmДата: Суббота, 25 Июля 2015, 14:36 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата Ordan ()
если на линии нет препятствий то стрелять можно, если есть препятствия то волной выбирать точки рядом с ботом и проводить линию от туда и тд пока не будет удобной позиции.

Ну, я примерно такой вариант описывал выше. Но смотри на пример из указанной картинки: бот доходит до раидуса атаки, а дальше одна из зон из кторой он сможет стрелять находится в лабиринте. Чтобы пройти его, надо будет в обход идти по длинному пути. Тогда надо ещё пути сравнивать постоянно.
Картинка не слишком удачной вышла на деле. Но я надеюсь суть я правильно донёс.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг