Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

Как многие уже заметили в Stalker 2 нет живого мира. Мир зоны в отличие от прошлых частей "мертв" - и работает на скриптах, кому-то этого достаточно - но труъ - исследователям аномалий и зоны такой реализации конечно мало.

Я ранее уже рассказывал как работал A-Life в первом сталкере. Чего они хотели добиться и на каких принципах происходила симуляция NPC.

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

A-Life 2.0 который ждали

Почти сразу после выхода игры многие заметили что чего-то на зоне нехватает и чего-то не так, не как в игре 15 летней давности:

Внимательные игроки моментально заметили, что на некоторых аванпостах НПС телепортирует с задачей занять базу почти моментально, а количество одинаковых встреч с монстрами как то зашкаливает. И не то что бы "занятие аванпостов" было чем то необычным на зоне, но старый А-лайф для этого генерировал НПС далеко за пределами игрока и до места им приходилось добираться до места минут 15-20 и это у "замены" зачастую получалось отнюдь не с первого раза.

И вот тут у игроков соответствующим образом возник вопрос. А где та самая прорывная технология которую пиарили как киллер фичу франшизы?

Может у нас всех коллективный эффект Манделы и в результате мы помним то чего нет? Может GSC никакого живого мира нам и никогда и не обещали?

Что же обратимся к архивам интернета, где как нам известно ничего не пропадает, вот два скрина из Стима за 13 и 20 ноября. Перепроверим себя!

Как можем видеть GSC вырезало упоминание A-Life 2.0 у себя со страницы игры. Официально больше такая технология не является килер-фичей серии. Хотя за неделю до выхода - фича еще упомяналась:

Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

Система Симуляции "А-лайф 2.0" сделает игровой мир живым как никогда прежде.

Никто ничего не забывает GSC...

Тогда еще более внимательные игроки просеяли ситом файлы игры в поисках того самого A-Life, и как ни странно нашли - файлы конфигурации. Такая сущность с таким именем в игре есть: AlifeDirector
И она задана в AlifeDirectorScenarioPrototypes.cfg - файле шаблона событий.

Если кому интересно просеять незашифрованные файлы UE4/5 можно через FMODEL - код программы дата майнинга вытаскивающие имена сущностей, и содержимого движка если они остались при компиляции.

Так например в файле шаблона конфигурации НПС можно заметить строчку UnkillanleByAlife, что можно перевести как переменную "неубиваем системой А-лайф".

Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

Но как она должна работать?

Большая часть других команд - это параметры поведения бота. Может ли торговать, как проходит аномалии, реагирует ли на наведенное оружие. Тут еще интересен только один пункт:

IgnoreEmission - Реакция на выброс.

Она означает Вероятность телепортации и появления дружественного НПС во время рандомного события рядом с игроком. Этот параметр отвечает - будет ли НПС призываться и показываться на глаза игроку или же нет.

А в файле конфигурации AlifeDirectorScenarioPrototypes.cfg мы видим следующие переменные, это начальный раздел конфигурации, он определяет глобальные правила конфигурации:

Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

Стандартная Дистанция Спавна: Минимальная, Максимальная

... Время задержки, задержка между волнами спавна... эээ - это точно A-life? Это же ... система генератора рандомных событий!

То что в Сталкере 2 называется A-Life - это по своей сути генератор встреч! Полный аналог систем Скайрима или РДР2 :

Типичная встреча в RDR2
Типичная встреча в RDR2

Где нам по дороги могут встречаться "случайные события" по таблице, где часть параметров определяется броском кубика: будь то численность монстров/людей, или тип "группировки", или случайные "друзья нашего героя":

  • Humans_Wounded_Friendly_vs_Dead_Mutants
  • HumansFriendly
  • HumansVsDeadHumans_Friendly
  • HumansVsHumans
  • HumansVsMutants
  • Mutants

Но дайте дешифруем все показатели указанные в файле конфигурации:

Для начала единицы измерений. Длина/Ширина и углы - тут все просто. Длина в UE это сантиметры, Углы - градусы.

Но что с временем? Обычно время задает каждый разработчика сам - возможно это секунды, тики, минуты, игровые минуты? По умолчанию анрил предлагает работать с обработчиком событий Even Tick. Но это не удобно.

Склоняюсь к варианту - что это минуты или условные игровые минуты. Одна минута в реальности - это ±12 игровых минут (но это не точно, нужно замерять)

Итак, пройдемся по AlifeDirector:

SID - это вероятно сокращение от "Seed ID" , значение в таблице события соответствующего спавнеру. Впрочем, могу и ошибаться. И возможно, это "вероятность события" при броске кубика. Или иная фишка.

DefaultSpawnDistanceMin - Этот параметр минимального расстояния до спавнера , на котором может появиться сценарий равный 60 метрам.

DefaultSpawnDistanceMax - Максимальное расстояние до спавнера, которое может появиться в сценарии, вероятно, такое же как расстояние просмотра объектов в игре, равное 65 метрам.

-----

Для сравнения в 1м Сталкере все Alife рассчитывал все события в зоне 150 метров от Меченого максимально честно, все персонажи были в рамках системы online, в продолжениях ЧН и ЗП - зона честного расчета была увеличена.

----

DefaultSpawnDelayMin - Минимальное время восстановления для спавнера составляет не менее 30 минут.

DefaultSpawnDelayMax = 120 / Максимальное время восстановления.

----

Как можем видеть - система скоре всего навалит на игрока разнообразных встреч в самом начале - c периодичностью в 30-120 минут. (скорее всего речь идет о 2.5-10 реальных минутах)

----

DefaultPostSpawnDirectorTimeoutMin/Max = 40 / Еще один тайм-аут относительно спавнера. Вероятно, обрабатывает отсчет времени паузы до создания других сценариев, для которых PostSpawnDirectorTimeoutMin/Max не определен самостоятельно, следовательно, по умолчанию. Однако в большинстве сценариев это указано.

DefaultSpawnDirectionAngleMin = -180 / Угол генерации события Минимальный.

DefaultSpawnDirectionAngleMax = 180 / Угол генерации события Максиммальный

----

Как можем понять - события генерируются вокруг игрока. -180 по 180 - разница в 360.

Что приводит к занятному выводу: бегите как черт - тогда засады чаще будут сзади а не спереди.

----

DefaultALifeLairExpansionToPlayerTimeMin/Maz = 120 / Минимальное и максимальное время ожидания для сценариев расширения Логова.

Но что такое "логово" в сталкере 2? Это буквально Зона в ЗОНЕ - где можно встретить конкретный тип "События". Не стоит думать что "Expansion" имеет какое-то значение для реальной симуляции живого мира. Это просто обозначение типа "локального сценария", которое может быть в конкретном аванпосте/локации. Так в конфигурации встреч есть куча сценариев, касающихся боев между фракциями людей, в зонах обозначенных "логовами"

DefaultExpansionSquadNumMin/Max - это количество бойцов порождаемых с разных сторон на битву в "логове" от 4 до 7 с каждой стороны.

DefaultExpansionLairDistanceMin/Max - в отличие от обычного спавна - система "логовищ" порождает сразу два отряда антагонистов - поэтому минимальное и максимальное расстояние - 60/80метров. По сути задает разницу в 20 метров между бойцами.

DefaultShouldDespawnNPCs - Переменна я указывающая, что: "появившиеся НПС и монстры" - исчезают сразу стоит игроку выйти из зоны спавна. Поэтому отбежав за патронами и вернувшись рискуете уже никого не застать.

DefaultContextualActionSearchRange - Расстояние поиска контекстного активатора. Как полагаю часть событий должна начаться когда игрок войдет в зону триггера, а не по таймеру - и расстояние до центра активации по умолчанию равно 75метрам. Видимо данный параметр нужен для сюжетных сцен, и квестов.

---

Как мы видим в Сталкере 2 готовились мир скриптовать ручками.

----

DefaultEmissionScenarioGroup = Сценарий Выбоса.

Выбосы переодически происходят на зоне, и для имитации живого мира, идет генерация дружественных НПС во время события для создания "иллюзии живого мира", так если поможете какому сталкеру - он будет появляться рядом с вами во время активации "события Выброса" .
Хотя у большинства событий значение Humans_Friendly - обычно ровно 6, что означает что твой друг попытается тут же занять укрытие и сидеть там пока игрок не уйдет дальше. Так что многие могут даже не заметить что где то рядом союзник появился во время выброса.

Так же Humans_Friendly определяет вероятность встречи друзей при спавне.

DefaultScenarioGroup - тип встречаемой группироваки.

DefaultEmptyScenarioGroup = EmptyGroup - буквально заглушка пустого события. Что бы игрока от задач ничего не отвлекало.

Внутри файла также есть EALifeDirectorScenarioTarget:

Enemy-Alife-Director-Scenario-Target Это буквально параметр для управление врагами и задание цели. Параметр цели для появившихся существ.

Они могут включать такие цели, как:

  • AttackEnemyLair - идут атаковать логово/аванпост.
  • Player - идут атаковать игрока, если вы удивлялись почему вас видят сквозь стены и темноту - то вот ответ, НПС получили СКРИПТОВЫЙ ПРИКАЗ найти и убить игрока!
  • AllyLair - защищать логово
  • ContextualAction - особый скрипт/проиграть сцену

Помимо Генератора событий - в коде Сталкер 2 есть и еще один параметр отвечающий за спавн существ. Это система "respawning base".

Да да вы правильно догадались, в игре нельзя убить всех. Через некоторое время все персонажи, "воскресают", вплоть до торговцев, которые сидят в деревнях и базах и потом пешком расходятся на свои привычные места. И не везде даже дается другая внешность и имя. Лишь некоторые уникальные квестовые персонажи не подвержены "воскрешению".

И вот тут, как правило, очень плохо.

Отсюда "фичи"в виде моментального воскрешения убитых бойцов/монстров, так как разработчики жестко накосячили с параметрами воскрешения, поставив там не 30240 игровых минут - как в том же Скайриме (3 недели на воскрешение бойцов точке интереса) а - буквально НОЛЬ в параметре задержки воскрешения.

Возникает вопрос - игру вообще тестировали? Или тестировали только когда эта система воскрешения была отключена?

Проблема с AlifeDirector

Как можем видеть в отличие от системы A-life система AlifeDirector это не система "симуляции", а система "имитации", в чем спросите разница для игрока? В чем тут проблема?! Ведь симуляция это тоже в каком то роде "имитация".

Что же если вы не видите в этом проблему, то значит сами являетесь частью этой проблемы :D

Разница в подходе. В "глубине" механики. Имитация очень легко палится на мелочах приводя к появлению

AlifeDirector в Сталкер 2 создает события по таймеру, с небольшим учетом зональности, даже если будете стоять на месте - скрипт все равно будет создавать новых "врагов"/нпс на расстоянии в 60-75метров и натравливать их на вас или друг на друга, каждые 30-120 игровых минут. И генерироваться события будут у вас перед самым носом. Просто потому что так с точки зрения GSC и нужно что бы развлекать недалекого игрока.

Система буквально создает сущности из ниоткуда - волшебным образом. Это не A-life. Это вариант идеи Радиант встречи из Скайрима. (Нужно не забыть проверить титры на наличие в них благодарности Тодду Говарду)

Это не система развития того самого генератора живого мира - это профанация. Реализация такого спавнера - очень ленива и дешева и ... только вредит играм, где все строится на атмосфере живого мира. Так как такая система лишена глубины и быстро уйдет на самоповтор, что приведет к тому что быстро надоест игрокам. Да и приведет к тому, что банально покажет игроку весь контент в первые часы игры, после чего играть станет невыразимо скучно.

Ко всему прочему мы можем видеть откровенно халтурное решение воскрешения НПС на базах - которое приводит к тому что игра спавнит новых существ прямо на расстоянии вытянутой руки от игрока. Даже многие старые игры, с аналогичным решением хотя бы стеснялись так делать на глазах у игрока - и если не ждали игрок покинет данную локацию, то хотя бы проверяли что игрок не видит точку спавна.

Или вот пример с Реддикта - где прямо на расстоянии в 75м игра спавнит ботов на вышке в тот момент когда игрок входит в зону контроля. И Выгружает в тот момент как только игрок пересечет границу в 85 метров :

Оригинальная система A-Life хоть и была в урезанном виде в играх ТЧ, ЧН и ЗП - но она обеспечивала "честную" обработку НПС, что убирало часть "неверия" игрока и обеспечивало погружение в атмосферу игры.

НПС воспринимались не как тупые болванчики - а как более живые.

А так же приводило к эмерджентности - когда комбинации редких факторов приводящих к появлению уникальных комбинаций событий. Даря уникальное "приключение", а не то что можно посмотреть у любого стримера на твиче.

А был ли мальчик? И можно ли починить ?

Как не трудно догадаться разговоров об инновационной системе А- Life2 было много, особенно в начале производства. Напирали на то что для ее реализации специально вернулся Ясенев. Но незадолго до выхода - они внезапно смогли и систему жизни стали описывать по другому. Да и всплыла информация, что для Ясенева покинул GSC еще в 2022м.

Что говорили разработчики ?

Во второй части планирование действий персонажей поднято на новый уровень.

Ясенев, где то на просторах интернета.
Спасибо за наводку <a href="https://dtf.ru/u/251398-andrei-k" rel="nofollow noreferrer noopener" target="_blank">Андрей К.
</a>
Спасибо за наводку Андрей К.

Нет, не вышел. Причем что самое интересное Ясенев ушел из GSC еще в 2022м. А коментарий написан +- год назад.

Но продолжил поддерживать миф про А-Life 2 и в 2023м. Скорее всего с его уходом никто не стал разбираться с тем как добавить в Unreal систему глобального графа навигации который нужно было бы добавить в код NAVmesha - и написать инструменты для размещения оных внутри редактора Unreal. Которая при компиляции билда - собирала бы эти точки и расстояния между ними в отдельный файлик. Задача это не "невозможная" - а просто требует понимания кода выше среднего.

Это не написать спавнер актеров в Блюпринте и разместить на карте гораздо проще - посмотрите на "Вадик Брутал" - игра сделана в основном на Блюпринтах. Одним человеком.

При этом ни следа А-лайфа не было уже в слитом с торрента тестовом билде. Из-за чего многие решили что перед нами "ранняя версия" игры.

Причем что забавно - у GSC начала наблюдаться шизофрения.

То у них А-Life есть:

"Все зависит от фракции или типа монстра, с которым вам придется столкнуться. Кто-то из них защищает свою территорию, поскольку наша система A-Life 2.0 базируется на нескольких опорах. Есть автономный режим, в котором часть событий происходит в фоновом режиме. По ходу прохождения вы сможете увидеть результаты как перестрелок, так и сражений с мутантами и т.д. Некоторые группировки или мутанты занимают свой ареал обитания, а некоторые просто блуждают по карте. Так что жизнь в Зоне протекает как на глазах игрока, так и вне его поля зрения."

То его нет, и описан генератор событий:

Допустим, я игрок и хочу проверить, что происходит с Архи-Аномальными рифами. Помните ту огромную гравитационную аномалию, которую мы показывали ранее? Вы идете в подвал под рифами, находите тайник, а выходя, сталкиваетесь с Полтергейстом. Вы напуганы и пытаетесь убежать, потому что не хотите с ним бороться. Когда вы выходите, вы видите, как A-life порождает пару проходящих мимо сталкеров. Их привлекает событие, и они видят, что там можно чем-нибудь поживиться. Они входят в Архи-Аномалию.


Вы продолжаете убегать, и Полтергейст начинает преследовать вас. Он замечает сталкеров и теперь нацеливается на них. Они начинают сражаться друг с другом, но делают это в опасном центре Архи-Аномалии. На этом этапе может случиться все, что угодно. Если A-life решит, может появиться стая псевдопсов, и вся ситуация может развиваться по-разному. Вы можете присоединиться к сталкерам, атаковать мародеров, поделиться с ними добычей или просто отойти в сторону, понаблюдать, как их убивают или погибают в аномалии, а потом ограбить их. Во многих случаях A-life пытается создать для вас уникальный опыт.

Ведущий продюсер Слава Лукьяненко интервью порталу "FEED4GAMERS"

Довольно иронично, что показывает нам что в самой GSC не знали какую игру создают. И какие механики будут. А какие уже вырезали. И об этом не знают даже люди, которые занимают формально руководящую должность "продюсера". Что приводит нас к важности ведения GDD.

Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

"A-life пытается создать для вас уникальный опыт" и описал простую систему генерацию случайных событий по таблице - что на самом деле заметили многие еще ДО выхода сталкера.

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

Вот только если игра была куплена предзаказом на русский аккаунт - написать отзыв уже ней выйдет, как и вернуть средства из-за того что прошло слишком много времени.

Но что с починкой A-Life?

Пока GSC не выложит исходники игрового кода на githab или иной сервис - то доступ к внутреннему коду игры будет сильно затруднен, и потребует гораздо больше усилий на реверс-энжинеринг что привести уже скомпилированные файлы в дизасемберный вид. Это буквально потребует и более высокий уровень квалификации у тех кто захочет починить А-лайф 2.0...

Но А-лайф не просто сломана. Системы жизни в игре просто нет.

Возможно где-то и остались более ранние наработки из этапа препродакшене- но в финальном билде их точно нет. Да и не понятно на каком этапе разработки они вообще были: и вопрос "а были ли вообще"? Не ушли ли дальше питчинга идей?

Почему A-Life Отсутствует?

Для этого мы сначала должны рассмотреть особенности разработки GSC:

Не имея доступа к внутренней документации и коду - можно только гадать почему они не смогли сделать аналог системы X ray engine, но ответ скорее всего прост и лежит на поверхности. На особенностях организации работы студии. По сути в GSC набирали людей с нуля, предприятие долгое время не существовало как работающий колектив. Ведь Григорович всех разогнал в 2011м году.

Это все произошло 9 декабря за 3 часа до того, как я полгода готовил сценарий, чтобы презентовать его команде... Григорович его тоже, естественно, не видел... И вот, за 3 часа до моей презентации приходит Григорович, всех собирает и говорит, что компания закрыта ... Без объяснения причин ... Это были личные причины Григоровича и его личная усталость.

Алексей Сытянов

Можно делать только догадки о причинах закрытия - но в качестве трех основных версий выступают:

  • Банковский кризис в США 2008-2012х годов. Доходы и инвестиции в IT резко упали.
  • Наезд и попытка отжима GSC бизнеса рэкетирами.
  • Высокая прибыль от издательского дела книг серии S.T.A.L.K.E.R - которая обеспечивала Григоровича всем что нужно для жизни.

При этом нужно понимать что Григорович то не изменился. Ни капли. У него прежнему тот же взгляд на индустрию, и ... подбор персонала.

Грязный секрет GSC

"GSC. Компания всегда платила очень немного денег. Когда я приходил, там расчет был на студентов"
"Что мне больше всего запомнилось во время разработки?
"Много боли и страданий"

Алексей Сытянов

С точки зрения Григоровича - желающих поработать над сталкером был вагон и маленькая тележка - и ему не нужны были "опытные" сотрудники, чей труд стоил соответствующих денег. Он привык брать "количеством", а не "качеством" затыкая проблемы талантливыми (или не очень) студентами, и новичками, перебирая их и нанимая и увольняя юные таланты пока они не решали задачу.

Внезапный музыкальный номер от Григоровича!

Что? Чем то недоволен руководством? Ну так тебя никто не держит - вон за забором очередь желающих на твое место стоит.

Например, у меня есть знакомые которые работали над Сталкером 2 в аутсорсе. Они делали 3д ассеты в районе 2020го. Свою работу описывали так: зарплата была в районе 40-60 тысяч рублей в месяц. 3д моделеру скидывали или ассет - из 1го сталкера и просили осовременить, концепт Сталкера 2011го года, грязную фотограмметрию нужного объекта или вообще фотографию из Припяти и просили сделать модель по ней. При оценке работы - выносили мозг и зачастую заставляли переделывать по 2-3 раза с нуля, скорость работы составляла 3-4 модели в месяц.

Но если GSC начала 2000х годов хоть как то держалось, за счет того что у Григоровича был под рукой коллектив профессионалов прошедших с ним разработку не одной игры: Казаки, Venom, Герои уничтоженных империй, FireStarter, Александр... То во время разработки Stalker 2 ставку пришлось брать, как всегда, полных новичков, но с энтузиазмом. Ведь они будут делать тот самый тру сталкер. Но у которых не было никакого релевантного опыта.

Или бывших сотрудников Survarium которые настолько преисполнились в своем самомнении, что так и не смогли игру доделать за 10 лет

Все что что у нового коллектива было за плечами - это Казаки3 , которые представляли собой ремастер первых Казаков.

Ядро же студии GSC, которое и тащило на себе разработку и сделало основу Сталкера ТЧ свалило еще в 2006м организовав 4А games, и выпуская игры серии Метро2033 на потоке.

Вот список этих четерех "А" :

  • Андрей Прохоров - руководитель разработки оригинальной игры Oblivion Lost
  • Олесь Шишковцов - ведущий программист Stalker (Почему "А"? Так как это сокращение от Алексея )
  • Александр Максимчук - программист Stalker
  • Андрей Ткаченко - дизайнер уровней сделавший большую часть зоны.

Причиной ухода был тот факт, что они увидели как работает настоящий профессионал - Дин Шарп на Григоровича и осознав простую истину "А чо так можно было игры делать?!".

Создали свою студию, куда Дина и позвали руководить.

При этом стоит заметить что Дин Шарп руководя сборкой игры в финальной стадии - оставил за бортом многие наработки A-Life вроде возможностей НПС брать задания или искать артефакты. Сталкеры в оригинальных играх заняты исключительно двумя вещами: ходьбой и стрельбой. И в Сталкере и его расширениях - делали это "честно", а не телепортировались перед носом у игрока.

Из Ветеранов игровой индустрии Григорович смог привлечь к себе в 2020м лишь тех выходцев из GSC которые работали на Vostok Games. Они около 10 лет пытались безуспешно сделать клон Сталкера, после того как их выгнал Григорович. Но в 2021м проект Survarium, начали готовить к закрытию в связи с оттоком разработчиков со словами : "Эксперимент очевидно не удался, возвращаемся в родную гавань GSC"

В прочем это совсем другая история...

Или все же таже самая? Когда еще невышедший Сталкер 2 предлагалось активно монетизировать:

Анонс: <i>"Ещё до релиза S.T.A.L.K.E.R. 2 игроки смогут получить специальные токены, которым будут соответствовать внутриигровые предметы и NPC-«металюди»."</i>
Анонс: "Ещё до релиза S.T.A.L.K.E.R. 2 игроки смогут получить специальные токены, которым будут соответствовать внутриигровые предметы и NPC-«металюди»."

Учитывая мировые тренды в игровой индустрии, мы можем предложить нечто большее, чем иммерсивный игровой опыт. Наши игроки смогут присутствовать в самой игре. И мы дадим им такой шанс, представив первую AAA-игру с уникальным метаэлементом и NFT.

Евгений Григорович, генеральный директор GSC Game World

Это отдельная тема. Вернемся ближе к нашему времени. Возможно GSC к этой идеи еще вернется когда сделают два дополнения и перейдут к запланированной "Онлайн Зоне". (Привет онлайн в Киберпанк2077 и обещания онлайна как в ГТА5)

Разработка игры стартовала в районе 2018го года - в основу был взят уже готовый движок Unreal Engine.

Причина?

Причина банальная - X рей слишком устарел в рамках работы с многоядерными системами и его работу с графикой нужно было слишком сильно подтягивать. Ко всему прочему - специалисты работавшие с ним разбежались по всему геймдеву. Да и Unreal предлагает слишком вкусные плюшки для небольших команд, такие как система Мегасканов, позволяющая использовать базу данных фотограмметрии Quxel'я об европейской растительности бесплатно для тех кто пользуется Unreal, так и целую россыпь плагинов и модификаций, будь то система погодных эффектов, воды, дождя. Позволяющая создать красивую картинку минимальными средствами.

Так например модельки сталкеров - были сделаны через процедурный генератор человеков metahuman:

Смерть А-Life в сталкере и почему не стоит ждать героического comeback'а

Там где для разработки на своем движке - потребуется команда из 20 человек чисто на поддержку инструментов для работы - для работы на анриле можно положится на команду Epic Games... можно же?

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

Но если вам нужно отойти от простого геймплея - и добавить много сложной внутренней логики... приготовьтесь страдать лезть в код движка - разбираться, много думать...и искать выход на Epic Games, что бы они были на связи и помогли с разработкой:

Как это например, сделали создатели Stormgate - для которых движок пришлось очень сильно модернизировать UE под режим RTS. Что так же дает надежду - что многие изменения будут внесены по дефолту или в виде плагинов в движок со стороны Эпиков - что позволит и другим командам делать RTS игры.

Но не будем отвлекаться на другие игры.

На самом деле факт использования чужого движка - делает еще более критичным факт наличия и развития "команды по тулзам" - специалистов которые должны разбираться в коде движка и иметь возможность дорабатывать инструменты под конкретные требования геймдизайна.

Но такую команду не собрать на новичках, как это любит GSC. Тут мидлы нужны, и мастодонты. Код Unreal Engine написан на весьма хитром варианте C++. Команда Epic'ов как раз состоит из профессионалов и которые во всю пишут код на высокой степени абстракции. Их C++ код сложно читаем для новичков. Так как Эпики во всю используют такие возможности работы с ассемблером и кодом как Шаблоны и Макросы. Что по сути приводит к тому что их код является весьма сложным "диалектом" языка программирования для любого кто не разбирается глубоко в С++, и такие знания непросто получить самостоятельно. Хотя конечно если у вас есть лет 6, что бы отучится на МФТИ по курсу информатики. Или аналогичном направлении...

Но вернемся к GSC и тому что с этим всем можно сделать?

А как же GSC сможет починить?

На что могут надеяться игроки?

Ни на что - оставь надежды всяк сюда входящий. Проще создать систему заново, а не чинить текущую.

Но если говорить о реалистичных возможностях починить:

  • Разделить активатор спавна на несколько независимых таймеров с разным диапазонном времени, что позволит им пересекаться хоть иногда по времени, генерируя более сложные ситуации.
  • Поправить вероятности генерации, а то игрок видит все 100% игрового контента в виде монстров буквально в первый час игры - а это не нормально. И закидывать его кровососами постоянно это тоже не нормально.
  • Поправить таймеры и код генерации спавна - что бы разработчики сами понимали какая единица измерения у таймера: тики кадров? секунды, минуты? Или игровые минуты.
  • Добавить проверки на зону видимости, и зону запрета спавна возле Игрока(50метров) - что бы боты не возникали перед носом.
  • Спавнер должен запоминать статус НПС, что часовой на вышке был убит недавно - и не генерировал его с расстояния в 75м каждый раз как только игрок пересечет невидимую черту.

Когда такие изменения стоит ждать?
Не раньше выхода дополнений.

И увы - многие проблемы вроде потолка расчетов ИИ НПС при работе с Navmesh'ом Unreal упирающихся в потолок CPU - никак не решить подкруткой циферок в файлах конфигурации, и дописыванием кода спавнера. Тут нужно было писать собственное глобальное решение по навигации, или оптимизировать существующие от Эпиоков. Unreal предоставляет отличную базу для быстрого создания игры. Но "быстро", не значит "простоту" создания, "эффективность" создания или комплексность механик.

Подход к созданию сложной игры слабой командой - требует более тщательного планирования и более качественного отбора людей на руководящие посты. А у GSC получилась слабая команда набранная из джунов-новичков, которые сваливали, как только набивали себе достаточно опыта. И "ветеранов", которые, так и не смогли закончить Сюрвариум. И тоже начинали убегать с проекта как только их пытались заставить работать. Постоянное вранье о готовности игры (что игра должна выйти в 2021м), несогласованность в интервью, заигрывание с НФТ, переносы, постоянный разлад.

И попытка справится "нахрапом" без вдумчивого подхода к разработке. Смешно - но во время разработки первого Сталкера GSC не гнушалась пробовать разные билды с разными вариантами механик, что и привело к эволюции от шутера "Oblivion Lost" а-ля Half-Life 1/Statgate про бравых покорителей других планет к шутеру в открытом мире аля Half-Life 2 c уникальной фишкой живого мира которой на тот момент могли похвастаться лишь Космические Рейнджеры, да серия Might and Magiс.

Удивляет только один момент - как они до релиза довести сумели при таком руководстве то? Но ответ тут прост - Сталкер 2 - это геймплейно гораздо более простая игра, чем первая часть. Реализовать многие механики представленные в игре можно банально за счет покупки ассетов на Fab и армии джунов. Что внушает оптимизм, что многие энтузиасты не кинутся вновь "доделывать" за GSC их Сталкер, а решат что проще сделать свою игру и самим.

И это возможно даже на UE5, благо Ue5.5 предоставляет кучи возможностей по созданию красивой картинке. Гораздо больше чем 5.1 на котором реализовать S.T.A.L.K.E.R. 2: Heart of Chornobyl

А что до системы жизни A-life 2.0 или ее аналогов, то ее реализация на Ue конечно возможна - но требует создания соответствующих инструментов для синхронизации работы движка и уникального кода игры нашей студии, который из коробки эпики не предоставляют. Как и у собственно любого другого игрового движка.

Сложно не значит невозможно, "Сложно" лишь означает что придется потрудиться.

В качестве примера можно вспомнить отмененный фанатский ремейк с переносом Сталкера Чистое небо на движок Unreal, которое зарезали сами GSC, после чего разработчик Red Panda - оказался иметь со сталкером какие-либо дела.

Попытка обойтись без проработки систем, сделать систему ленивую замену, привязанную к пешке игрока... это рушит всю эмерджентность и имерсивность мира. Лишает продукт той самой "души".

Высокие оценки Stalker 2 могут ставить во многом из жалости к GSC, как к пережившим Ковид, Переезд, Злых Русских Хакеров и возгорание серверов. Но никак не за систему Интеллекта и живого мира - которые являются деградацией и упрощением даже на фоне урезанной версией A-Life в Тенях Чернобыля.

595595
3434
2121
66
44
22
22
22
22
11
510 комментариев
500 ₽

На таблетки

59
13
3
2
1

почему не стоит ждать героического comeback'а

Человек придумает 1000 и 1 причину, чтобы продолжать оставаться убеждённым в своей правоте.

Читать этот словесный бардак не буду. А вы как хотите

121
32
9
6
2

А я бы почитал твою 1000 и 1 причину почему ты хочешь меня опровергнуть :)
Но увы - тогда тебе придется осилить лонг
А ты сдался так и не начав! Грусно все это... где баталии в комментариях, где защитники GSC?!

174
4
1