Лучшее  🚀
30.03.2021 в 22:25 Evernews

Почти как в меме: как именно в Cyberpunk 2077 исправили работу полиции

В одну строчку разработчики все-таки не уложились.

Кстати, на сайте читать удобнее

Когда стало известно, что следующий патч для Cyberpunk 2077 изменит работу системы полиции, в сабреддите игры родился локальный видеомем. Игроки были уверены, что разработчики не будут слишком сильно менять скрипты и просто изменят дальность спавна полицейских.

После выхода патча выяснилось, что к работе системы полиции все еще есть вопросы: копы по-прежнему могли спавниться там, где им спавниться не надо. Заинтригованные, мы решили посмотреть, что изменилось в скриптах.

Скрипты Cyberpunk 2077 поставляются в скомпилированном виде: они собраны в гигантском файле final.redscript. К счастью, существует неофициальный декомпилятор, преобразующий скрипты в Swift-подобный язык.

Мы прогнали через декомпилятор скрипты из патча 1.12, затем декомпилировали скрипты из обновления 1.2 и посмотрели, как изменились функции и методы, ответственные за работу полиции. Оказалось, шутка участников сабреддита — не совсем шутка.

Функция GetSpawnDataFromHeatStage в игровом коде отвечает за жесткость реакции полиции на действия игрока. Чем выше уровень розыска — здесь он называется Heat — тем более серьезные силы будут отправлены к правонарушителю.

Определение самих сил скрыто в игровом движке — доступа к этому коду у нас нет — зато в скриптах указывается, где и как они будут спавниться. Оказалось, разработчики и в самом деле увеличили расстояние спавна: раньше полицейские могли появляться минимум в 5 единицах от игрока, а теперь только в 45.

Новый параметр hasRecon, появившийся в коде патча 1.2, отвечает за разведывательного полицейского дроида, появляющегося в случае совершения преступления.

Система работает просто: если игрок привлекает внимание полиции, то сперва всегда спавнится бот, а обычные полицейские занимают следующие места в очереди. С точки зрения кода дроид-разведчик считается еще одним уровнем розыска, но собственной звездочки у него нет.

А что там с полицейскими погонями?

И в старых, и в новых скриптах есть система, умеющая спавнить полицейские автомобили, когда игрок находится в розыске. Но их спавн, видимо, заблокирован разработчиками вручную: увидеть погони за пределами миссий мы не смогли.

Логику самого спавна полицейских тоже незначительно переписали. Во-первых, появилась поддержка дроида-разведчика; во-вторых, теперь система работает таким образом, что полицейские будут атаковать игрока бесконечными волнами — отбиться от них в принципе невозможно.

Кроме того, взгляд на скрипты подтверждает предположение, сделанное игроками после экспериментов с полицией в патче 1.2.

Если игрок находится в точке, куда полицейские могут добраться своим ходом, то они будут спавниться в отдалении и двигаться к игроку. Если точка недоступна, то полиция, как и раньше, станет спавниться поближе.

Читать далее