Status
SteamPeaks
ChartsSalesUpcomingPatchesEventsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
EventsSteam's own events and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesEventsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Brigador Killers›Events›Narrative tools in Brigador Killers
Community

Narrative tools in Brigador Killers

Brigador Killers · published 9 months ago

All eventsPlayers around this dateRead on Steam

November's post focuses on one of the major feature changes to the next build of Brigador Killers: the narrative system. The narrative system was touched upon before in this post. A lot of the things from that previous news article still apply, but the presentation and utility of the system has changed.

This time around we'll show these things in action, and then explain the moment-to-moment. To start, watch this short clip from an internal build recorded on November 24th 2025.

Plot wise, Brigador Killers takes place around the events of Brigador Killers: Pilgrim. The consequences of what happened in the book have altered local society, and security forces are widespread - in Mar Nosso at least. The player is crossing a border checkpoint in a Lowboy from Mar Nosso into Sady to seek medical attention for their friend in the passenger seat.

At the 0:16 mark, the player approaches a Lil' Cop and the following ephemeral text appears over the Lil' Cop on screen: "Gee! Make sure your transit papers are ready!"

Internally this type of text is called "ephemeral text" because it only appears for a short time. The previous game also had text that would appear like this (e.g. the "GREAT LEADER IS DEAD" message), but the reason you only really saw it in that one intro mission was because of how limited it was in its implementation. Now, however, we have more complicated tools for the narrative. Let's look at what this exact moment looks like in Tiled, which is the WYSIWYG editor we use to create maps.

The rectangle in the center with the arrow pointing out towards the Lil' Cop is a type of script object called a text trigger. What that means is when the player crosses into the space marked by the rectangle, it causes text to appear on screen. Since we want to make it as though the Lil' Cop is talking, the text is offset to appear over its head, hence the dotted arrow leading to a point above the Lil' Cop. The Custom Properties of the script object are the following:

These properties dictate what the text is and its appearance. Where necessary, ephemeral text can have a different color, or appear on screen for longer periods of time.

At the 0:18 mark, the player passes by a lowered gate, which raises behind them, and is stopped by the border guard and a dialog feed opens with a portrait of the guard. This next part looks like this in Tiled.

There are four new named script objects to pay attention to here. The first two are both named gate trigger, which sandwich the other two script objects named Raise Gate and dialogue_trigger. The gate triggers are another kind of scripting object that connect to the gate props they are placed under, and as developers we can set whether these gates start raised or lowered. In this exact instance, the first gate starts lowered, with the second one in the raised position.

The next script object raises the gate the player has just passed. This happens because, much like the text collider with the Lil' Cop from before, this is a script collider. When the player passes into this collider, a callback called RaiseGate occurs. Callbacks can make specified actions happen within a level. In this case we want a gate to raise, locking the player in and creating a sense of feeling trapped.

When the player enters the checkpoint, the gate will raise behind them and the inertia of their movement will carry them into the fourth script object: dialogue_trigger. Looking at the Custom Properties of this object in Tiled, we see a property that has a string of text attached: e01_h00_m01_m_gatebribe-00.

Unlike the ephemeral text from earlier, this trigger instead causes the storylet of the same name to play, and to inspect this we need to look at the dialogue editor in-game via the debug panel.

On the left is the list of eleven storylets that play during the dialogue with the Border Guard. On the right is the contents of a selected storylet from that list. Going through the fields from top to bottom: the name field is the same string of text that is in the dialogue_trigger script object in Tiled mentioned before. The begin_callback field contains HaltPlayer, which is a callback that, when this dialogue storylet begins, the player is immediately halted on the spot. The priority value of this storylet is set to a value of 1 which, for the purpose of this storylet, is to make sure that this storylet plays first. The speaker field is left as null, since there is technically no speaker that the player is talking to (speaker being an NPC that was placed in Tiled and given a name). The display_name field - not to be confused with the speaker field above it - is how the character talking is named when they are speaking in-game as in the footage at the start of this post. The response field is how the game links to another storylet to follow after this one finishes; without this the "chain" of storylets will end, which is important for the next paragraph. The text field is what text will appear on screen. The duration slider sets a delay for how long it takes for the "continue" prompt to appear during dialogue (or, if the ephemeral checkbox is marked, how long the text will appear on screen). The theme field points to a .json file that contains the portrait and relevant text colors for the character speaking. Both associated_gvar and predicate are not used in this exchange, but if we wanted to create a situation where a storylet would only play if a player has performed a specific action, then we would use this. Lastly, the file field is the location of the .json file the storylet is saved to.

Skipping to the final storylet in the list, which is e01_h00_m01_m_gatebribe-10, we see the following.

The main thing to note here is begin_callback contains the LowerGate callback. This callback is what lowers the gate in front of the player when this final storylet plays. What's important here is if there was a break in the string of responses, the player would not be able to reach this part and trigger the callback to lower the gate ahead of them.

When the player drives on and clears the gate at the 0:38 mark, they encounter the last script object which is another script collider called Cycle Gates.

This last callback cycles the gates back to their initial position, raising the one the player has just passed, and lowering the first one, as if to resume the sequence of processing vehicles passing through from Mar Nosso into Sady.

Other things of note

There are a couple of moments in the footage that are not directly related to the narrative or scripting, but they are not entirely worthy of a whole post themselves either.

As the player is driving up to the checkpoint at the beginning of the footage you will hear the sounds of the Lowboy's engine and the sound of the tires on the asphalt. Dave has demonstrated different material noises on ground tiles before with his footsteps and this effect also applies to vehicles.

At the 0:07 mark you will see the new "bubble" effect for the player as the Lowboy drives by an antenna.

This bubble allows the player to clearly see their position and orientation even behind large objects. You see it again as the player passes through the gate into Sady. This effect is functionally identical to what you might have seen in the first two Fallout games when navigating your character through buildings.

From 0:18 to 0:38 the turret of the SWAT APC on the other side of the checkpoint is visibly tracking the player.

This is done in Tiled by simply placing an enemy SWAT APC, and in the NPC's custom properties setting it to be immovable and to have no loadout. In other words, it's rooted to the spot, and has no weaponry, but since the APC considers the player an enemy, it still "aims" at them, and so the turret tracks them as the player passes through the checkpoint.

Lastly, we see Mar Nosso's roads at the start of the clip with fresh asphalt, lines of palm trees and cold street lamps…

...And as soon as the player passes through the checkpoint they are met with the quality of Sady's municipal infrastructure.

As much fun as it is to have new narrative tools and scripts to play with, it's always important to remember that we can tell a story through architecture too.

More from Brigador Killers

Other announcements

All events
Game update2 Sep 202602/09/2026 Brigador Killers UpdateA small update has been deployed for Brigador Killers v0.6 - 1b501a55. Here are the details. Please note that there are some minor spoilers. Gameplay · Unload weapons of their ammo by pressing Interact (default bind of E) when mousing over a weapon containing ammo on the inventory screen – ammo from the weapon will be transferred onto the cursor. · When buying from a merchant, items will spawn…Community28 Aug 2026RESPONDING TO YOUR FEEDBACKBefore anything else, thank you to everyone who has taken the time out of their day to leave reviews and comments on the Steam forums. While we might not be able to respond to every single thing, we do read your posts and they have been very helpful. To put it in some kind of perspective, the attention so far is roughly equal to the first two years of the first game condensed into less than a w…Game update25 Aug 202625/08/2026 Brigador Killers HotfixA small hotfix has been deployed for Brigador Killers v0.6 - 08b1d397. Here are the details. Please note there are some (minor) spoilers. Gameplay * Fixed a crash bug caused by invalid mount bookkeeping. * The merchant that gave you a Drummer when you asked for a Kultaban will give you a Kultaban and not a Drummer. Settings * Invert X on Reversing added to MOVEMENT options under SETTINGS > GENE…