Задать вопрос
@morning_haze
Работаю в игровой индустрии

Как решить Tower Defence игру?

Допустим нам известны параметры обороны (кол-во башен, урон, который они наносят в секунду, и их прочность)

Так же нам известны параметры атаки (разные персонажи со своими характеристиками урона, здоровья, и стоимостью, используемой для заказа новых юнитов)

Если, за определенное время, команда нападения уничтожает все башни обороны, то она побеждает.

Как просчитать вероятность победы команды при помощи Excel? Как в разработке модели учитывать ландшафт и простой некоторых башен/юнитов во время матча?

Ответ желательно подсказать на простом примере.
  • Вопрос задан
  • 2512 просмотров
Подписаться 6 Оценить Комментировать
Решения вопроса 1
@azShoo
Вам нужна книга мат.моделирование для чайников.
В целом, одним экселем вам не обойтись, как и одним ответом на тостере.
Если максимально все упростить, то вам нужно:
Составить модель стороны защиты:
- Схему самой локации
- Схему расположения башен
- Карты урона (зоны покрытия башен, в зависимости от range и dps\dpt)

Составить схему стороны атаки:
- Точки респа и "пути" для юнитов.
- Список и юнитов.
- Расчитать КПД для каждого типа юнитов (сколько живет в той или иной зоне урона, сколько успевает пройти\нанести урона в той или иной зоне урона и пр.)

Дальше наложить эти показатели друг на друга и смоделировать сражение.
Если потенциальное время жизни юнитов в данной зоне урона больше, чем время необходимое на нанесение урона > чем HP башни -> башня разрушена.
(учитываем планомерную смерть юнитов и соответствующее снижение DPS\DPT)

Ну, а дальше все упирается в сложность\нелинейность логики и возможность макро- и микро-контроля со стороны игрока.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Это сложная задача и решается моделированием. Excel не поможет.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Башня - скорострельность каждые 4 секунды (сб), прочность 16 (пб), урон 8 (уб).
Враг - скорострельность каждые 2 секунды (св), прочность 32 (пв), урон 4 (ув).
Время войны (когда каждый в зоне поражения оппонента): 8 секунд. (вв)
Зоны поражения - у врага и башни равные.

8/4=2 выстрела башня успеет сделать по врагу (в зоне поражения)
32-2*8=16 - враг будет поврежден на 50%
прочность врага после войны: пв-уб*(вв/сб)

8/2=4 выстрела враг успеет сделать по башне (в зоне поражения)
16-4*4=16-16=0 враг уничтожит башню
прочность башни после войны: пб-ув*(вв/св)

Исход игры: враг захватит укрепления, игрок проиграет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы