В Renegades и Renegade Tactics люди жаловались на то что боты слишком предсказуемы, вплоть до того что иногда точно знаешь на какую клетку они встанут в следующий ход. Так что я решил сделать их поведение более спонтанным. Вдохновился несколькими статьями про Utility AI и реализовал у себя что-то подобное. Если кратко, то суть в том что у каждого персонажа есть набор действий, и для этих действий в начале хода рассчитывается вес. Если вес равен нулю, то это значит что действие выполнить в данный момент нельзя и оно сразу отбрасывается. А из всех действий вес которых больше нуля выбирается случайное, при этом учитывается тот самый вес. То есть в большинстве случаев персонажи стремятся выбрать наиболее подходящее действие, но иногда могут выбрать не самое умное и выгодное для них, но все равно приемлемое для текущей ситуации. Например бот, вместо того чтобы выйти из-за двери и дать хедшот по противнику с хорошими шансами на попадание, может отбежать к другому укрытию, пропустить ход или выйти и выполнить обычную атаку.
Грустно, 8 лет пути, а игра метит в 10-20 покупок на релизе.
Да, по количеству вишлистов именно такой прогноз. Но как говорится: "У инди нет цели. Только путь" =)