Catharsis Reborn is a total conversion mod for Postal 3 which picks up on the unfortunate tales of the Postal Dude, exactly where he left off in POSTAL 2: Apocalypse Weekend. The Dude this time faces a whole new set of miserable errands and temp jobs in the ironically named sister-city of his home town of Paradise; Catharsis, throughout 5 weekdays of mayhem just like in the previous instalment of POSTAL.

Report RSS Девблог CR №7: Новости “открытого” периода

Обновление Catharsis Reborn с марта по ноябрь 2023 года

Posted by on

Дневние разработки CR №7: Новости за время “открытого периода”


Вступление:

Всем привет! Снова наступило то самое время года, когда мы доказываем, что да, мы всё ещё работаем над проектом, мы не гниющий труп команды разрабов, и у нас есть куча прикольных штук, которые хотим вам показать

Мы упоминали в прошлом дневнике разработки, что в последнее время мы работали в “открытом” формате разработки, это период, в котором мы работали не над тем, что в приоритете разработки, а над тем, с чем разработчикам было интересно поэкспериментировать.

Это значит, что не всё, что делалось, было необходимо для публичного релиза, но так было задумано, мы хотели дать нашей команде возможность работать над вещами ради самой работы над ними, а не ради прогресса, в качестве перерыва от нашей обычной рутины. Тем не менее, мы надеемся, что нововведения будут вам интересны.

Дополнительные подсказки и указатели:

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

Во-первых, мы добавили новые подсказки для объяснения различных элементов игрового процесса. Для каждого оружия, имеющего «альтернативный режим», будет показана соответствующая подсказка, когда вы впервые экипируете такое оружие. Также были добавлены новые подсказки для объяснения системы альтернативных боеприпасов, работы ее интерфейса; а также как работает захват заложников.

alt ammo tip

alter weapon tip

hostage tip

Эти подсказки помогут игрокам легко понять новые механики, которых не было в оригинальном Postal 3.

Во-вторых, некоторые подсказки теперь будут иметь значки, указывающие на то, о чём они говорят, наподобие Left 4 Dead и Alien Swarm. Например, когда вы получаете подсказку о переходах между уровнями, вы увидите значок, указывающий на точку перехода.

tip pointer 1

tip pointer 2

tip pointer 3


Улучшения торговых автоматов:

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

Новые звуки специальных боеприпасов:

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

Это делает стрельбу разнообразнее, и постоянно напоминает игроку, какой тип боеприпасов заряжен. К тому же, это просто логично: звук стрельбы снайперской винтовки, стреляющей обычной пулей, должен сильно отличаться от звука снайперской винтовки, стреляющей дротиком с транквилизатором!

Видео с этими изменениями вы можете посмотреть в этих трёх роликах.

Больше интерактивности:

Мы всегда старались сделать наши карты интересными, чтобы в них было интересно побаловаться с большим количеством физических объектов, разрушаемых стен, скрытых предметов и секреток. Но осталась ещё одна вещь, которую можно развить, о которой мы думали последнее время: интерактивность.

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

Тревога

Теперь можно нажимать кнопки тревоги, они включают сигнал тревоги в этом районе. Это заставит местную полицию/охрану прибежать в эту область и проверить, что вызвало суматоху, а через некоторое время они сами отключат сигнализацию.

Можно себе представить, как это может помочь в разных задачах: отвлечь охрану от места, в которое вы хотите проникнуть, направить их к врагам, которые могут напасть на вас, или просто поприкалываться над людьми!

Металлодетекторы

Металлодетекторы теперь реально работают! Они сработают, если вы пройдете сквозь них с оружием или бросите оружие в них; а когда они сработают, ближайшие охранники начнут искать причину кипиша, а вы получите уровень розыска, если они заметят вас!

metal detector 2 electric boogal

prohibited items


К счастью, рядом с металлодетекторами висят полезные предупреждающие плакаты, которые поясняют, какие вещи не стоит проносить через них, если не хотите поднимать шум:

prohibited items 2


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

Туалеты

Туалеты теперь можно смывать:

flushing toilet

После смыва забитых унитазов иногда можно найти предметы на дне. Иногда эти предметы будут полезны, иногда не очень…

blocked toilet

Разрушаемые торговые аппараты

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

water cooler no tank

Компьютеры

Компьютеры теперь можно включать и выключать, у них есть заставки, и вы можете повозиться с их клавиатурами и мышками, и слишком частое их нажатие может даже привести к сбою компьютера с синим экраном смерти, и вы даже можете перезагрузиться в BIOS, чтобы исправить это!

computer crash

computer bios


Помимо этого, мы решили переделать текстуры для экранов компьютеров. Изначально они были в таком низком качестве, что их невозможно было разобрать, поэтому мы запустили виртуальную машину с Windows XP (ОС, которая была в оригинальных текстурах) и получили более качественные текстуры. Ещё в них появилось несколько маленьких пасхалок с программами. Посмотрим, сможете ли вы их найти!

computer desktop

computer desktop 2

computer ice chewing board

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

glow in the dark monitor

Кассовые аппараты

Кассовые аппараты теперь можно грабить, нажав кнопку взаимодействия, когда вы находитесь достаточно близко к ним. Это дает немного налички (сумма каждый раз выбирается случайно). Но учтите, если вы сделаете это на глазах продавца или полицейского/охранника, они могут оказаться недовольны!

…Ладно, это мягко сказано. Они попытаются убить вас, ну или как минимум изобьют до потери сознания, если повезёт.

Раковины и душ

Раковины и душ можно включать и выключать, а став под включённый душ можно потушить огонь, так что теперь есть способ тушить себя не только определёнными… естественными жидкостями…

showers

showers 2

sink

Банкоматы

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

Мы также улучшили внешний вид повреждённого банкомата, сделав новую модель, на которую он переключается после поломки; после удара по банкомату появляются искры и звук принтера, выплёвывающего наличку.

damaged atm

Вот сравнение между старым и новым!

Резюме

Такого рода интерактивность на картах в виде прототипа мы сделали ещё в начале 2022 года в ходе тестов, проведённых одним из наших дизайнеров уровней. Первоначально она ограничивалась сигнализациями, смывающимися туалетами и ломающимися торговыми автоматами, но поскольку это был всего лишь небольшой эксперимент на тестовой карте, дело дальше особо не пошло, и мы сосредоточились на других вещах (темы, упомянутые в наших 5-м и 6-м дневниках разработчиков).

Но это всё ещё оставалось идеей с довольно интересным потенциалом, поэтому во время “открытого периода” в 2023 году мы решили возродить эту идею, и передали её в разработку программистам нашей команды. Так мы можем больше экспериментировать с концептами, и реализовать их, не нагружая лишней работой мапперов после добавления базовых объектов. На наш взгляд, всё получилось довольно хорошо, но, конечно, об этом можно будет судить в зависимости от того, будут ли люди баловаться с такими штуками во время игры!

Делая пистолеты разнообразнее:

Ещё в Дневнике 5 мы упоминали, что хотим сделать так, чтобы наши 4 пистолета (Deagle, Glock, TT, Револьвер) сильнее отличались друг от друга. Тогда мы начали этот процесс, переведя Glock с полуавтоматического режима на отсечку.

Теперь мы изменили револьвер и пистолет ТТ так, чтобы они тоже имели ощутимые отличия. Так что если Deagle будет работать как “стандартный” пистолет, как это было в POSTAL 2, то у других пистолетов будут свои особенности, с которыми можно поиграться.

Итак, вот эти изменения!

Револьвер: прицеливание Dude Eye

Фича “Dude Eye” (“Глаз Чувака”), которая была у револьвера из Paradise Lost и POSTAL 4, теперь реализована и у револьвера из Catharsis Reborn. Для тех, кто не в курсе, как работает механика “Dude Eye”: убийства с помощью револьвера дают вам заряды Dude Eye (1 заряд за убийство), после чего вы можете использовать эти заряды, чтобы пометить цели, а затем казнить их выстрелом в голову.

В Paradise Lost и POSTAL 4 вы отмечаете цели, удерживая правую кнопку мыши/кнопку вторичного огня, но это уже используется для прицеливания в CR, что вызывает некоторые вопросы насчёт того, что происходит, когда игрок хочет использовать прицеливание, не расходуя заряды.

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

Нам также нужно было решить, как отображать количество имеющихся у игрока зарядов Dude Eye. И в Paradise Lost, и в POSTAL 4 отображалась большая полоса в нижней части экрана по центру, но это показалось нам неудобным.

pl dude eye part full

postal 4 dude eye filled

Так что нам пришлось искать другое место для индикатора. Левая сторона не годилась, потому что в нашем интерфейсе она используется для здоровья, брони и используемых наркотиков; правая сторона подходит по тематике, поскольку она отведена под оружие (и предметы), но с учетом того, что на этой стороне экрана указаны деньги, экипированные предметы и оружие, обычные и специальные боеприпасы, то мы бы слишком загромоздили её, добавив туда ещё и заряды Dude Eye.

Так что мы выбрали четвёртый вариант, прицел!

dude eye charge bar

Короче, мы отобразили количество зарядов Dude Eye, которые есть у игрока, в виде круга вокруг перекрестья, разделённого на 6 частей. Каждый раз, когда вы получаете заряд, появляется сегмент. Это простой способ отобразить в подходящем месте, как Dude Eye работает.

dude eye charge bar full

Круг показывается только когда Dude Eye включён, но вы всё равно будете получать заряды, даже если Dude Eye отключён, просто круг заряда не будет видно, пока вы не включите его снова.

Пистолет ТТ: добавлен глушитель

Теперь на пистолет ТТ установлен глушитель.

silenced tt


Вы, наверное, в курсе, что это значит. Но если вдруг вы из тех, кто не знает, то объясним: глушитель сделает все ваши выстрелы бесшумными, в результате чего NPC не будут реагировать на стрельбу из этого оружия, если только они не увидят, что вы его используете. Это делает его полезным инструментом для классических убийств в подворотне.

Идея добавить глушитель к ТТ пришла к нам из фильма «Брат», в котором ТТ с глушителем недолго использует киллер, чтобы попытаться убить главного героя (не особо получилось). К тому же, мы решили, что его добавление соответствует идее, что его изначальные пользователи, подземный картель, с которым Чувак встречается в первой миссии, пытаются остаться инкогнито, скрываясь в местном отеле.

И конечно же, раз это настоящий глушитель, который вы прикручиваете к стволу своего оружия, а не кошачья задница, то вы можете использовать глушитель сколько угодно, не теряя его!

Ведь у нас тут не игра типа Far Cry 6 или Metal Gear Solid 5, где военный глушитель расплавится и отвалится после нескольких выстрелов, это же не весело.

Полуавтоматический дробовик:

Продолжая тему изменений оружия, мы добавили нашему помповому ружью полуавтоматический режим стрельбы! Это было вдохновлено реальным полуавтоматическим режимом стрельбы SPAS-12. Современные дробовики, способные переключаться между помповым и полуавтоматическим режимом, мало представлены в играх, обычно вы получаете или тот, или другой вариант, поэтому мы решили сделать переключение.

И, как и в случае с реальным SPAS-12, есть причина, по которой помпа по-прежнему доступна для этого оружия в CR: альтернативные боеприпасы. Дело в том, что при стрельбе картечью полуавтомат перезаряжается хорошо, а вот с травматическими патронами — нет, поэтому перезаряжать дробовик надо помпой. Мы реализовали это в игре, сделав так, что если у вас заряжен альтернативный тип боеприпасов для дробовика, то при попытке выстрелить более одного раза в полуавтоматическом режиме произойдёт заклинивание оружия, и вам придётся переключиться обратно в помповый режим,чтобы продолжить стрелять.

Оптический прицел:

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

sniper scope view


Это помогает сделать снайперскую винтовку более уникальным оружием, и приближает его к аналогу из POSTAL 2. Впрочем, игроки, которым не нужен вид через оптику и предпочитающие базовую систему прицеливания, могут переключиться на нее с помощью клавиши смены режима оружия.

scope mode off moddb

Новое оружие — Огнемёт:

Строго говоря, не совсем новое. Дело в том, что в оригинальном Postal 3 было оружие под названием «Гамамёт», которое было добавлено в качестве бонуса за предзаказ в определённом издании игры. Это было оружие, которое распыляло пердёжный газ через раструб, чтобы вырубать людей.

Мы подумали, что это довольно тупо, и захотели найти ему другое применение. В 2017 году наш актёр озвучки Чувака Matt подумал, что было бы неплохо превратить его в огнемёт, тогда это была популярная идея, но никто не знал, как это реализовать, и на тот момент мы работали только над текстурами оружия, которые сделал наш художник Melasauce:

Flamer


Перенесясь в 2020 год, мы начали действительно реализовывать это, и в целом Огнемёт был готов в 2021 году. Он выбрасывал огненные струи вместо пердежа, расходуя бензин (тот же, который в канистре), при этом используя особый звук выстрела, созданный одним из наших дизайнеров звука Aleksandru.

Всё, что оставалось, это исправить неудобную систему перезарядки оружия. Дело в том, что, у оригинального Гамамёта была уникальная система перезарядки, в которой при зажатии кнопки вторичного огня (по умолчанию правая кнопка мыши), Чувак закачивал больше газа в оружие, чтобы затем из него можно было снова стрелять.

У нашего огнемёта был криво сделанный способ, при котором вы могли перезарядиться только после того, как полностью израсходовали весь бак огнемета. Нажатие основной кнопки огня воспроизводило анимацию перезарядки, полностью перезаряжало бак и расходовало бензин из канистры.

Мы хотели исправить это, вернув систему перезарядки Гамамёта, чтобы можно было перезаряжать его сколько угодно в любое время, но это было трудновато реализовать, потому что у Гамамёта были свои собственные бесконечные боеприпасы, а наш Огнемёт использовал бензин, как и Канистра, и нам нужно было продумать, что будет, если игрок частично перезарядит свой огнемет, не израсходовав весь бензин, а затем переключится на Канистру с бензином.

Со временем у нас появились другие дела, которыми нужно было заняться, и огнемёт был отложен на потом, так и оставшись незавершённым… До недавнего времени.

Наконец, когда мы нашли окно между другими задачами по программированию, мы добрались до исправления перезарядки Огнемёта. Огнемёт теперь можно перезаряжать как задумывалось, и когда вы тратите бензин, чтобы перезарядить его, будет тратиться бензин из Канистры. Короче, оружие теперь готово на 100%.

flamer reload


И это станет отличным дополнением к нашему арсеналу, потому что:

  1. Огнемёты круты
  2. Это хорошо работает с нашей системой распространения огня, которую мы реализовали, с которой NPC могут поджигать друг друга. Вы можете запустить цепную реакцию, поджигая одного NPC и отпуская его дарить любовь всем вокруг!

flamer in use


Вот так, спустя 6 лет, мы наконец-то выполнили просьбу Мэтта, забудьте Valve Time™, это WhackJob Time™.

Впрочем, получить это оружие будет непросто, оно не будет просто валяться на карте, как другое оружие, ведь огнемётом проще пареной репы сжечь практически кого угодно, поэтому мы хотим заставить игроков приложить некоторые усилия, чтобы получить его в начале игры.

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

Будьте готовы к серьёзному “сбору средств”, если вам действительно нужно это оружие: разбиванию банкоматов, краже налички из касс, всему, что приносит много бабла!

Переходим к менее крупным нововведениям…

Ccать кровью:

А теперь небольшое изменение: когда здоровье Чувака опускается до 20% или ниже, он теперь ссыт кровью вместо обычной мочи, точно так же, как при низком здоровье в POSTAL 2!

blood piss


Кошки-разносчики гриппа:

Основано на диздоках P3: кошки теперь иногда съедают дохлых голубей, которых они заметили, (если игрок бросил такого на землю), тушка голубя уничтожается, и из неё выйдет заразное облако, оно заразит кошку, и она тоже начнёт распространять заразу, сея смерть там, куда она пойдёт, весело!

cat eats pigeon moddb

cat infected

poisoned cat infecting others


Уничтожаемые двери:

Помните, как в POSTAL 2 двери можно было выносить определённым оружием, например кувалдой или двустволкой? Что ж, это теперь появилось и в CR.

В виде прототипа это было очень давно сделано, целых 5 лет назад, ещё в 2018 году, когда мод находился в зачаточном состоянии. Здесь вы можете посмотреть видео этого прототипа, по нему видно, сколько ему лет, потому что в игре всё ещё был оригинальный переключатель оружия в стиле P3, интерфейс в стиле POSTAL 2, который в тогда был довольно глючным, и использовались старые версии наших иконок оружия.

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

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

Итак, эта функция реализована, и вот как она работает.

Двери бывают трёх типов:

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

door destruction wood


Металлические - Двери, которые можно разрушить только определенными мощными типами урона, например взрывами.

door destruction metal

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

locked door

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

Хоть это и небольшое дополнение к игре, но оно позволяет устроить в игре больше разрушений, а это всегда весело.

Да, и ради прикола: вы также можете выламывать двери ногами и руками, если вы под Стероидами ;)

Восстановлен значок сохранения:

Ещё в 2018 году мы выложили архив с артами P3, коллекцию ассетов из Postal 3, которые нам достались, включая концепт-арты, значки, раскадровки, загрузочные экраны и многое другое. Эта коллекция включала в себя кучу неиспользованных ресурсов, которые были вырезаны из финальной версии игры, и с тех пор, как мы её нашли, она вдохновляет нас на работу, особенно в области дизайна уровней.

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

Один из набросков, включенных в этот раздел — это иконка сохранения, стилизованная дискета, и мы решили восстановить её в Catharsis Reborn.

save icon


Это была непростая задача, поскольку в макете значок отображался анимированным поверх скриншота Postal 3, а это значит, что нам пришлось отделить каждый кадр анимации от фонового скриншота, чтобы создать версию, которую можно было бы поместить в CR, но нам удалось это сделать, и теперь значок появляется при любом сохранении (как автоматическом, так и ручном).

Существуют и другие макеты значков сохранения, представляющие собой причудливые вариации логотипа Running With Scissors, показывающие либо мультяшного персонажа из логотипа, бегущего по экрану, либо внутри самого логотипа, но дискета является более понятным знаком сохранения, да и RWS не хочет касаться Postal 3 даже трёхметровым багром, так что мы решили оставить дискету в качестве знака сохранения.

Сохранение и загрузка:

В нашем последнем дневнике разработки мы упоминали, что внедрили AngelScript в качестве скриптового языка для некоторых функций Catharsis Reborn, но это привело к некоторым непредвиденным последствиям: во время тестов мы обнаружили, что AngelScript не работает с системой сохранения и загрузки игры по умолчанию, т.е. хоть использующая его механика работала отлично при обычном прохождении, но если вы сохраните игру, а затем вернётесь позже, они сломаются.

К счастью, это заняло всего несколько дней, но нам пришлось придумать обходное решение, чтобы это починить. Вот объяснение нашего ведущего программиста Kizoky о том, как мы это сделали:

В движке Source есть встроенная поддержка восстановления почти всех типов переменных при переходах или сохранения/загрузки, например boolean, integer, CBaseEntity* и т. д.

В отличие от Postal3Script, который практически исключительно использует функции и классы Source Engine, AngelScript этого не делает, именно здесь начали выявляться проблемы при восстановлении.

AngelScript не сохраняется в файлы сохранений, и поэтому оттуда ничего не восстанавливается.

У нас было два варианта:

а) Попытаться как-то сохранить его в файл.

б) Восстанавливать его вручную с помощью Postal3Script

Мы выбрали вариант “б”, потому что вариант “а” был слишком сложным, чтобы его можно было сделать быстро.

Это потребовало изменения “игровой системы” AngelScript для проверки типа загрузки карты (Загрузка Игры) и добавления проверки атрибута Postal3Script, чтобы вручную отметить объект для восстановления.

Теперь у нас была возможность выбирать объекты для восстановления каждый раз, когда игра загружалась из файла сохранения, но этого было недостаточно, ведь у нас было много интерактивных объектов и игровых элементов, которые настолько сильно зависели от AngelScript, что нельзя было просто повторно инициализировать их код AngelScript.

Чтобы исправить ошибку сохранения/загрузки интерактивных объектов, нам пришлось:

- Повторно инициализировать AngelScript для всех интерактивных объектов при загрузке карты.

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

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

- Объекты, которые сильно зависят от привязок (например, кулеры), повторно привязывать их по имени вспомогательного объекта.

- Сделать так, чтобы при “включении” объектов перезапускались их фоновые звуки.

- Принести жертву туалетным богам.

Многие из этих объектов можно было восстановить вручную, но, к примеру, код кассового аппарата, в том числе его код Postal3Script не были затронуты.

Система подкреплений полиции при розыске тоже стала жертвой сохранения/загрузки, но это случилось из-за плохого кодинга и из-за того, что он не был переписан с учётом новых функций AngelScript.

Со времени выхода предыдущего дневника разработки AngelScript сильно вырос, на данный момент мы реализовали более 350 функций (включая методы)!”

Обновлённый Лончер:

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

Мы решили, что вкладки «Режим программиста» и «Расширенные настройки» при открытии лончера выглядят неудобно и громоздко, поэтому мы удалили их с главной страницы лончера.

Старый:

old launcher

Новый:

new launcher 1

Теперь мы разработали лончер с четырьмя кнопками посередине страницы запуска: «Играть», «Опции», «Справка» и «Выход». «Расширенные настройки» и «Режим программиста» теперь перемещены в «Опции» как отдельные вкладки.. Также были добавлены всплывающие подсказки, объясняющие пользователям, что делают все эти опции.

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

Универсальный трекер миссий:

Недавно мы реализовали одно из самых важных изменений в моде за последние месяцы, а может, даже годы — систему, которую мы называем «Универсальный трекер миссий» или «УТМ», которая представляет собой новый способ контроля выполнения заданий миссий.

Чтобы объяснить суть этой системы, нам сначала нужно объяснить, как задания работали раньше. В оригинальном Postal 3 система заданий была полностью линейной, ваши текущие цели были привязаны к уровню, на котором вы находились, и прогресс в выполнении этих заданий не отслеживался на разных картах. В оригинале это не было проблемой, потому что в Postal 3 вы никогда не возвращались назад на предыдущие уровни. Войдя в новую область, вы никак не сможете вернуться назад, единственным исключением из этого были бонусные карты в открытом мире, (которые вы разблокировали после завершения основной игры), на которых целей миссии просто не было.

В Catharsis Reborn эта система создала кучу проблем, ведь в отличие от ванильного Postal 3, в CR можно возвращаться на карты, так как это игра в открытом мире, и вам нужно будет делать это по сюжету.

Небольшим примером этого в действии является первая миссия, игрок начинает в пригороде Катарсиса, с внутренним кодовым названием «City_01». В City_01 игрок находит объявление местного агентства по трудоустройству, которое расположено в Промзоне Катарсиса под названием «City_02», игрок должен посетить агентство по трудоустройству, и получить там свою первую работу, расположенную в отеле в Пригороде, и игрок возвращается в City_01, идёт в отель и выполняет работу.

Короче, вы переходите с первой карты на вторую, а затем оттуда возвращаетесь на первую.

С системой заданий из оригинального Postal 3 это было бы невозможно, поскольку задания привязаны к отдельным картам, выполнение задания на одном уровне не повлияет на ваши задания на другом, то есть, если игрок посетил Агентство по трудоустройству в City_02, и вернулся в City_01, не будет возможности сообщить игре, что Агентство было посещено и следующая задача готова, игрок просто застрянет в подвешенном состоянии.

Нашим решением этой проблемы было то, что мы назвали «вариантами карт». По сути, вместо того, чтобы иметь одну версию карты, мы создавали её новые версии, с учётом развития сюжета. Таким образом, первоначальная версия City_01 была обозначена как «City_01_A», и после того, как игрок посещает Агентство по трудоустройству, переходы между уровнями в City_02, ведущие обратно в Пригород, вместо этого переносили игрока в «City_01_B», новую версию карты с заданием поработать в Отеле.

Создавая эти варианты карт и изменяя переходы между уровнями после выполнения задач, мы могли сделать так, чтобы изменения на одном уровне влияли на другие, что в оригинальной системе было невозможно.

Мы также творчески использовали варианты карт, чтобы создать что-то типа течения времени: к примеру, в варианте «А» карты был открытый сейф, который можно было ограбить, в варианте «В» сейф был уже закрыт. Версии под различными буквами по сути означали разное время в течение одного дня.

Но в то же время эта система была крайне проблемной, она была переусложнённой, потому что нам приходилось постоянно следить за тем, чтобы переходы между уровнями были выстроены правильно, если вдруг появлялся переход, который переносил вас на карту А вместо карты В, или наоборот, то игрок мог начать путешествовать во времени.

И каждый раз, когда карта получала новый вариант буквы, всем картам, связанным с ней, также требовались варианты с такими же буквами, например, City_01 имеет две связанные с ним карты, и этим двум картам также потребуются варианты A и B, что создавало нереально сложную систему, которая помимо этого плохо сказывалась на размере файлов, потому что место в папке с картой было занято почти одинаковыми клонами уровней, которые существовали только для функционирования прогресса в миссиях.

Это также сделало редактирование карт более трудоёмким, потому что каждый раз, когда вносились изменения в карту City_01 и связанные с ней, эти изменения приходилось переносить на вариации карт, требуя большого внимания к деталям, чтобы не упустить никаких изменений. Когда вносишь много изменений в карту за один раз, это становится очень сложно.

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

Это изменение кажется настолько очевидным, что вы можете спросить: почему мы не реализовали его раньше? Ну, по двум причинам.

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

Вторая причина заключается в том, что мы просто не знали, сработает ли эта идея на практике, и сколько тестов потребуется, чтобы заставить её работать правильно. То, что это была не очень-то нужная на тот момент работа, которая к тому же могла оказаться дико сложной, удерживало нас от ее реализации.

К счастью, эти опасения были напрасными, УТМ работает хорошо, и он значительно улучшил контроль выполнения миссий!

Вот кое-какая информация о том, как именно работает эта система, от Kizoky:

Главный файл УТМ называется `scripts/cr_mission_tracker.txt`.

Там вы можете указать:

- Название Дня, может быть любым

- Карты, относящиеся ко *Дню*

- Текущая задача на карте, если игрок загрузился на карту в первый раз (новая игра)

- Задания, их названия, и связь между ними (например, задание *Sewers01* зависит от задания *Poster*)

- Автоматическую конвертацию журнала миссий P3 в задания/миссии УТМ

УТМ требует размещения на карте объекта под названием `cr_logic_mission` , он поддерживает до 10-ти заданий.

Если *Mission Task* отмечается выполненной в игре, то в игре запустится событие `mission_objective_done`, этот логический объект специально отслеживает это событие, он проверяет 10 Заданий, проверяет, были ли они отмечены как выполненные, и если да, то он активирует входные данные и изменяет объекты на карте.

Нам ещё нужно поработать над внедрением УТМ, удалению всех «B»-вариантов наших карт и переносу всей логики миссий в варианты «A». Наверное, это займёт какое-то время, но сама система уже по сути рабочая и значительно улучшила контроль над выполнением заданий.

Обновления карт:

Помимо правок карт, связанных с УТМ и добавлением контента из обновления «Больше интерактивности», мы работали и над более масштабными изменениями карт:

Универмаг Hugemart

Срочные новости! Hugemart наконец-то стал настоящим торговым центром! По крайней мере, отчасти. В трёх магазинах на карте теперь работают продавцы. Мы добавили трёх продавцов:

Продавец огнемётов - находится в садовом магазине

Продавец лазерных указок - находится в зоомагазине «Doggy Style» («По-Собачьи»)

Продавец кукол Кротчи - находится в игровом магазине «Gamecave» («Пещера Игр»)

flamer vendor

pet store vendor

gamecave vendor final


Первые двое из них были добавлены, чтобы дать игроку доступ к этим предметам. Раньше Огнемёт и Лазерная Указка были чит-оружием, получить которые можно было только через консоль, потому что Огнемёта раньше просто не было в игре, а в случае с Лазерной Указкой, мы не знали, когда игрок должен её получить (в оригинальном P3 Чувак получает ее в кат-сцене по сюжету), поэтому мы добавили этих продавцов, чтобы дать игроку возможность приобрести это новое снаряжение.

Что касается продавца Kротчи-Кукол, почему в игровом магазине продаются взрывные куклы? Мерч! Все любят хорошие плюшевые игрушки, но только не говорите им, что некоторые из этих мягких игрушек содержат плутоний.

Почему потребовалось так много времени, чтобы эта карта наконец выполнила свою задачу? Что ж, как мы объяснили в нашем шестом дневнике разработки, для этого нам понадобилось следующее:

  • Идеи, какие товары должны продаваться, подходящие тематике магазинов
  • Актеры озвучки продавцов
  • Модели продавцов

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

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

Также были исправлены другие мелкие ошибки, такие как отсутствие стёкол.

Указатели выхода за пределы карты

Помните, как в POSTAL 2 была система, которая, если казалось, что вы застряли, переносила вас в безопасное место на карте со строгим предупреждением “Держитесь подальше от этого места!”? Мы поработали над аналогом для CR — указателями выхода за пределы карты.

Суть в том, что это маркеры, которые мы можем размещать в любых местах карты, помечая их как места, в которых игрок не должен находиться. Если игрок прикоснётся к ним, они мгновенно вернут его обратно в игровую зону с предупреждающей надписью “Держись подальше от этого места!”, как в старые-добрые времена.

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

oob marker


Ещё мы подумываем о том, чтобы использовать их во время миссий, чтобы сделать так, чтобы игрок оставался внутри игровой зоны, где он по идее должен быть. Например, в первой миссии игрок заперт в отеле и вынужден столкнуться с Картелем, мы можем поставить эти маркеры вокруг отеля, чтобы игроки гарантированно оставались там, а затем удалить их после завершения миссии.

Маркеры, естественно, будут отключены при использовании таких читов, как noclip.

Новый арт:

В арт-отделе мы сосредоточились на выполнении списка задач, которые давно собирались закончить, о чем кратко упоминалось в Дневнике разработки 6. Одним из основных элементов этого списка был наш план по добавлению новых сотрудников охраны правопорядка.

В течение многих лет копы в CR были очень простыми, изначально с одним вариантом лица, позже с двумя. Встреча с копами напоминала просмотр «Атаки клонов», но теперь мы хорошо поработали над этой проблемой.

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

cop variants 1

cop variants 2

cop variants 3


Затем мы улучшили модели ЧОПовцев: частные охранники во мире игры работают на охранную компанию под названием Woodchuck Security, но по факту они работали так же, как копы, будучи рескинами полицейских и использовали тот же ИИ, пока что это по-прежнему актуально, но мы дали охранникам свои вариации внешности и заменили полицейский значок, который они ранее использовали, на версию для охраны:

security guard variants

security guard badge


Учтите, что это одно из недавних изменений, поэтому этих новых вариаций нет на многих других скриншотах, включённых в дневник разработки.

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

Исправления багов:

Ну, с чего начнём?

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

  • Исправлен баг, из-за которого копы были глухими и слепыми во время боя
  • Исправлен баг, из-за которого охранники нападали на Моторхэда, даже если он не угрожал никому
  • Исправлен баг, из-за которого охранники не брали в руки оружие, или брали, но не стреляли
  • Исправлен вылет, когда Моторхэд запрыгивал на кого-нибудь
  • Мелкие исправления ИИ Моторхэда
  • Исправлен вылет из-за бросков кошек
  • Звук доставания оружия теперь всегда будет воспроизводиться для NPC (изначально Trashmasters сделали его воспроизведение случайным)
  • Исправлена система подкреплений полиции (переписана с использованием новых функций AngelScript, исправлены визуальные ошибки и вылеты, вызванные прибытием подкреплений)
  • Исправлен баг, из-за которого на некоторых картах не работали боеприпасы для Тяжёлого Пистолета (игрок не мог их подобрать, даже если у него был Тяжёлый Пистолет)
  • Исправлен баг, из-за которого игрок мог вылететь через невидимые стены во время рэгдолла. Если это произойдет, игра телепортирует игрока обратно в исходную точку и выдаст сообщение: “Держись подальше от этого места!”
  • Аудио-кэш очищен и перестроен (предыдущая версия содержала карты ванильного P3, устаревшие карты из более ранних билдов и устаревшие файлы кэша, что вызывало глюки со звуком)
  • Исправлен баг, из-за которого главное меню ломалось, и камера оказывалась не на том месте (за пределами трейлера Чувака)
  • Исправлен баг, из-за которого иногда не воспроизводился звук выстрела из Ракетницы
  • Исправлен баг, из-за которого игрок не мог подобрать выпавшие Игрушки для Собак с убитых/вырубленных NPC
  • Исправлен баг, из-за которого предметы инвентаря ломались, если вы стояли на них во время их появления
  • Исправлен баг, из-за которого у неподвижно стоящих сегвеях появлялась пыль на колёсах
  • Исправлен баг, из-за которого счётчик бензина не соответствовал количеству бензина, оставшегося у игрока
  • Исправлен баг, из-за которого NPC убивали, а не вырубали других NPC, атакуя их несмертельным оружием (например, Дубинкой)
  • Исправлен баг, из-за которого не подбирались деньги, предметы и патроны
  • Исправлен баг, из-за которого некоторое оружие нельзя было перезарядить, если у игрока закончились обычные боеприпасы, но всё ещё оставались специальные
  • Исправлены проблемы масштабирования интерфейса, возникавшие при изменении разрешения
  • Исправлен баг, из-за которого NPC не реагировали на огонь должным образом
  • Исправлен баг, из-за которого NPC игнорировали расположенные на картах маркеры «nav_blocker», из-за чего они пытались войти в области, куда они на самом деле не могли добраться, из-за чего застревали на стенах и дверях.
  • Исправлен баг, из-за которого иногда не воспроизводился звук стрельбы из P90.
  • Исправлен баг, из-за которого NPC в системе домовладельцев не проверяли тип объекта, который они искали, из-за чего они считали неодушевленные предметы в своих домах вломившимися злоумышленниками.
  • Исправлены проблемы с неуязвимостью дверей к взрывчатке после реализации функции разрушаемых дверей.
  • Исправлены проблемы, из-за которых двери не открывались как надо, и потом не закрывались.

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

В общем, поехали дальше…

Будущее:

Наши планы на будущее проекта остаются такими же, как мы объявляли ранее, включая период закрытого тестирования, после которого должен быть выпуск демки, как мы говорили в Дневнике разработки 5.

Изначально мы надеялись, что этот закрытый тест пройдёт в 2023 году, но в результате работы в “открытом” формате, а затем и работы над Универсальным Трекером Миссий, которая потребовала много планирования, тестирования и доработок карт, мы поняли, что этого нереально достичь.

Как мы упоминали в Дневнике разработки 6, перед любыми тестами мы хотели сначала разобраться с некоторыми “обязательными” задачами, которые последуют после “Открытого периода”, и УТМ был одной из них. Мы хотели перейти на УТМ сразу же после “Открытого периода”, потому что развитие структуры миссий и контента с использованием существующей системы заданий только усложнило бы переход на УТМ в будущем.

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

Мы также хотели бы принести официальные извинения ManChrzan, поскольку этот блог не получился вдвое длиннее предыдущего и в нём нет никакой информации об ИИ рыбок. Мы надеемся, что сможем вернуть ваше доверие в будущем.

Заключение:

Спасибо вам всем за то, что терпеливо ждёте новостей от нас. Надеемся, этот дневник отчасти удовлетворил ваш интерес. Оставшуюся часть 2023 года посвятим работе над завершением УТМ, доработкой визуала и другими разными задумками. Что же будет дальше в 2024 году, ещё не решено, но в любом случае мы обязательно будем держать вас в курсе событий.

У нас также есть ещё один небольшой проект, который мы собираемся скоро (если получится) анонсировать, но пока на ним надо ещё поработать, так что следите за новостями. Надеемся, что новый год будет для вас всех удачным!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: