Вычисление «мощи» игрока в игре типа «Защити свой замок»

10

Я создаю игру типа «Защити свой замок», в которой у каждого игрока есть свой замок, и он должен послать юниты, чтобы уничтожить замок противника. Похоже на это (и да, это настоящая игра, а не быстрое рисование краски ..):

введите описание изображения здесь

Сейчас я пытаюсь реализовать ИИ противника, и я хотел бы создать 4 разных уровня ИИ: легкий, нормальный, сложный и хардкорный. Я никогда не делал «серьезный» ИИ, и на этот раз я хотел бы создать достаточно законченный.

Моя идея состоит в том, чтобы рассчитать показатель «силы» игрока, основываясь на текущем здоровье его замка и индивидуальном показателе «силы» его юнитов. Затем ИИ просто попытался бы сохранить счет, близкий к счету игрока ( Easy оставался бы ниже его, Normal оставался бы рядом с ним, а Hard пытался подняться выше него). Но я просто не знаю, как рассчитать показатель силы игрока. Просто слишком много переменных, чтобы принять их во внимание, и я не знаю, как правильно использовать их для создания одного значимого числа (уровень мощности).

Может ли кто-нибудь помочь мне в этом?

Вот переменные, которые должны влиять на показатель силы игрока:

Текущее здоровье замка, общее здоровье юнита, урон, скорость и дальность атаки. Кроме того, игрок может увеличить доход (мешок с деньгами), урон (+ урон) и скорость (+ скорость) ... Как я могу включить их в счет?

Я действительно застрял здесь ... Или есть другой способ, которым я мог бы реализовать ИИ для этого типа игры?

Спасибо за ваше драгоценное время.

Джесси Эмонд
источник
Если какая-либо часть недостаточно ясна или если я должен представить больше информации о том, как я управляю функциональностью в игре, просто оставьте комментарий, и я отредактирую свой вопрос. Кроме того - это должно быть сообщество вики? Лично я не считаю это субъективным или спорным, но я могу ошибаться.
Джесси Эмонд

Ответы:

4

Я не уверен, насколько легко это будет сказать, но, пытаясь выяснить, насколько важна каждая переменная, вероятно, стоит начинать (если вы набираете 50 единиц здоровья, вы можете продержаться на 10 секунд дольше; если вы получаете 5 урона, вы может уничтожить 50 единиц здоровья на 10 секунд быстрее и т. д.). После этого стоит попытаться нормализовать способности (50 ед. Здоровья - это то же самое, что 10 ед. - это то же самое, что и 100 ед. Дохода).

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

nimbus57
источник
3

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

А в остальном: попробуйте. Начните с формулы мощности, которая кажется вам разумной (ответ nimbus57 должен быть хорошей отправной точкой), а затем разработайте свою формулу и ИИ итеративно.

И последнее, но не менее важное: постарайтесь убедиться, что базовая формула не может быть использована игроком для получения несправедливого преимущества и т. Д. Она также не должна быть слишком очевидной, как она работает, поэтому добавьте немного случайности.

Александр Гесслер
источник