Искусственный интеллект в играх - основная структура.

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


Основная структура искусственного интеллекта в игре 

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


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


  1. 2) Мышление: 
    ИИ должен анализировать поступившую ему информацию об окружении и принять решения, что ему нужно сделать в текущий момент времени. Если упроститькак поступить в ответ на полученную информацию (при найденном источнике ресурсов, стоит ли его захватывать, на сколько далеко он от положения ИИ в игре, есть ли рядом противники и так далее.) 

  1. 3) Действие: 
    Из анализа ИИ делает действия, которые реализуют его решения (в примере бот начнёт двигаться к источнику ресурсов, чтобы его захватить, либо будет ждать следующий ход, подводя войска для сражения за источник ресурсов) 

И эти три действия должны быть зациклены, так как состояние игры либо меняется пошагово (один ход – запуск цикла по новой), либо в реальном времени соперник может передумать и пойти в другую сторону и это новые поступающие данные, которые надо проанализировать и выполнить соответствующие действия.