Один день из жизни автомобилиста в Cyberpunk 2077
Самый простой способ проехать перекресток — отвернуться в другую сторону.
Кстати, на сайте читать удобнее
Изучать жизнь пешеходов в Cyberpunk 2077 легко и приятно: выбираете пару персонажей, садитесь им на хвост и начинаете более-менее ходить кругами. Собираясь посмотреть, как в игре устроен ИИ автомобилей, мы ожидали увидеть что-то похожее.
Скорее всего, думали мы, машины в худшем случае привязаны к какому-нибудь маршруту, а в лучшем — к какому-нибудь району, и колесят по ним бесконечно. Оказалось, что в искусственный интеллект водителей разработчики вложили чуть больше сил, чем в пешеходов Найт-Сити.
Следовать за машинами мы решили просто. Вместо того, чтобы прыгнуть на байк или в собственный автомобиль, наш Ви просто забрался на крышу ближайшего автомобиля. Водителя это не смутило: подождав, пока на светофоре загорится зеленый, он двинулся в путь.
Дело было в самом центре города, напротив квартиры Ви. Светофоров тут много, тут же выяснилось два забавных момента.
Во-первых, время переключения светофоров выставлено случайно: некоторые могут включать зеленый всего на несколько секунд, за ними быстро собираются пробки. Заметить это во время обычной игры не так-то просто: признайтесь, вы наверняка не ездите в Найт-Сити по правилам дорожного движения.
Во-вторых, для водителей-ИИ светофоры работают не только вперед, но и назад. Если автомобиль успел проехать светофор в последний момент и при переключении на красный оказался рядом с ним, то он остановится и подождет, пока светофор у него за спиной не переключится на зеленый.
Наш водитель довольно долго колесил по улочкам, надолго тормозя у светофоров, но все-таки продвигаясь вперед. Стало ясно, что маршруты у ИИ-водителей довольно длинные: мы все дальше уезжали от дома Ви. Правда, время от времен ИИ глючил.
Иногда что-то неладное происходило со светофорами. Горит зеленый, наша машина — первая у перекрестка, впереди никого нет, но водитель упорно не хочет двигаться вперед. У одного такого перекрестка мы простояли как минимум семь внутриигровых минут.
Момент, когда водитель все-таки решил двигаться дальше, мы проглядели: просто после очередного взгляда на экран стало ясно, что мы уже на другой улице. Словом, иногда даже заглючивший ИИ умеет приходить в себя.
Иногда, но не всегда. Добравшись до моста между районами, машина и окружающие ее автомобили вдруг намертво встали у экрана, вмонтированного в асфальт. Двигаться вперед они не хотели ни в какую.
Складывалось полное ощущение, что автомобили тормозят перед невидимой преградой. Делали они это очень странно: машины, мчавшиеся по автостраде на полном ходу, останавливались моментально.
Заинтересовавшись глюком, мы спрыгнули с подвозившего Ви автомобиля. В мозгах у ИИ тут же что-то щелкнуло: машина, ехавшая следом, продвинулась вперед и наполовину проникла в автомобиль, на крыше которого ездил наш персонаж.
Тут же выяснилось, что система генерации машин работает примерно так же, как у NPC. На случай, если вы забыли: игровой движок не обращает особого внимания на объекты вне поля зрения игрока и может скрыть их в любой момент.
С машинами это выглядит довольно комично. Немного отойдя от нашего зависшего транспорта, мы отвернулись в другую сторону, а потом повернулись обратно. Игровой движок успел скрыть автомобиль, но его водители остались на месте. Спустя пару секунд такого висения пропали и они.
Делать нечего. Пройдя чуть вперед от проклятого места (позже нам попалось еще несколько таких точек), мы запрыгнули на другой автомобиль и двинулись в сторону делового квартала Найт-Сити.
У подножия штаб-квартир корпораций есть масса сложных перекрестков, где пересекаются несколько потоков машин. Было очень интересно посмотреть, как разработчики реализовали правила дорожного движения, позволяющие проезжать такие перекрестки.
Оказалось — более-менее никак. У первого же крупного перекрестка мы попали в гигантскую пробку: машины время от времени немного продвигались вперед, но делали это с такой скоростью, что хвост пробки рос гораздо быстрее.
Через несколько минут ожидания мы решили схитрить — и на миг отвернулись. Повернувшись обратно к перекрестку, наш Ви обнаружил, что большая часть машин на нем пропала. Отлично, можно двигаться дальше.
Правда, когда наш автомобиль выехал на сам перекресток, проблема возникла снова. ИИ-водители никак не могли решить, кто и в каком порядке должен ехать вперед. В какой-то момент все машины просто встали, время от времени сигналя друг другу.
Пришлось схитрить еще раз. Первый поворот камеры в другую сторону ничего не дал: игровой движок просто сгенерировал перед нашим автомобилем другую машину, заодно заменив часть автомобилей на перекрестке.
Зато во второй раз все прошло отлично. Автомобили впереди исчезли и мы наконец-то смогли проехать через перекресток, углубившись в деловой центр.
Наш водитель пару раз вильнул, свернул во дворы и стало полегче: сложных перекрестков тут не было. Правда, в какой-то момент мы столкнулись с еще одним глюком ИИ — или, возможно, невидимым автомобилем.
Грузовичок, за которым ехала наша машина, тормознул достаточно далеко от светофора и никак не хотел продвигаться вперед. Повороты камеры не помогали, пришлось слезть с нашего транспорта и посмотреть, что происходит впереди.
Мы думали, что ИИ опять заглючил и перед грузовиком стоит вереница машин, не сумевших справиться со светофором. Не тут-то было: впереди не было вообще ничего. Места перед грузовиком хватило бы на пару-тройку автомобилей; возможно, игровой движок их просто не отрисовал.
Пришлось снова менять транспорт. Новая попутка двигалась в сторону Кабуки: мы решили проверить, сможет ли машина преодолеть границу между районами, или снова зависнет где-нибудь у экрана на мосту.
По пути через деловой центр выяснилось, что сценки вроде аварий — мы не уверены, созданы ли они динамически или расставлены разработчиками — тоже зависят от того, видит ли их игрок.
Вот, например, авария на перекрестке. Машины перегородили дорогу, сейчас, наверное подъедет полиция, пообщается с водителями, а потом они разъедутся в стороны и отправятся чиниться. На самом деле нет.
Как только мы потеряли аварию из виду, она моментально исчезла. Через три минуты тот же перекресток выглядел так, словно никакого столкновения тут никогда не было.
Зато путешествие в Кабуки оказалось очень интересным. На этот раз нам повезло: ИИ водителя ни разу не заглючил и машина, на которую мы запрыгнули в деловом центре, проехала аж по трем районам Найт-Сити. Правда, из-за своеобразного прохождения перекрестков на это ушло несколько внутриигровых часов.
Итак, резюмируем: вот что мы узнали об искусственном интеллекте водителей Найт-Сити.
- ИИ есть только базовый: он умеет ехать на зеленый свет, иногда пропускает пешеходов, старается не врезаться в другие машины.
- ИИ не в курсе, как проезжать перекрестки или разбираться со сложными ситуациями. Если пальнуть в машину, стоящую в пробке, ее водитель выскочит и убежит, а не попытается уехать.
- Вся симуляция работает только на глазах игрока. За кадром игровой движок просто создает машины заново: это позволяет не беспокоиться о появлении в Найт-Сити бесконечных пробок или огромного количества аварий.
- Маршруты машин, видимо, меняются динамически и не привязаны к набору улиц или району. Мы так и не смогли найти точку, где машина бы «доехала до конца» и отправилась в обратный путь, как NPC.
- Забавный момент: изображения и ролики на рекламных экранах обновляются или запускаются заново, когда попадают в поле зрения игрока.
- Еще забавный момент: в некоторых местах разработчики забыли добавить светофоры и пешеходы могут кидаться под колеса машин, едущих на зеленый свет. Те послушно тормозят.
- В Cyberpunk 2077 нашли остатки вырезанной транспортной системы
- Встречаются баги: в «М.Видео» выставили предупреждение о проблемах Cyberpunk 2077
- Бесплатная раздача Night In The Woods в Epic Games Store
- Продажи ноутбуков и компьютеров приблизились к уровню 2008 года
- Технично и грубо. Про Киберпанк как жанр и не только
- CD Projekt о групповых исках: будем бороться