Интеллект игровых водителей.
Итак, о чем пойдет речь? Само собой об играх, об их интеллекте, но задумка сей статьи несколько отличается от обычных журнальных статей, в которых пишут насколько хорош интеллект той или иной игры. Это статья предназначена как ориентир для создания СПАУА (системы полного автоматического управления автомобилем) и существует в рамках проекта «35 тысяч жизней», цель которого уберечь людей от гибели в автокатастрофах. И как только данная система будет создана и запущена в серийное производство (я на это очень надеюсь), проблема высокой смертности на дорогах РФ будет решена.
В авто-симуляторах нам приходится иметь дело с компьютерными игроками – ботами. Они могут самостоятельно избегать препятствий, реагировать на ваши действия, обманывать вас в вашей же игре, такое ощущение что за них кто-то играет, но нет, - это искусственный интеллект, может он не равен человеческому, но в рамках данной игры (программы) может и превзойти. Рассмотрим компьютерных водителей из некоторых игр – авто-симуляторов.
Я бы хотел
первой в этот список добавить игру «Flat Out» и «Flat Out
2», разработчиком которых стала компания Bugbear. В этой игре отлично
воплощена физика, аэродинамика, отличная графика, ну и конечно то, о чем идет
речь – у этой игры превосходный интеллект, кстати у обоих
игр в интеллекте отличий практически нет. Поговорим о характеристике интеллекта
ботов этой игры:
– само собой спокойно передвигаются по трассе самостоятельно;
– всегда придерживаются центра трассы;
– снижают скорость перед поворотом;
– при попытке зажать противника между стеной (или другим предметом: деревом, столбом, другим противником) и своим авто то противник сначала уклоняется от вашей атаки, отклоняется по курсу вашего приближения, то есть, если вы его прижимаете в правую сторону, то он аккуратно отклонится от вас в том же направлении, но если он приблизится другим боком к какому либо предмету, то он выберет что ему делать, я замечал тока 2 случая поведения в такой ситуации, противник либо остановится, либо постарается вас обогнать в целях не столкновения его автомобиля с чем-либо еще;
– если вы резко затормозили перед противником, то он сделает тоже самое и постарается вас обогнать;
– если на «улице» стало темно или появился туман (начался дождь, появилось большое количество частичек в воздухе) автоматически включаются фары, это есть практически в каждой нормальной игре.
Это основной интеллект в игре, есть еще некоторые мелочи, но они не так важны для проекта.
Следующей в список попадает весьма популярная игра, она же и самая надоедливая GTA: San Andreas. Весьма привлекательная игра, а так же ее возможности. Боты ведут себя тоже достаточно «живо». Характеристики водителей-ботов (некоторые указываться не будут, т.к. они могли быть такими же как и в предыдущей игре):
–
все авто подчиняются светофорам;
– если дорога узкая и на повороте машина встретит встречную, то оба авто остановятся, затем медленно и аккуратно, начнут движение, причем удачно;
– если встретится такая ситуация, когда машины все таки не смогли разъехаться, то одна из них или обе одновременно сдаются назад и выбирают наиболее удачный маршрут для выезда. P.S. в данной игре весьма агрессивные водители, поэтому при выезде водители не обращают внимание на рядом стоящие машины. Таким образом машина выбирает опасный путь для выхода из ситуации, но с выбором наименьших последствий для нее.
– перед человеком или каким-либо другим препятствием машина остановится (в связи с некоторой не до скриптованностью или компьютерными лагами это происходит не всегда, но это частные случаи) и посигналит.
– также машина подает сигналы и машинам, едущим впереди, но с недостаточно большой скоростью.
– есть тут и свой минус, авто стремится к постоянному движению, то есть, если в «уперлись в лоб» другой машины и вам надо выехать, то у вас возникнут некоторые трудности. Для выезда вам необходимо сдать назад, но как только вы это сделаете, авто ,стоящее перед вами, подъедет ближе к вам;
– машины пропускают авто с включенными мигалками (полиция, скорая помощь, пожарная служба). Те машины, что едут по той же полосе, что и авто какой-либо службы, сворачивают на обочину, освобождая дорогу для проезда. А встречные просто останавливаются, чтобы случайно не помешать и не устроить ДТП.
– в случае опасности (выстрелы, взрыв) боты начинают в панике уезжать с того места подальше, расталкивая всех на своем пути.
– в игре на всех перекрестках существуют светофоры, но это только в «городе», за «городом» тоже есть перекрестки и светофоров там нет. Так вот, если машина поехала по перекрестку и встретила там другую машину, за счет невысокой скорости, она успеет остановиться, подождать до тех пор, пока препятствие не исчезнет, после чего продолжит свое движение. Ситуация, в которой машина не может продолжить свое движение описывалась выше (про агрессивных водителей).
На этом коротеньком списке, состоящем всего из двух игр, пожалуй, можно закончит. На мой взгляд этой информации вполне достаточно для описания поведения ботов в авто-симуляторах.
Подводя итог
выше сказанного, можно определенно сказать, что как такового идеального
интеллекта не существует. Существуют лишь различные интеллектуальные,
логические системы или же программы, настроенные на определенную деятельность и
вид работы, и тех надо раз за разом совершенствовать, а то и создавать
новшества. Это всего лишь программы, имитирующие интеллект.