Как внедрить дробовик в игру?

14

Пистолеты и пулеметы легки - у вас могут быть пули, летящие в определенном направлении, так что я это уже реализовал. Дробовик, с другой стороны, наносит урон чему-либо в определенной области, похожему на конус. Как мне это реализовать? У меня есть пара предложений здесь, но я мог бы использовать несколько советов:

  • Разбейте пулю на несколько маленьких пуль, которые сами по себе наносят меньше урона, но летят в том же направлении (более вероятный удар по ближайшему врагу)
  • Не используйте пули - просто примените эффект частиц дробовика и рассчитайте, сколько урона получают враги, исходя из положения / ориентации и т. Д.
  • Имейте большую невидимую пулю (например, куб), которая наносит ущерб вещам, а также эффект частиц, который заставит его выглядеть так, как будто это выстрел из дробовика.

Заранее спасибо!

Алексей
источник
Все эти варианты действительны (хотя первый, почему бы не начать с нескольких маркеров?), И решение зависит от вашего игрового дизайна.
congusbongus
Связанный: Точность против формулы расстояния и "конуса огня" может быть хорошим поисковым термином для этого.
MichaelHouse

Ответы:

21

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

Простая реализация: если вы хотите разброс на 10 ° и игрок смотрит в направлении 0 ° по вертикали и 50 ° по горизонтали, снаряды оставляют их под углом от -5 ° до + 5 ° по вертикали и между 45 ° и 55 ° по горизонтали.

Лучшая реализация: расставьте снаряды не по прямоугольнику, а по кругу вокруг перекрестия игрока.

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

В шутерах сверху вниз или с боковой прокруткой менее распространено распространение на все оружие, потому что игровая зона слишком мала, чтобы это имело смысл, но когда вы хотите оружие, такое как дробовик, это другой вопрос и тот же Техника может быть использована, просто вам не нужно заботиться о третьем измерении. В качестве альтернативы вы можете просто стрелять снарядами под фиксированными углами, такими как -6 °, -4 °, -2 °, 0 °, 2 °, 4 °, 6 °. В 2-мерном контексте это не будет выглядеть так искусственно, как в 3-м контексте, и вызов-геймеру понравится, потому что это уменьшает шанс.

Philipp
источник
Лучшая реализация также проста. Первый подход требует двух случайных углов (горизонтальный и вертикальный), как и второй (вне оси [0, + 5 °] и вращение вдоль оси [0, 360 °])
MSalters
@MSalters Это не равномерно распределяет снаряды по кругу. Вместо этого он концентрирует их вокруг оси. Это может или не может быть эффект, который каждый собирается для. Чтобы получить равномерное случайное распределение внутри круга, посмотрите этот ответ .
Даниэль А.А. Пельсмакер,
@Virtlink: верно, хотя равномерная плотность вероятности внутри круга - это не то, чего я хотел бы. Нормальное распределение, как правило, лучше всего подходит для таких вещей, как физика, и это также особенно просто сделать: просто распределить значения with с помощью 1-мерного нормального распределения, а значения φ с тем же нормальным распределением, масштабированные на ϑ. Не нужно переходить к двухполюсным координатам.
оставлено около
Вот страница, посвященная распространению дробовиков , вы можете посмотреть и посмотреть, что они делают.
AJMansfield