Почти как в меме: как именно в Cyberpunk 2077 исправили работу полиции
В одну строчку разработчики все-таки не уложились.
Кстати, на сайте читать удобнее
Когда стало известно, что следующий патч для Cyberpunk 2077 изменит работу системы полиции, в сабреддите игры родился локальный видеомем. Игроки были уверены, что разработчики не будут слишком сильно менять скрипты и просто изменят дальность спавна полицейских.
После выхода патча выяснилось, что к работе системы полиции все еще есть вопросы: копы по-прежнему могли спавниться там, где им спавниться не надо. Заинтригованные, мы решили посмотреть, что изменилось в скриптах.
Скрипты Cyberpunk 2077 поставляются в скомпилированном виде: они собраны в гигантском файле final.redscript. К счастью, существует неофициальный декомпилятор, преобразующий скрипты в Swift-подобный язык.
Мы прогнали через декомпилятор скрипты из патча 1.12, затем декомпилировали скрипты из обновления 1.2 и посмотрели, как изменились функции и методы, ответственные за работу полиции. Оказалось, шутка участников сабреддита — не совсем шутка.
Функция GetSpawnDataFromHeatStage в игровом коде отвечает за жесткость реакции полиции на действия игрока. Чем выше уровень розыска — здесь он называется Heat — тем более серьезные силы будут отправлены к правонарушителю.
Определение самих сил скрыто в игровом движке — доступа к этому коду у нас нет — зато в скриптах указывается, где и как они будут спавниться. Оказалось, разработчики и в самом деле увеличили расстояние спавна: раньше полицейские могли появляться минимум в 5 единицах от игрока, а теперь только в 45.
Новый параметр hasRecon, появившийся в коде патча 1.2, отвечает за разведывательного полицейского дроида, появляющегося в случае совершения преступления.
Система работает просто: если игрок привлекает внимание полиции, то сперва всегда спавнится бот, а обычные полицейские занимают следующие места в очереди. С точки зрения кода дроид-разведчик считается еще одним уровнем розыска, но собственной звездочки у него нет.
А что там с полицейскими погонями?
И в старых, и в новых скриптах есть система, умеющая спавнить полицейские автомобили, когда игрок находится в розыске. Но их спавн, видимо, заблокирован разработчиками вручную: увидеть погони за пределами миссий мы не смогли.
Логику самого спавна полицейских тоже незначительно переписали. Во-первых, появилась поддержка дроида-разведчика; во-вторых, теперь система работает таким образом, что полицейские будут атаковать игрока бесконечными волнами — отбиться от них в принципе невозможно.
Кроме того, взгляд на скрипты подтверждает предположение, сделанное игроками после экспериментов с полицией в патче 1.2.
Если игрок находится в точке, куда полицейские могут добраться своим ходом, то они будут спавниться в отдалении и двигаться к игроку. Если точка недоступна, то полиция, как и раньше, станет спавниться поближе.
- Отменить или порезать: что случилось с мультиплеером Cyberpunk 2077
- Видео: эпичные баги Cyberpunk 2077 с патчем 1.2
- Из Kojima Productions ушел композитор Людвиг Форселл
- Digital Foundry: на самом деле в NieR Automata для Game Pass ничего не исправлено
- Все задерживается: что мы узнали о ремастере The Witcher 3 и дополнениях к Cyberpunk 2077 из презентации CD Projekt
- Курс на RED 2.0: главное из новой стратегии CD Projekt