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 Devblog #7: The Open Season Update

An update on the work on Catharsis Reborn from March to November 2023.

Posted by on

Introduction:

Hello everyone! It's that time of the year again where we confirm that yes, we are indeed still working on the project, are not a rotting corpse of a dev team, and do have lots of lovely things to show off for you!

As we mentioned in our last devblog, our recent work has been carried out under an approach we call “open season”, a period where tasks have been worked on without the prioritisation that is the norm for the project, instead tasks have been carried out simply based on what developers wanted to experiment with.

This means that not everything here has been particularly necessary or productive towards a public release, but that was by design, we wanted to give our team an outlet to work on things for the sake of working on them, rather than for the sake of progress, as a break from our usual routine, we hope you’ll find the new inclusions interesting nonetheless!

Extra Tips and Visual Tip Pointers:

Since we introduced our in-game tips in the last devblog, we've gone further with the tip system.

Firstly, we've introduced new tips to explain various gameplay elements, for every weapon that has an "Alter Weapon" function there will be a tip that appears to explain it when you equip that weapon for the first time, new tips have also been introduced to explain the alternate ammo system and how its HUD displays work, and how hostage taking works.

alt ammo tip

alter weapon tip

hostage tip


These tips will help players understand new mechanics that didn't appear in vanilla Postal 3 in a very simple way.

Secondly, some tips will also now have icons that point you towards what they’re referring to, like those seen in Left 4 Dead and Alien Swarm. For example, when you get a tip talking about level transitions, you get an icon pointing you towards the transition marker.

tip pointer 1

tip pointer 2

tip pointer 3


Improved Vending Machines:

Vendors, both vendor NPCs and vending machines, are an important element of the mod that we’ve been promoting ever since our second trailer, but for a long time the vending machines haven’t worked as we would have liked, previously the radius for interacting with the machines was much more narrow and clunky than it should’ve been, making them annoying to use, now we’ve widened the radius so things are much more convenient to use.

New Special Ammo Sounds:

Originally firing a weapon with special ammo loaded used the same sound effect as firing it with normal ammo, but we decided to improve on this by giving weapons unique firing sounds for when special ammo is loaded.

This gives some more variety to the shooting, acts as a constant reminder to the player of what ammo type is loaded, and also just generally makes sense, a Sniper shooting a regular bullet should sound very different to a Sniper shooting a tranquiliser dart!

Footage of these changes can be seen in these three clips.

Greater Interactivity:

We’ve always strived to make our maps interesting to mess around in with things like adding lots of physics props, breakable walls, hidden items and areas, but there’s one thing to go even further with this that we’ve been thinking about for a while: Interactivity.

What does that mean? Well, it means being able to interact with all sorts of different props and get interesting responses, we’ve gone pretty far with this, and there’s now a long list of things you can play around with now in the levels, this turned out to be quite a big timesink to work on and took up several months of development, here’s that list:

Alarms

Alarm buttons can now be pressed and they will actually set off an alarm in the area, this will cause local Police/Security Guards to rush to the area and check out what caused the disturbance, after some time they’ll also switch the alarm off themselves.

We can imagine this being valuable for a number of uses, baiting security teams away from an area you want to sneak into, leading them towards enemies that may be attacking you, or just messing with people for fun!

Metal Detectors

Metal detectors will now actually work! They’ll be set off if you walk through them carrying weapons, or if you throw weapons through them, if they’re set off nearby guards will look for the source of the disturbance, and you’ll get a wanted level if they catch you!

metal detector 2 electric boogal

prohibited items


Thankfully, helpful warning posters have been placed next to the detectors so you know what not to take through them if you want to avoid a fuss:

prohibited items 2


Motorhead will also set off the detector if he walks through it, because he’s got all sorts of metal parts shoved into his cranium, but he won’t be attacked unless he’s actually carrying a weapon, otherwise the cops will let him off.

Toilets

Toilets can now be flushed:

flushing toilet


And flushing clogged toilets can sometimes reveal items at the bottom, sometimes these items will be useful, sometimes not so much…

blocked toilet


Breakable Vending Machines

Vending Machines are of course nothing new, they’ve been in the game for ages now, but with this interactivity push we decided to go a little further by making it possible to damage them. For example, you can now shoot the water tank off of a water cooler, and if you do that it won’t be able to dispense water cups anymore.

water cooler no tank


Computers

Computers can now be turned on and off, they have screensavers, and you can mess around with their keyboards and mice, mashing them too much might even cause the computer to crash with a blue screen of death, and you can reboot into the BIOS to fix it!

computer crash

computer bios


For good measure, we also decided to recreate the textures for the computer screens, originally they were in such a low quality that they were impossible to read, so we went into a Virtual Machine using Windows XP (the OS the original textures used) to get some better quality textures, our recreations also have some little easter eggs here and there with the programs, see if you can spot any!

computer desktop

computer desktop 2

computer ice chewing board


And lastly, thanks to some texture tweaks the monitors also have an extra lighting effect, you’ll be able to see them glowing in the dark.

glow in the dark monitor


Cash Registers

Cash Registers can now be robbed by pressing interact when close enough to them, giving you a small amount of cash (the exact amount is randomised each time), just remember, if you do this while a vendor, cop or security guard is looking at you, they might not be happy about it!

…Okay, that’s an understatement, they’ll try to kill you, or maybe just beat you until you pass out, if you’re lucky.

Sinks and Showers

Sinks and showers can be switched on and off, and standing under an active shower will now put out fires, so there’s a way to extinguish yourself other than using certain… Natural fluids…

showers

showers 2

sink


ATMs

The ability to destroy ATMs to get an easy payday is nothing new for CR, this has been a feature for years, but now authority figures will react appropriately to your vandalism: If someone breaks an ATM, they’ll be wanted and nearby Cops/Security Guards will pursue them.

We’ve also improved the aesthetics of damaging the ATM, with a new damaged variant of the ATM model that it switches to after being destroyed, sparks appearing after you hit it and a money printer sound playing as it spits out the cash.

damaged atm


Here’s a comparison between old and new!

Summary

This kind of interactivity in maps was something we initially prototyped back in early 2022, in tests carried out by one of our mappers, initially that was kept to things like the alarms, flushable toilets and breakable vending machines, and because this was just a small experiment in a test map it didn’t end up going very far, with the focus going to other areas (the topics mentioned in our 5th and 6th devblogs).

But this was still an idea with some interesting potential, so for “open season” in 2023 we decided to resurrect the idea and transferred the job over to the programming side of our team, this way we could experiment with the concepts more broadly and we could implement them without mappers having to do much work after adding the initial props, we think it’s turned out pretty well, but of course that will be judged by whether or not people decide to mess around with these kinds of props when they play the game!

Differentiating the Handguns:

Back in the days of Devblog 5 we mentioned we wanted to do more to make our 4 Handguns (Deagle, Glock, TT, Revolver) feel different from each other, we started that process at the time by switching the Glock from semi-auto to a burst fire function.

Now we’ve rolled out changes for the Revolver and the TT Pistol, so that they too feel that they have something special going for them, this way the Deagle will act as the stock Pistol, much as it did in POSTAL 2, and our other handguns will have some special quirks to play around with.

So, here are the changes we added!

Revolver: Dude Eye Targeting

The “Dude Eye” feature seen on the Revolver from Paradise Lost and POSTAL 4 has now been added to the Revolver from Catharsis Reborn, for those unfamiliar with how the “Dude Eye” mechanic works, getting kills with the Revolver will give you Dude Eye charges (1 charge per kill), you can then use these charges to mark targets and then execute them with an instakill headshot.

In Paradise Lost and POSTAL 4 you marked targets by holding down the right mouse/secondary fire button, but this is already used for Aim Down Sights in CR, this raised some questions over what happens when the player wants to ADS without using up their charges.

The compromise we made is that while ADS will be used for marking targets, you’ll also get the ability to toggle Dude Eye off with the Alter Weapon button, which will allow you to ADS without using the Dude Eye mechanic, Dude Eye is toggled on by default.

How to represent the number of Dude Eye charges the player has was also something we had to figure out, both Paradise Lost and POSTAL 4 represented the count with a large bar in the bottom centre of the screen, and this seemed like an awkward way to display it.

pl dude eye part full

postal 4 dude eye filled


So we had to pick somewhere else for the count to go, the left side didn’t make sense because that is used for health, armour and drug status on our HUD, the right side did fit thematically since it was dedicated to weapons (and items) but with the cash, equipped item, equipped weapon, ammo and special ammo counts all included on this side of the screen it felt like we would be cluttering things too much by adding the Dude Eye charges there as well.

So we went for a 4th option, use the crosshair!

dude eye charge bar


Essentially, we’ve represented the number of Dude Eye charges the player has through a circle wrapped around the crosshair, segmented into 6 pieces, each time you earn a charge a piece of the circle appears, this was a simple way to communicate how Dude Eye works in a place that fits for it.

dude eye charge bar full


The circle will only appear if Dude Eye is toggled on, but you still earn charges even if Dude Eye is toggled off, the charge circle just won't appear until you toggle it back on again.

TT Pistol: Silencer Attachment

The TT Pistol now has a silencer attached:

silenced tt


You can probably guess what this does, but in case you’re one of those people who doesn’t know what words mean, the silencer will make all your gunshots silent, as a result NPCs won’t react to your use of this weapon unless they actually spot you using it, making it a useful tool for casual back alley murders.

We got the idea to add a suppressor to the TT from an old Russian film called “Brother” or “Брат”, where a silenced TT is briefly used by an assassin to try and kill the protagonist (it doesn’t go well for him) and we also figured the addition fits the fact that its initial users, the underground Cartel the Dude meets in the first mission, are trying to stay incognito, hiding out in the local hotel.

And of course, since this is an actual silencer you’re plugging on the end of your weapon, rather than a cat’s arse, you can use the silencer as much as you like without losing it!

Because this isn’t one of those games like Far Cry 6 or Metal Gear Solid 5 where a military grade suppressor will ping off and melt after only a few shots, that’s no fun.

Semi-Auto Shotgun:

Carrying on the theme of weapon changes, we’ve added a Semi Auto firing mode to our Pump Shotgun! This was inspired by the real life Semi Auto firing mode of the SPAS-12, modern shotguns being able to alternate between pump action and semi auto is something rarely portrayed in games, you usually only get one option or the other, so we decided to switch that up.

And like the real life SPAS-12, there’s a reason why Pump Action is still an option for this weapon in CR: Alternate ammo. You see, the semi auto mode might be able to cycle regular buckshot just fine, but specialised ammo types not so much, they need the shotgun to be pumped for firing. We’ve represented this in-game by making it so that if you have the Pump Shotgun’s alternate ammo type loaded, firing more than one shot in Semi Auto mode will cause the weapon to jam, and you’ll need to switch back to Pump Action to fire again.

Sniper Scope:

And the last weapon change we’ve worked on, a scope view for the Sniper! Instead of the normal Aim Down Sights, holding secondary fire will now give you a view through the Sniper Rifle’s scope, while in this scope view you can zoom in and out by using the next/previous weapon bindings (mouse scroll up and down by default).

sniper scope view


This helps make the Sniper a more unique weapon and makes it closer to its POSTAL 2 counterpart, however players who don’t want the scope view and prefer the basic ADS can switch to it using the “Alter Weapon” button.

scope mode off moddb


New Weapon - Flamethrower:

Technically this isn’t new at all. You see, vanilla Postal 3 had a weapon called the Fart Gun that was included as a pre-order bonus and was featured in certain editions of the game, it was a weapon that sprayed out fart gas through its nozzle to knock people out.

We thought it was fairly lame and wanted to come up with some other use for it, in 2017 our Postal Dude VA Matt thought it would be a good idea to turn it into a Flamethrower, at the time this was a popular idea but not one we knew how to implement, at the time all we worked on for it were the weapon’s textures, which were put together by our artist Melasauce:

Flamer


Fast forward to 2020 and we started actually implementing this, and the Flamethrower was mostly done in 2021, emitting jets of fire instead of farts and utilising gas ammo (shared with the gas can) and using a unique firing sound made by our one of sound designers, Aleksandru.

All that remained was to fix the weapon’s clunky reload system. You see, the vanilla Fart Gun had a unique reload system where by holding the secondary fire button (right mouse by default) the Dude would pump more gas into the weapon so it could then be fired again.

Our Flamethrower had an awkwardly cobbled together method where you could only reload after using up the whole Flamer tank, pressing the primary fire button would then play the reload animation, fully reload the tank and consume a gas can.

We wanted to fix this by switching the reload system back to the Fart Gun version, where you could reload as little or as much as you wanted and at any time, this was a little more complicated to implement because the Fart Gun had its own ammo type and had infinite ammo, while our Flamethrower used gas and shared it with Gas Cans, we had to figure out what happens if the player partially reloaded their Flamer, thus not consuming a whole Gas Tank, and then swapped to the Gas Can.

At the time we found other issues to busy ourselves with, and the Flamer was put aside for another day, left unfinished for all this time… Until now.

Finally, when we found a window between other programming projects, we got around to fixing the Flamer’s reload, the Flamethrower can now be reloaded as intended and as you drain gas ammo to reload it, that will also drain ammo from the Gas Can as well, as a result the weapon is now 100% finished.

flamer reload


And it works as a great addition to our arsenal, because:

  1. Flamethrowers are cool
  2. It works well with our fire spreading system we implemented, where NPCs can actually light each other on fire, you can start a chain reaction by igniting one NPC and letting them spread the love to all their neighbours!

flamer in use


So after a grand total of 6 years, we finally fulfilled Matt’s request, forget Valve Time™, this is WhackJob Time™.

That being said, we’ll be playing hard to get with this weapon, it won’t just be dotted around the map like other weapons, its super easy to incinerate almost anyone who you come across when you have the Flamethrower, so we want to make players put in some effort to get it in the early game.

So the Flamethrower will be accessible on Monday, for a price… You can find it in the HugeMart shopping mall, sold as a brand new weed killing device to help replace the Napalm Launchers made in Paradise that were lost after a certain someone caused the destruction of that town’s napalm factory, and then the entire town itself… Not naming any names, but you know who you are…

Be prepared for some serious “fundraising” if you really want this weapon, kicking ATMs, pinching cash from registers, whatever makes the big bucks!

Moving on with some more little additions…

Blood Piss:

And now for a smaller change: When the Dude’s health is 20% or less, he’ll now piss blood instead of regular urine, just like pissing on low health in POSTAL 2!

blood piss


Flu Carrier Cats:

Based on an idea from the P3 design docs: Cats now have a chance to eat Dead Pigeons they spot if the player has tossed one on the ground, this will destroy the pigeon carcass and its gas cloud effect and cause the cat to become infected, producing its own toxin cloud and spreading death wherever it goes, fun!

cat eats pigeon moddb

cat infected

poisoned cat infecting others


Destructible Doors:

Remember how in POSTAL 2, doors could be destroyed by some weapons, such as the Sledgehammer or Double Barrel Shotgun? Well, this is something now featured in CR.

This is something we actually prototyped a long time ago, 5 whole years ago in fact, back in 2018 when the mod was still kind of in its infancy; Here you can see some of that prototype footage, you can tell how old it is because the game still had the vanilla P3 style weapon selector, the POSTAL 2 style hud, which was quite buggy at the time, and used older versions of our weapon icons.

The reason the feature wasn’t implemented back then was the sheer amount of time we’d need to put in to replace every single door in the game’s maps one by one to use the destructible variants, but in between work on some mapping fixes our lead programmer Kizoky decided to give this a go all these years later.

Rather than implementing this by manually replacing every door with the destructible type in the maps, which would take an absurdly long amount of time considering how many doors can be found in each map, Kizoky instead opted to implement this change via code, editing the entity the doors use to “hack” in the destructibility mechanics, a kind of unorthodox way of doing it but much simpler and less tedious for our team.

So, with the feature implemented, here’s how it works.

Doors are split into 3 types:

Wood - Doors which can be destroyed by any weapon with enough damage

door destruction wood


Metal - Doors which can be destroyed only by certain powerful damage types, like explosions

door destruction metal


Locked - Doors which can’t be destroyed, regardless of material, indicated by a padlock that appears on their handle

locked door


The locked door variant is only used for doors that exist purely for decoration (in other words, they don’t actually lead anywhere) or are locked because they lead to an area that opens up later in the game, we’ve tried to keep their use to a minimum.

While this is a small addition to the game, it does add to the mayhem you can cause in-game, and that’s always fun.

Oh, and for funsies, you can also destroy doors through your kicks and punches if you're drugged up on Steroids ;)

Restored Save Icon:

Way back in 2018 we released the P3 art folder, a collection of assets from Postal 3 we’d got our hands on which included concept arts, icons, storyboards, loading screens and more, this collection included a bunch of unused assets that were cut from the final game, and it has been inspiring our work ever since we got it, especially with level design.

But something else we looked into recently is the UI, the folder has a whole section dedicated to the game’s interface, with lots of pre-release experimentation on what the game’s HUD should look like.

One of the mockups included in this section is a saving icon, a stylised floppy disk, and we decided to restore it for Catharsis Reborn.

save icon


This wasn’t an easy task since the mockup showed the icon animated on top of a screenshot of Postal 3, meaning that we had to separate each frame of the animation from the background screenshot to come up with a version that could be placed into CR, but we managed to do it and now the icon appears during any save (both auto and manual saves).

Some other save icon mockups also exist in the files, which were quirky variations of the Running With Scissors logo, showing either the cartoon character from the logo running across the screen or inside the logo itself, but the floppy disk is a more universally recognised symbol for saving, and RWS don’t want to touch Postal 3 with a 10ft barge pole, so we decided to stick with the disk as our save symbol.

Saving and Loading accommodation:

In our last devblog we mentioned that we had implemented AngelScript as a scripting language for some features in Catharsis Reborn, but this had some unintended consequences, we discovered in testing that AngelScript doesn’t work with the game’s saving and loading system by default, meaning that while the mechanics using it worked perfectly fine in a normal playthrough, if you save the game and then come back later, they’d break.

Thankfully this only took a few days to work, but we had to come up with a kind of hacky solution to make it happen, here’s an explanation from our lead programmer Kizoky on how we went about doing that:

The Source Engine has native support for restoring almost all variable types on transition or save load, for example boolean, integer, CBaseEntity*, and so on...

Unlike Postal3Script which almost exclusively only uses Source Engine functions and classes, AngelScript does not, this is where the problems started to appear when it came to restoration.

AngelScript does not get saved to save files, and thus nothing gets restored from it.

We had two options:

a.) Attempt saving it to save file somehow

b.) Manual restoration using Postal3Script

We went with b.) option, as a.) option seemed too complex to solve in a short time.

This involved editing AngelScript's "game system" to check for map loading type (Load Game), and adding a Postal3Script attribute check to manually flag the entity to restore.

We now had a way to mark entities to be restored whenever the game was loaded from a save file, however that was far from finished since we had many interactable props/or gameplay things that relied on AngelScript way too much to just simply attempt reinitializing their AngelScript code.

To fix save/load bug for interactable props, we had to do the following:

- Reinitialize AngelScript for all interactable props on map load.

- Name every prop that don't have any name, and also name their supporting entities, check if they exist.

- Re-use entities if they exist, preventing unnecessary creation, which resulted in funny things like Soda spawning multiple lights.

- Props that heavily rely on linkage (Watercup machines for instance), relink them again by looking for it's supporting entity name.

- Making sure "turned on" props had their ambient sounds re-created.

- A sacrifice for the toilet gods.

For many of these props, manual restoration was the go, but for example, the Cash Register's code was never touched, nor it's Postal3Script code.

Wanted Reinforcement was also a victim of saving/loading, but it was due to poor coding, and because it was never rewritten to accommodate for AngelScript's newest features.

Since our last devblog AngelScript has grown tremendously, we have implemented 350+ functions (methods included) so far!

Updated Launcher:

In the previous devblog we mentioned that Catharsis Reborn now has a launcher for configuring the game before startup, recently we’ve worked on improving the launcher’s design.

We decided that the “programmer mode” and “advanced settings” tabs made the launcher look clunky and cluttered when opened, so we removed them from the main launcher page.#

Old:

old launcher


New:

new launcher 1


Now we’ve designed the launcher to have 4 buttons in the middle of the launcher page, “Play”, “Options”, “Help” and “Quit”, the advanced and programmer options are now included in the “Options” window as their own tabs, tooltips have also been added to explain to users what all of these options do.

We’ve also added some extra backgrounds for the main launcher page, which the launcher will choose from on startup.

Universal Mission Tracker:

Recently we implemented one of the most important changes to the mod in months, maybe even years, a system we call the “Universal Mission Tracker” or “UMT”, which is a new way of handling mission objectives.

To explain this system we first have to explain how objectives worked previously. In vanilla Postal 3 the objective system was completely linear, your current objectives were tied to the level you were in and progress in these tasks was not tracked across maps, in vanilla this is a non issue because you never revisit maps in Postal 3, after entering a new area you can never go back, the only exception to this was the open world bonus maps you unlocked after finishing the campaign, where there were no mission objectives.

For Catharsis Reborn, this system presented a lot of problems, unlike vanilla Postal 3, in CR you can revisit maps as the game is open world, and in fact you’re required to do so during the story.

A small example of this in action is the first mission, the player starts in the Catharsis Suburbs, what we in-house call “City_01”, in City_01 the player finds an ad for the local employment agency, which is located in the Catharsis Industrial Estates, what we call in-house “City_02”, the player has to visit the job agency and from there they receive their first job, working at a hotel in the Suburbs, the player then returns to City_01, goes to the hotel and completes the job.

So you go from the first map, to the second map, and then back to the first map.

With vanilla Postal 3’s objective system, this would be impossible, because the objectives are tied to individual maps, completing an objective in one level will have no impact on your objectives in another, meaning that once the player visited the Employment Agency in City_02, once they return to City_01, there will be no way to tell the game the Agency has been visited and the next objective is ready, the player would simply be stuck in limbo.

Our solution to this was what we called “map variants”, essentially rather than having a single version of the map, we would create new versions of it to accommodate changes in the story. So the initial version of City_01 was labelled “City_01_A”, after the player visits the Employment Agency, the level transitions in City_02 leading back to the Suburbs would instead take the player to “City_01_B”, a new version of the map with the Hotel job objectives.

By creating these map variants and changing level transitions to direct the player towards them after objectives were completed, we could have changes in one level impact events in another, which under the vanilla system would normally not be possible.

We also used map variants in creative ways as well, to create a kind of “passing of time”, in one instance the “A” variant of a map had an open safe you could rob, the “B” variant the safe was closed, the different letter variants essentially represented points in the day.

But this system was also incredibly problematic, it was extremely complicated because we had to keep making sure the level transitions were lined up properly, if we had a transition take you to an A map when it was meant to take you to a B map, or vice versa, the player would start time travelling.

And every time a map got a new letter variant, all maps connected to it needed letter variants as well, for example City_01 has 2 side maps connected to it, these 2 maps would also need both A and B variants, what this meant was an incredibly complicated system that was also bad for file space, as space in the map folder was taken up by near identical clones of levels that existed only to facilitate mission progression.

It also made editing maps way more time consuming, because every time map changes were made to City_01 and its dependencies, those changes would have to be ported over to the map variants, with great attention to detail needed to make sure no changes were missed, when making lots of alterations to the maps in one go, this got very complicated.

So what we’ve worked on to replace this mangled system is the Universal Mission Tracker, it does what it says on the tin, mission objectives will now be tracked universally across all maps, so if you complete an objective in one level, it will be complete everywhere, this means that we no longer need the map variant system, allowing us to to save file space and edit the maps much easier.

It's a change that seems so obvious in hindsight, so you might be asking, why didn’t we implement this sooner? Well, for 2 reasons.

The main reason is we simply just weren’t working on the missions for quite a while, after completing the Demo up to the first mission, we considered extending the mission to include more of the planned Monday jobs, but while we made assets for these future jobs, we never actually implemented these new missions scripting wise, without changes to the missions, we didn’t really need a new mission system.

The second reason is we simply just didn’t know if this idea would actually work, or how much testing it would require to ensure it worked properly, that combination of being a job that for a while didn’t really need doing, and potentially being a nightmare to do, put us off from implementing it.

But the good thing is, that anxiety seems to have been misplaced, UMT is working well and has massively improved the way we handle missions!

Here’s some background on how the system actually works, from Kizoky:

UMT's main file is called `scripts/cr_mission_tracker.txt`.

There you can specify:

- The Day's name, this can be anything

- Maps that belong to *Day*

- Map's current objective if Player loads the map for the very first time (new game)

- Objectives, their names, and their objective dependency (for example, the *Sewers01* objective depends on *Poster* objective)

- P3 Mission Log to UMT Objective/Mission automatic conversion

UMT requires an entity called `cr_logic_mission` to be placed onto the map, it supports up to 10 Objectives.

If a *Mission Task* is marked as done in the game, it will fire a game event called `mission_objective_done`, this logic entity is specifically listening for that event, it will go through the 10 Objectives to check if they were marked as done, if yes, it will fire the inputs and modify entities in the map.

We still have some work to do implementing UMT, removing all of the “B” variants of our maps and passing on any mission logic that they contained to the “A” versions, and that will likely be a time consuming process, but the system itself is essentially feature complete and acting as a massive improvement to our objective system.

Map Updates:

As well as the map changes related to UMT and implementing the content from the “Greater Interactivity” update, we’ve also worked on some more general map updates:

Hugemart

Breaking news! Hugemart is finally a real shopping mall! Partly, anyway. 3 of the map’s stores now have working vendors, the 3 vendors we’ve added are:

Flamethrower vendor - Located in the Garden Centre

Laserpen vendor - Located in the “Doggy Style” pet store

Krotchy Doll vendor - Located in the “Gamecave” game store

flamer vendor

pet store vendor

gamecave vendor final


The first 2 of these were added to allow the player to get access to this equipment, previously the Flamethrower and Laserpen were cheat only weapons that could only be accessed through console commands, in the Flamethrower’s case that’s because it was previously unfinished, in the case of the Laserpen that’s because we didn’t have an idea of when the player should get it (in vanilla P3 the Dude gets it in a cutscene as part of the story), so we added these vendors as an opportunity for the player to acquire this new gear.

As for the K-Doll vendor, why is a game store selling explosive dolls? Merch! Everyone loves a good plushie, but just don’t tell them these particular plushies contain plutonium.

Why did it take so long for this map to finally serve its purpose? Well, as we explained in our 6th devblog, the things we needed for this were:

  • Ideas for what items should be sold, fitting with the themes of the stores
  • Voice actors for the vendors
  • Models for the vendors

We figured out the first and third of these, and for now we’ve compromised on the second for the sake of getting the vendors in the game, these vendors simply use stock NPC dialogue, which is a compromise we’ve made before with our beer vendor in the first city map, who has been in the game ever since our first inclusion of vendors over half a decade ago, ideally we’ll be able to later replace these stock lines with our own dialogue, depending on if we can find the VA talent.

In addition to the vendors, we’ve also fixed some pathfinding problems caused by a faulty navmesh (the guide that tells NPCs where they can and can’t go), which were causing them to try and walk through windows as if they were open gaps, and enter areas that were closed off to them.

Other small bugs like missing glass panes were also fixed.

Out of Bounds Markers

Remember how in POSTAL 2, the game had a system where if it looked like you were stuck, the game would respawn you somewhere safe inside the map, with a stern warning of “Stay outta that spot!”? We’ve worked on something similar for CR, the out of bounds marker.

Essentially these are markers we can place anywhere in the maps that flags them as a location the player shouldn’t be, if the player touches them they’ll be instantly warped back into the playable area with a “Stay outta that spot!” warning, just like old times.

These markers are used in the city maps, placed on certain building rooftops and patches of desert past the invisible and visible walls we’ve set up that mark the boundary between the playable area of the map and sections that only exist for decoration, so that even if the player somehow manages to get past everything we’ve set up to stop them escaping the map, the levels are still idiot proofed.

oob marker


Another potential use we’re considering for these is during missions, in order to ensure the player stays inside the playable area where we expect them to be, for example in the first Mission the player is locked in the hotel and forced to face the Cartel, we may use these markers around the areas outside the hotel to ensure they stay there, then remove them once the mission is over.

The markers will, of course, be disabled when using cheats such as noclip.

New Art Assets:

In the art department, we’ve focused on clearing up our backlog of things we’d been meaning to finish for a while now, something that was briefly mentioned in Devblog 6, one major element of this backlog was our plan to introduce new law enforcement variations.

For many years the Cops in CR have been very barebones, initially with only 1 face variant, later improved to 2, encountering Cops felt like watching Attack of the Clones, now we’ve worked to massively improve on this issue.

To start with, many more face variations have been introduced for our base cop model, including different skin tones, hairstyles and glasses with various lens colours:

cop variants 1

cop variants 2

cop variants 3


We’ve also improved the private security models as well, private security guards in-universe work for a security company called Woodchuck Security, but in practical terms they worked just like Cops, being reskins of the Police and using the same AI, while this is generally still the case we’ve given security guards their own visual variants and replaced the Police badge they previously shared with the Cop models with a unique security guard variant:

security guard variants

security guard badge


Keep in mind, this is one of the most recent changes we’ve implemented, so these new variants won’t appear in many of the other screenshots included in the devblog.

Further work on other parts of the backlog is in progress and we’ll hopefully have more news on that for the next devblog.

Bug Fixes:

Oh, where do we even start?

Well, how about we don’t? Instead of a long essay on the issues we came across, why don’t we just give you a list of fixes? Much easier for the both of us. Okay, here we go:

  • Fixed a bug where Cops were deaf and blind during combat searches
  • Fixed a bug where guards would randomly attack the Motorhead Monkey even if he wasn’t a threat
  • Fixed bugs where guards would not equip their weapons, or would equip but not fire them
  • Fixed a crash caused by Motorhead humping someone
  • Minor Motorhead AI fixes
  • Fixed a crash related to throwing Cats
  • Weapon equip sound will now always play for NPCs (previously Trashmasters made this work off of a RNG)
  • Wanted Reinforcement fixes (Rewritten to use AngelScript's newest features, fix visual bugs and fix crashes caused by the reinforcement deployments)
  • Fixed a bug where Heavy Pistol ammo wasn’t working in some maps (the player couldn’t pick it up even if they had a Heavy Pistol in their weapon wheel)
  • Fixed a bug where the player could break through invisible walls while ragdolling, the game will now teleport the player back to it's initial ragdoll position when this happens, will also say "Stay outta that spot!" message on the screen
  • Audio cache cleared, and rebuilt (the previous version contained vanilla P3 maps, outdated maps from earlier in development and outdated cache files, causing audio issues)
  • Fixed a bug where the main menu would break, leaving the camera in the wrong place (outside the Dude’s trailer)
  • Fixed a bug where the firing sound for the Flare Gun would sometimes not play
  • Fixed a bug where the player was unable to pick up dropped Dog Toys from killed/ko’d NPCs
  • Fixed a bug where Inventory Items would break if you stood on them while they were being spawned
  • Fixed a bug where wheel dust would appear on Segways while they were stationary
  • Fixed a bug where the gas can meter wouldn’t match how much gas ammo the player had left
  • Fixed a bug where NPCs would kill instead of knock out other NPCs when attacking them with non lethal weapons (eg. Baton)
  • Fixed a bug where certain cash pickups, inventory items and ammo pickups couldn’t be collected
  • Fixed a bug where some weapons couldn't be reloaded if the player ran out of regular ammo but still had special ammo to use
  • Fixed UI scaling issues that occurred when changing resolution
  • Fixed a bug where NPCs would not react to being set on fire as intended
  • Fixed a bug where NPCs would ignore “nav_blocker” markers placed down in the maps, causing them to try and enter areas they couldn’t actually reach, leaving them stuck on walls and doors
  • Fixed a bug where the firing sound for the P90 would sometimes not play
  • Fixed an issue where NPCs wouldn’t check the type of entity they were looking at for the home ownership system, causing them to treat inanimate objects in their houses as intruders
  • Fixed issues with doors being immune to explosives after implementing the destructible doors feature
  • Fixed issues with doors not opening as intended, and never closing after being opened

Keep in mind this isn’t a full list, but the simple version of this is that we’ve been busy, whenever we add new features there’s extra potential for things to go wrong, and more fixing to do as a result.

Anyhow, moving on…

The Future:

Our plans for the future of the project remain the same as our previous announcements, including a closed testing period which would pave the way to an official demo release, as we described back in Devblog 5.

We originally hoped that this closed testing period could take place in 2023, but our work as part of Open Season and later the work on the Universal Mission Tracker, which required extensive planning, testing and some reworks of the maps, we decided that this ambition wasn’t realistic.

As we mentioned in Devblog 6, before any testing period we wanted to work on certain “must-do” tasks that would take place after Open Season, and the UMT was one of those, we wanted to make sure we changed over to UMT as soon as possible after Open Season as progressing with the game’s mission structure and content with the existing objective system would only have made the task of switching to UMT more complicated later down the line.

Hopefully though, this list of changes will make it clear that we are still committed to our work on the project and that progress is being made.

We would also like to issue a formal apology to ManChrzan, as this blog was not twice as long as the last one, nor did it contain any info on Fish AI, we hope we can regain your trust in the future.

Conclusion:

Thanks to everyone for waiting patiently for more news, and hopefully this will satisfy some of your curiosity, for the rest of the year we’ll be working on finishing up UMT, the art backlog, and various other projects, what comes after that in 2024 is still to be determined, but we’ll make sure keep to you all in the loop one way or another.

We also have another little project to reveal to you that will be announced sometime hopefully soon, but it needs some more time in the oven for now, so that will wait a little longer, stay tuned until then and we hope you’ve all had a good year!

Post comment Comments
DeXiaZ
DeXiaZ - - 974 comments

ETO...PROSTO...OHUENNO.

I mean, this is awesome. Love to see what you're doing. Keep it up!

Reply Good karma Bad karma+5 votes
Elwood.B Author
Elwood.B - - 37 comments

Thank you very much!

Reply Good karma+2 votes
FlippedOutKyrii
FlippedOutKyrii - - 3,504 comments

One hell of an update, lads!

Reply Good karma Bad karma+1 vote
Elwood.B Author
Elwood.B - - 37 comments

Thank you!

Reply Good karma+1 vote
jns.
jns. - - 208 comments

Dam, now that's what i'd call an update. Impressive work !

Reply Good karma Bad karma+1 vote
Neynh
Neynh - - 62 comments

The more I see, the more I know it will be awesome ! Really impressed by all the work you're doing, can't wait for the release ! :D

Reply Good karma Bad karma+1 vote
Post a comment

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