Жизни каждого NPC важны: как и зачем я ограничил численность населения в играх GTA

Автор: | 18.11.2023
Жизни каждого NPC важны: как и зачем я ограничил численность населения в играх GTA

Жизни каждого NPC важны: как и зачем я ограничил численность населения в играх GTA

Вы когда-нибудь задумывались о том, как игралась бы GTA, в которой убийство случайного NPC влияло бы на общую численность населения игры? Один мой знакомый однажды задумался об этом, а я, как человек, падкий на эксперименты, смог это реализовать.Сложность реализации состояла в том, что NPC ни в одной GTA не имеют какой-то уникальности и просто генерируются общим потоком. В старых частях и вовсе часто можно встретить одинаковых персонажей, бродящих по улицам. В GTA 5 с этим дела обстоят лучше, но какой-то эволюции в системе генерации всё равно не произошло.

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

Другой проблемой стало отслеживание количества убийств, совершенных игроком. Я поставил цель установить лимиты в GTA 3, GTA Vice City, GTA San Andreas и GTA 5 (четвёрку миновал из-за отсутствия её у меня на компе). И если в классических GTA есть внутриигровой счетчик, подсулучшениявающий количество убитых NPC с начала игры, то в GTA 5 его почему-то нет (неужели борьба с жестокостью?). Что же, пришлось написать такой счетчик самостоятельно: я получаю массив всех сгенерированных NPC и отслеживаю, кто из них только что склеил ласты.

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

Благо на ютубе нашелся человек, который посчитал численность мира GTA 5… по количеству жилых домов. Если отбросить всевозможные условности и технические особенности, в штате Сан-Андреас вселенной GTA 5 проживает около 18 тысяч человек.

В общем, если интересно, можете ознакомиться с его анализом подробнее
Мне было лень делать аналогичные расчеты, так что я максимально условно перенес цифры на классические GTA, уулучшениявая объем площади карты:

GTA San Andreas — 10 тысяч
GTA Vice City — 5 тысяч
GTA 3 — 2 тысячи
Таким образом, устраивая мясорубку на какой-нибудь миссии, вы ненароком будете понижать численность мира игры. Счетчик убийств в моде не предусмотрен (то, что на скриншотах в статье, это отладочная информация), но если уронить популяцию в ноль, вы получите пасхалку в виде сообщения на экране. В классических GTA можно отслеживать прогресс в меню статистики.

Так вот, ответ на главный вопрос, а зачем, собственно, я вообще взялся за создание этой модификации?

Во-первых, по приколу. Люблю копаться в реализации нестандартных идей. А во-вторых, эта разработка помогла мне в создании другой модификации для GTA 5, которая тоже влияет на численность популяции, но теперь она зависит от времени суток: больше вы не попадете в пробку на шоссе и дорогах глубокой ночью.

Мод еще нуждается в доработке и не совместим с описанным в этой статье Limited Population, но очень скоро всё это будет исправлено.