Кое-какие соображения
Цитата:
Сообщение от pokibor
Обычно под скриптами понимают жёстко прописанные сценарии поведения бота, построенные по принципу конечного автомата.
|
В самом первом приближении на самом низком уровне понимания.
"AI" скриптовых сцен "для сюжета".
Цитата:
Сообщение от pokibor
Бросающееся в глаза улучшение алгоритма - придумать несколько вариантов ответов на одно и то же состояние и случайным образом выбирать один из них. Это, разумеется, будет выглядеть лучше - но искусственность AI всё равно будет бросаться в глаза. Скриптовый AI неспособен предпринимать неожиданных действий (а ведь порой глупые на первый взгляд действия человека благодаря эффекту неожиданности позволяют ему победить).
|
Но так и делается нормальный скриптовый AI. Уже много-много лет. Имеется несколько вариантов действий, которые выбираюся либо по вероятностям (чаще всего, часто, иногда, редко, исключительно редко), либо случайно (равновероятные события).
При этом чем больше вариантов, тем меньше бросается в глаза искусственность AI (боты ведут себя по-разному в одних и тех же ситуациях).
Цитата:
Сообщение от pokibor
Например, какая разница, насколько шаблонно ведёт себя отдельный пехотинец в армии из пяти десятков себе подобных, оставшись без приказов игрока?
|
Как это "какая разница"?!
Пример: в игре, которой уже 14 лет, со скриптовым AI, предоставленные сами себе бойца могут:
--
ситуация: игрок забыл про подчиненных
а) ловить рыбу
б) стрелять по инопланетным тушканчикам
в) курить "козьи ножки" (здоровенные самокрутки)
г) разбить бивак и греться у костра
д) пить энергетические напитки ("Rocket Fuel")
е) валятся в шезлонгах и читать газеты (как только игрок обращает на них внимание шезлонги немедленно прячутся, газеты выбрасываются)
--
ситуация: игрок переместился в другую часть экрана, или долго не обращает на них внимания
а) осматривать место, в котором игрок их покинул
б) перемещаться в ограниченной области туда-сюда
в) заглядывать за углы зданий
--
ситуация: бойцы только что выполнили приказ и находятся в поле зрения игрока
а) ждут приказов, стоят на месте, крутят головой во все стороны
Т.е. общий тип поведения зависит от времени, которое прошло с последнего приказа игрока. Но вариант выбирается вовсе не жестко.
И больше всего вариантов как раз в случае, когда игрок покинул пехотинцев надолго.
Это естественно, поскольку люди отличаются больш
Ой вариантностью поведения именно тогда, когда их никто не видит. А одна из задач AI, о которой почему-то забывают, -
иммитировать поведение человека (если боты человекообразны), либо иммитировать естественное поведение монстров (в соответствии с человеческими понятиями "естественности").
Добавлю, что в отделении бойцов от 3-х, до 4-х. И помимо "типов" имеются и существенные индивидуальные различия. К примеру - один из них может отстать, заглядевшись на прыгающих рыбок, а потом бросится в догонку. Они могут совершать ошибки, т.е. в одном шаге до флага (что означает захват сектора) попав под обстрел развернутся к стреляющему и вести ответный огонь (вместо того, чтобы наплевать на врага и сделать последний шаг). И т.д. А способность совершать ошибки -- тоже присуща человеку и является частью иммитации человеческого поведения.
Вот вам и "скрипты".
Цитата:
Сообщение от pokibor
CBR можно считать некоторым шагом вперёд по сравнению со скриптами и, соответственно, с упомянутой выше RBS. В основе CBR лежит идея использования предыдущего опыта решения определённых задач для последующих выводов.
|
Не стоит так считать, во всяком случае в играх. ИМХО
Самообучающаяся система (о ней ведь речь?) может найти применение в игре, безусловно. Но только где? Ранее активно обсуждалась модель игр "подстраиваемых под игрока". Т.е. AI на ходу оценивал уровень сидящего перед ним геймера и подстраивался так, чтобы (как верно было сказано) "красиво проиграть". Однако эти разговоры что-то заглохли. Такой AI получается неоправданно сложным.
Развитый скриптовый AI сегодня удовлетворяет любым требованиям, если сделан с умом. А если нет, то не скрипты виноваты, а с программистом что-то не так. ИМХО