В 90-х годах создавать в играх реальные толпы персонажей было невозможно чисто технически. Такие игровые приставки, как NES и SEGA попросту не обладали необходимой для этого вычислительной мощностью. Поэтому разработчикам приходилось идти на всяческие уловки.
К примеру, в спортивной игре NHL 94 для NES, чтобы создать зрителей на трибунах по сути было нарисовано всего 6 разных модели болельщиков. Их умело расставляли в разной последовательности так, чтобы создавалось ощущение, словно зрителей много.
Уже ближе к концу прошлого тысячелетия, в приставках появилась первая 3D графика. Изображение на экране стало значительно лучше, однако мощности всё равно не хватало.
В 1997 году на Sega Saturn в игре NBA Action 98 зрители уже были созданы в виде спрайтов, "натянутых" на трибуны. Полигонов там вообще не было, что освобождало мощность для движения игроков на поле.
Через несколько лет уже в игре NBA 2К1 на приставке Sega Dreamcast зрители уже были воссозданы значительно лучше и реалистичнее, однако они всё ещё были исполнены в виде спрайтов, только качеством повыше.
Удивительно, но абсолютно новое решение в создании толпы пришло в игровую индустрию из кинематографа.
Специально для фильма "Властелин Колец" была создана специальная система анимации под названием Massive Software, которая была способно воссоздать на экране реалистичное поведение огромного количества NPC. Так режиссёр хотел сэкономить на статистах и необходимости проводить дорогостоящие натурные съемки.
Узнав об этой технологии, её стали переносить и в игровые движки.
Первопроходцем в создании большого количества NPC на экране стали Rockstar Games. В 2001 году студия выпустила абсолютно революционный для тех лет Grand Theft Auto 3. Впервые в трехмерной игре был воссоздан не только большой детализированный город, но и огромное количество его жителей. Именно в этой игре впервые использовали систему симуляцию толпы. Прохожих на улицах конечно было не так уж и много, зато каждый из них мог реагировать на поведение главного героя.
Спустя несколько лет, в 2007 году, компания Ubisoft совершила просто колоссальный прорыв в деле создания толпы в видео играх, выпустив первый Assassins Creed.
Толпу людей на улицах города разработчики создавали благодаря процедурной генерации - по сути у них были десятки различных заготовок с головами, ногами и туловищами прохожих. Эту систему они назвали "системой Франкенштейна". Для всех частей тела прохожих были созданы сотни анимаций, и во время игры движок случайным образом компилировал из этих частей простых жителей города, которых мы и видели на экране.
Ну, а чтобы не нагружать игровую систему (РС или консоль), а также чтобы игрок мог нормально играть без проседаний частоты кадров, разработчики придумали систему LOD-ов - моделей с разным количеством полигонов и различной прорисовкой. Чем дальше от героя находится NPC, тем меньше полигонов на нем прорисовано. А когда герой подходит ближе, то игровой движок быстро подгружает более детализированную модель.
Эту же систему в том или ином виде используют практически все современные разработчики, а с тех времен она практически не изменилась. Разница лишь в том, какое количество NPC позволит воспроизвести на экране движок игры, а также насколько умны могут быть простые прохожие - насколько реалистично они будут реагировать на поведение героя.
Хочешь узнать больше?! Тогда читай о том, как создавался God of War (2018).