Postal 4: No Regerts


Junior Game Programmer & Designer

Postal 4 is a raunchy FPS sandbox that left early access in April 2022. I started by creating some usable roller coasters for the games amusement park. I later moved on to maintaining and improving the bystander and combat AI. I rounded out my time on this project by revamping both the combat in missions and improving the boss fights. In my time at RWS I have collaborated mostly with animators, 2D artists, and sound engineers to ensure players were engaged while sprinkling in the infamous crassness that Postal series is known for.

  • UE4

  • C++

  • Blueprints


  • Due to my work in other systems I was frequently touching up the Interest Point System I eventually took on general maintenance of the system. Also through my improvements to combat I also improved some bugs that just made the game look unpolished.

    • Created a system that would detect if 2 NPCs would create "pedestrian traffic" causing them to either end the conversation or move elsewhere to continue the conversation.

    • Maintenance of the Interest Point System which allowed NPCs to interact with the world around them

    • Update logic for checking if a doorway is clear for them to walk through without getting other NPCs stuck

  • Combat has always been my primary interest in games and I jumped at the chance to create a one off stealth system I requested to use existing properties to implement previously scrapped ideas to amp up gameplay.

    • Used existing properties on each NPC to allowed them to target exposed parts of the body since it previous was looking only for the center most torso bone

    • Created a stealth mechanic for the Dark Lodge mission on Thursday by using a mixture of custom triggers, encounter data, spawning, and damage types

    • Added an offhand grenade throw with an accurate predictive arc for bosses and late game NPCs to help flush out players who were behind cover

    • Update the logic behind if an NPC will immediately react to combat starting based off their combat parameters

  • I created 2 of the 5 boss fights in this game from scratch and quickly noticed the other bosses were not using a shared system for the sake of save/load or general system flags. So when we were polishing for 1.0 I expanded the system I used and updated the other 3 bosses to follow suit. These changes added the following

    • Health Bars and Boss Icon UI

    • Damage thresholds for new behaviors

    • Make the boss flee when they took too much damage

    • Easier way to call in "adds"

  • Since this game was release over 5 major updates the first 60% of the game lacked a lot of polish that was given to the final 2 updates. Since my changes to NPC Combat Parameters didn’t trickle down to overwritten values on the BP assets we used to spawn in encounters I went went back and gave it a large scale pass. The goal of this was to give players a better gameplay experience while letting them use a wider variety of weapons on earlier days.

    • Encounter and ambient spawn locations

    • Weapons the enemies used

    • Hidden locations in missions to place weapons for the player to get a few hours earlier

    • Update existing and new combat properties to allow for a better difficulty curve

  • Each of our errands (missions) took place in a specific map with its own level blueprint and occasionally a errand manager for data that would have to persist into later sections of the game.

    • General progress flagging

    • Encounter Manager

    • Pre/Post-Cutscene Clean up

    • Design around for non-linear completion of Errands and sub-objective

  • Created a spline based system that would allow for quickly creating rides to fill up Kunny Island one of the featured locations in the Wednesday Update

    • Properties set up for Cart BP, Cart Count, Cart Offset, Initial Spline Offset

    • A node list that would allow for speed changes and a blend curve to help sell the anticipation and payoffs of steeper sections

    • Custom controller that allowed for the player to equip specific guns and fire them while on the ride

    • Made a child class of the "Queue" system that allowed for a park attendant to usher the line along and have extra logic for a side quest to allow quest passenger to "reserve" their favorite seat

    • Added to the Bystander system to use their past few actions to influence dialog on the line, while boarding, after exiting, and finally to determine if they would puke after the ride is completed