mercy_smile
@mercy_smile

Как написать нейронную сеть для игры в шутер?

Хочу написать нейронную сеть для игры в шутер, подскажите что для этого нужно, я видела как играют боты opanAI, StarCraft 2, и Doom 1995 года, но я не понимаю как они обучают ботов, если есть конкретные примеры скиньте пожалуйста.
  • Вопрос задан
  • 660 просмотров
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
Это обучение, по сути, поднатаскивание под поведение в определенных сценариях, метрики которых можно брать у лучших игроков. У разработчиков игр они могут быть.
Для игр можно практиковать и другие способы, например, деревья решений.
Ответ написан
@Wundarshular
В общем смысле искусственные игровые противники имеют некоторую заданную цель, которой "стремятся" достигнуть. Для упрощения настройки и программирования, цель раскладывается на задачи и подзадачи.

Например, цель ботов в Quake 3 или Counter Strike - доминировать в матче. Чтобы достигнуть этой цели, нужно выполнить следующие задачи: совершить больше всех убийств противников, быть убитым наименьшее число раз. Чтобы лидировать в списке убийц, нужно владеть лучшими предметами, занимать наиболее выгодные позиции на карте. Чтобы не быть убитым, необходимо иметь непредсказуемую тактику движения и, например, избегать открытых пространств. Эти подзадачи раскладываются на составляющие до тех пор, пока не будут максимально доступны для программирования.

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

Вышеописанное является очень обобщённым вариантом, и в литературе по теме вы найдёте более изящные реализации. В том числе и с использованием всевозможных нейронных сетей.
Прежде всего, как отметили выше, вам нужно определиться с вашими целями: какой игровый ИИ вы хотите сделать, и что он должен делать. Как только вы формализуете и структурируете свою задачу, вы быстро найдёте область решений и необходимую литературу.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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