1. Brigador Killers
  2. News

Brigador Killers News

Dioramas and Color Look Up Tables

[previewyoutube][/previewyoutube]The video above is of eighteen different themed dioramas shown in five different lighting conditions, one after another. These five lighting conditions (or “weather” files) are called:
  • green mood
  • orange mood
  • pink mood
  • blue mood
  • pitch black
The weather files decide the basic lighting in terms of what color the direct light is, what color the ambient light is, and what direction and height the light is coming from in the game. The first four moods also use an associated Color Look Up Table, which is a feature new to Brigador Killers. CLUTs are screenspace shaders that can change how these colors look on screen in a fashion similar to color grading. In other words, all of the arranged assets in the eighteen different dioramas are not different colored buildings. Instead, what’s changing is some basic lighting information (which is kept in a .json file) and a .png file for the CLUT that’s only ~10 kilobytes in size, which lets us create completely different moods using the same scene. Dave is included because he has a flashlight on his chest rig and gun that we use to light up some of the assets when the dioramas get darker.

The Ambient Music

Accompanying the video is an ambient track composed by Makeup And Vanity Set. The track is titled “Faber” and is one of several that have been composed for the game in addition to the OST.
[previewyoutube][/previewyoutube]
Yes, We Know About The Shadows

Why it happens is because you are not seeing “true” three dimensional models - you are actually looking at flat two dimensional quadrilaterals, or “sprites”, so the engine is repeatedly casting “slices” of the sprite rather than creating a regular looking shadow. Here is a longer explanation of the art pipeline if you are interested in learning more. At some point down the line the “staircasing” effect of the shadows in the game will disappear, so please enjoy it while it lasts.
That’s all for this month, but do tell us which mood and diorama was your favorite before you head off on holiday?

https://store.steampowered.com/app/903930/Brigador_Killers/

Dystopian By Design

This month’s post comes courtesy of our lead artist who also helped write the previous posts about the Mar Nosso SWAT vehicle and the spacer redesign.

Brigador is not a transhumanist or tech utopian setting. For as much as technology serves and eases human life, it can and is used to undervalue and enslave. We want to reflect this in Brigador Killers with designs like the Lobo.

Early in the story we discover specialized cyborgs used as soldiers, known as Lobos. This is the Spanish word for wolf, but is also suggestive of the word “lobotomy”. These soldiers did not volunteer; the fuller scope of the why and how for the Lobos came to be is part of the story.

Some key design goals for the Lobo:
  • Real world style design revisions over time, and
  • Those design revisions depicting escalation over time
Let’s talk about these two in turn.

[h2]Design evolution over time[/h2]
Optimal design seems intuitive or even obvious, but only in hindsight. For example: the first minivans were smaller, passenger comfort-focused versions of cargo vans, which only had a single large sliding door, so the first minivans also only had a single slide door.

Minivans initially only had a single sliding door on the passenger side (source)

It took two generations of models in Chrysler’s case to introduce sliding doors on both sides, after which all the major auto manufacturers quickly followed. Obvious in hindsight, yet it took time to actually occur.

When we seek to reflect how designs change over time, we have to remember that the ultimate goal is not always in sight from the beginning. Designs evolve, clarify (or obscure and devolve!) over time. For a more realistic approach to design, we want to show iteration over time.

Top: 1st & 2nd generation minivans with no driver sliding door (1984-1995). Bottom: 3rd & 4th generation minivans with a sliding door (1996-2007) (source)

[h2]Design escalation over time[/h2]
This leads into our second point: technology is not value neutral; it reflects the values of its creators. Shirley Cards tell us a lot about whom Kodak’s film stock was intended for, and who were not considered.

In the fiction of BK, between the Mk1 and Mk2, the designers of the Lobo stopped seeing the pilot as a person, only a design problem to be eliminated. Whoever the Lobo client is, it is not the pilot. The Mk1 is a half measure of hobbling and forcing a person to drive a suit of powered armor. With the Mk2, the awful logical conclusion has been reached: the person is another component to be streamlined, optimized.

Where the Mk1 is designed around a quadruple amputee with at least some allowances for the pilot, the Mk2 Lobos are maximally dehumanizing (an armored head enclosure with life support).

[h2]A (brief) annotated visual history of the Lobo[/h2]
The Lobo design began in 2012 with a design I called “Company Man” for my game Animal Memory, which is the precursor to Brigador and the origin of the world setting. The goal was an unsettling robot/cyborg type enemy. The “empty helmet with optics” motif was seized upon.


Cyclolucidites’* particular head-in-a-can design is over a decade old at this point. The following image is also from 2012 and the same time period. In a world without, or few advanced computers, human brains would substitute.

[* For true Doom murderheads of The Lore, read up about cyclolucidism.]


A few years later I would revisit this design circa 2015 as a sketch, adding the dress shoes which is my favorite element of the design.


In 2023 The Mk2 would be modeled. Other than being given a 20mm cannon the design is quite faithful to the 2015 concept.




Original head canister design as per 2015 concept sketch with rear wheel, suggestive of these wheeling around on their own like Star Wars mouse droids. Which I think is a little too cute.


Here is the revised canister design, which is much more like the 2012 original cyclolucidite canister sketch:


This is how the Mk2 finally looks after being animated and exported into the game engine:



[h2]Mk1 Design[/h2]
Seeking to land the “design evolution over time” theme, I went back and designed a more primitive Mk1 model. Cutting off and using only the head for a cyborg is a severe move; it would take time to arrive at that. First, they would use a quadruple amputee and more primitive coercive methods of controlling the brain.


I did not particularly like the ape-like aspects of this design. While it was meant to look as though he was stooped and wizened from forced labor, it mostly just made you look at his butt. Not the design intent.


Some revisions later we arrive at the Mk1. Here it is in action in-engine:


Death flops are among the many animations made for this unit.


Notable influences on the Lobo are Ted Backman’s Stalker designs for Half-Life 2...




...And The Sequester by Keith Thompson, whose story vignettes also inspired the lore entries in Brigador.




It’s Steam Summer Sale time again, which means our first game is currently on discount for the next two weeks. If you would like to support our development, please consider telling a friend.

https://store.steampowered.com/app/274500/

The Sun Never Sets On Volta

Why’re they pink?” Gus asked, pointing to his chest as he struggled with the donning procedure of a Carmine in his size.

“Carmine. It’s the colour as well as the suit,” Amon corrected him.

“Fine. Why are they fucking Carmine?”

Amon rattled off his lines like an actor jumping the mark. It put Gus on edge in a way he struggled to articulate.

“The area in which these suits saw action is tidally locked. That is, the strategically important areas on Volta are cast in a permanent twilight, which casts a pinkish hue over the entire region.”

“Carmine-ish,” Gus corrected him
.

[Excerpt from Brigador Killers: Pilgrim by Brad Buckmaster]

Arriving at a particular design is one of the difficulties of video game development. “Just come up with something new” sounds romantic, but is often an ineffective approach. We find that the best designs are often authored in response to particular constraints; those can be story (the planet has a red star), practical (we only have two weeks to build this), gameplay (we don't have the sprite budget for this unit to animate), or even just arbitrarily self-imposed.

If you read our post on Reimagining The Spacers from last year you’ll know comes next: we went one step before that process to answer what might seem to be a simple question: why is the Carmine suit that colour? Naturally, we asked an astrophysicist to help us out.

The Carmine suit’s origins


Also known as a tactical rig or “tac rig”, the Carmine suit is less sturdy than a powersuit like the loyalist Mongoose. It makes up for this with increasing the player’s movement speed and kick power, as we have previously noted.


Within the fiction the suit comes from Volta, a mining colony planet mentioned in the text above. Voltan locals attempted a revolt with the use of these suits, though Volta is not a planet like our own.

Volta


Volta is different to both Novo Solo (where Solo Nobre is located) and Mar Nosso (where Brigador Killers takes place). There’s no specific mention of the following in the original Brigador, but if you listened to the prologue of the Pilgrim audiobook…

[previewyoutube][/previewyoutube]
…At the 3:10 mark, you might have wondered what the word “terminator” means in this context.

On most planets like our own, the terminator is the ever-moving line that is the border between daytime and nighttime. In Volta’s case this line does not move. This is because Volta is tidally locked towards its sun, meaning one side of the planet is always facing that direction. Our own Moon is an example of this phenomenon, since it faces towards Earth.

In the novel extract, the character Amon mentions “a pinkish hue over the entire region” but most of us have experienced twilight - that period where the Sun’s light is still scattering into the upper atmosphere despite being below the horizon…

[Mojave Desert via Wikipedia]

…but these periods are not exclusively pink. Missing from the extract is what sort of sun Volta has. Enter Dr. Lindsay DeMarchi, an astrophysicist kind enough to consult us on the vagaries of living on a tidally locked planet.

What is a red dwarf?


Our sun in the solar system is a yellow dwarf. It’s about 0.5 degrees across, or in other words takes up approximately 1/720th of the sky. Volta’s sun is a red dwarf, which is 2.1 degrees across and takes up 1/180th of the sky. If we overlaid both planets’ skies into one scene, the stars might look something like this.


Despite the yellow dwarf looking smaller than the red dwarf, red dwarves are smaller in mass, have less luminosity and are cooler than a star like our Sun. Volta is also much closer to its star for two reasons. The first is tidally locked systems occur when bodies are close to one another, such as Mercury and our Sun (another example of tidal locking... kind of). The second is that Volta’s red dwarf has a cooler temperature and is less luminous than our Sun. This means the habitable zone for Volta needs to be within 0.030 and 0.043 astronomical units from the red dwarf to make up for the disparity in temperature and light compared to the Earth (which is ~1 AU from the Sun).

If you are wondering whether we did the math on any of this, absolutely not. The astrophysicist who does this sort of thing as their day job did the math, resulting in the following table:


Or, as a diagram:


We are aware that tidally locked planets might not be habitable at all. Dr. DeMarchi wrote to us the following caveat:

Astronomers don’t yet know for certain the effect tidally locking has on the development of life. Would this cause a temperature gradient that triggers very strong winds? Would the opposite faces each be too hostile for life to develop? Would an atmosphere be able to exist at all, or would the cold side condense it all until it’s too thick to be a gas?

Yet when it comes to the realism vs. fun debate in video games, we tend to lean towards fun because it’s far more interesting to assume that Volta is (just about) habitable and all the effects that might have on a local population.

Now that we know where Volta is and what sort of sun it has, what does any of this have to do with the Carmine suit being carmine?

Light, Or The Ornamental Force Of The Universe


Since Volta has a red dwarf and not a yellow dwarf, there is going to be a difference in the range of visible light on Volta. This means that Volta’s star isn’t putting out a lot of blue or green into the spectrum, which we get a lot of from our own Sun. Put blunt, this is what a Voltan rainbow might look like.


This isn’t the full list of colors visible, just a snapshot of what might appear. If you’d like to play around with what colors appear at different wavelengths, you can use this site.

As the name of the red dwarf implies, Volta’s environment would appear very red on the surface. We arrive then at our answer as to why the Carmine suits are that colour: camouflage. There’s even precedent for this in an actual conflict.

The Pink Panthers of the SAS


A few years into the Dhofar War that took place between 1963 and 1976, Britain supported the then-sultan of Oman with the Special Air Service. One of the vehicles used in this conflict by the SAS was a run of 1968 series IIa Land Rovers painted entirely in pink. This vehicle can be seen on display in the British Motor Museum in Warwickshire, England.

[Via Wikipedia]

The reasoning behind this choice of colour is that it turns out pink was effective at disguising the vehicle in Oman, the geography of which is mostly desert and valley. The colour scheme would later be abandoned when it was replaced with the sand-coloured SAS 110 Desert Patrol Vehicle in the 1980s.


If you’re voracious for more physics, you might have missed this lengthy chat our designer Hugh had with another physicist friend discussing the rationality behind the proposed form of space travel in the Brigador universe. Enjoy.

[previewyoutube][/previewyoutube]

[Special thanks to Dr. Lindsay DeMarchi AKA @stellarmorticia who also went to the trouble of explaining several other things, like why bees would not do well on a planet like Volta due to the lack of UV light from a red dwarf. Cover image is "Planets Under A Red Sun" by NASA/JPL-Caltech.]

How the carmine suit is unlocked

There are a few things to interact with in the Secret Alpha build of Brigador Killers that generate a small amount of reactivity for the player. For this month we’ll look at the two main ones: the braintape, and the carmine suit parts. Please note that these systems are still a work in progress and what is detailed in this post is not necessarily indicative of the final product.

Both of these interactive elements have the following things in common:
  • They are ITEM_PICKUP resources* in the game
  • They have a condition assigned to them in SJTiled**
  • They change state because of a Lua function***
[expand]* Resources are the game’s various .json files arranged by type; ITEM_PICKUP is new to BK
** SJTiled is a fork of Tiled, a map-making tool used by several games
*** Lua is a scripting language that allows the game to execute code; a Lua function is a self-contained module of code[/expand]
[h2]WHY THE BRAINTAPE DISAPPEARS[/h2]

To jog your memory, this is what the braintape looked like placed on its own:



This is what the data for the tape looks like in the Data editor tab of the debug panel:



The two things to note here are the resource path i.e. assets/data/pickups/kipple/pkp_braintape_01.json, and what’s contained in the on_pickup field i.e. UnlockTape. From here we go look at the same scene, but in SJTiled.



The three elements to pay attention to here are:
  • The green key icon that is currently selected named “Braintape 01”, which is a scripting object
  • The asset field under Custom Properties
  • The disable_if field under Custom Properties
The scripting object is placed on an object layer within the map in SJTiled. When the map file is exported as a .json file that the game engine can read, this file allows the game to know where to place what assets, be they enemy spawns, building props or pickups like our braintape as well as what states they should be in.

The asset field tells the game what asset to use for that object. Since it’s using the same asset path as the braintape in the data editor screenshot earlier, this means the game knows to use the assigned sprite for the braintape. If no asset was assigned to this object, the game would not render any sprite at all (or possibly crash in the attempt to load the map) and the player would not be able to interact with it.

The disable_if field contains the text __IS_UNLOCKED__. This field means that the object will not appear if the object has been unlocked by the player. Recall that the on_pickup field in the Data editor tab contained the text “UnlockTape”. Reversing the idea, this means the braintape will always appear in game until the player interacts with it. This begs the question: how does the game know to do this?

The bridge between SJTiled and the game engine is a Lua function called by the ITEM_PICKUP resource. Here is the relevant Lua function in Notepad++:



This function is titled UnlockTape. In case you missed it, the text that was inserted in the on_pickup field is referring to this exact function. In other words, we can insert functions into the data of ITEM_PICKUP resources in order to execute a module of code. What this module does when the player interacts with the braintape is:
  1. Increases by one the gvar labeled “tapes_delivered”*
  2. Executes the relevant code to change the gamestate
  3. Unlocks the resource according to the indicated filepath in the resource that is calling the function
  4. Saves that unlocked state to a local Lua file called gvar_data
[expand]* Gvars, predicates and storylets were mentioned before and will be revisited in a later post[/expand]

So, once the braintape is picked up, it will be “unlocked” by the game engine. In SJTiled, we assigned this object to be disabled when it is unlocked. This means that when we come back to the same location…



…the tape is gone. Now that we understand how the braintape appears and disappears, we can look at the suit parts.

[h2]ONE MORE LAYER OF COMPLEXITY[/h2]

Unlocking the carmine suit follows the same path as the braintape but with a couple more steps. Going back to our test level, all three suit parts are laid out in a line and have the same disable_if condition as the braintape to stop them from reappearing after being interacted with. Here is what the parts look like in SJTiled:



While this is what the parts look like in the game:



And all the resource data for the carmine suit parts looks something like this:



An additional field to pay attention to here that the braintape did not have filled out is menu_unlock. When the function unlocks this resource, the intel entries on these items also become available to read. Until the pickups are interacted with, they will look like this in the game’s Intel section accessed from the main menu:



The function being called in the Data editor for all the carmine suit parts is UnlockItem. Here’s what this Lua function looks like in Notepad++:



Simply put, this function unlocks the resource that is calling it (the three carmine suit parts), and saves that state information to the gvar_data Lua file.

When this map that contains the carmine suit is being loaded, two other things are going on. The first is another function called HandleItemUnlock, which looks like this in the file called mapstates.lua:



There is also a reference script called pickup_ref.lua which contains this:



In this reference script we can see the filepaths for the three ITEM_PICKUP resources that are also placed in the map in SJTiled, and we can see the filepath for the carmine suit itself.

The reason why this script is referenced is because of something called BRIGAHACKED. This is another object layer in SJTiled that has a custom property called luaload assigned to it which contains a string called, you guessed it…



…pickup_ref.lua. Combined with HandleItemUnlock, this reference script gives the layer of this map a list to check off when it is loaded. This reference script is also meant to be copied and modified to unlock other items on other maps.

So what about the suit itself? We already know how the suit parts disappear when interacted with - how is the suit being handled?

Returning to SJTiled, the suit is just sitting there, but when we look at the custom properties for it…



…Instead of disable_if, we have the custom field enable_if with __IS_UNLOCKED__ in the field. In other words, until the three parts are acquired and trigger the UnlockItem requisites, the suit is disabled from appearing on the map. When all three suit parts are acquired and the map is revisited…



…The three suit parts are gone as we would expect, but the suit is now available for use. It should be noted that for demonstration purposes, all three suit parts and the suit itself were placed on the same test map – but they do not have to be. Since the unlocks system is being handled by these Lua functions, which are entirely separate from the maps, the unlocks can be made to appear wherever we want them.

If we look at the “Fort” map that you see when you start the Secret Alpha build, the suit is placed there in SJTiled.



However, it is only until the player ventures out and finds all three carmine suit parts that they will find this reward waiting for them back at the fort.

[h2]WHAT’S IN IT FOR ME?[/h2]

This unlocks system for Brigador Killers is how we are responding to some of the feedback the previous game Brigador has received over the years. While the quality of action and writing in lore entries was fine for enough players, Brigador’s unlocks system was found lacking. This doesn’t come as a surprise to us as developers, because very little time was available for that aspect of the game’s design.

Brigador Killers is in a different position and we think this new system of unlocks will address the criticism of there being “nothing to do”. Players will have reasons to return to certain locations, as opposed to the previous method of earning arbitrary sums of money to unlock pieces of text in a menu that was too many clicks away from the action.

We’re also exposing these details to give our modding community advance notice. Those who have made Brigador maps and mods in the past will likely have already thought of ways to go one step further with what’s been detailed in this post. After all, why give someone a carmine suit as a reward and have nothing to fight against? Why not place something more lethal in a map that can only appear in-game once the carmine suit itself has been unlocked? Or if entire layers of a map can be given custom properties, why not change that map entirely?

In a later post we will revisit the topic of gvars, predicates and storylets. We already talked before about how they handle dialogue, but what we weren’t able to say back then is we are also able to use those narrative systems to effect changes on gamestate in the much same way that ITEM_PICKUP resources can.



If you’d like to support our ongoing development efforts, consider making a purchase from our merchandise store where we sell minis, pins, t-shirts and many other items.

Post-Alpha FAQ

Before anything else, everyone at Stellar Jockeys would like to thank you for your reception earlier this month. Considering what we were up against, and how deliberately narrow we made the announcement, we were taken aback by how much attention we ended up getting for the first public build of Brigador Killers.

[h2]Wait, what? There’s a build of Brigador Killers I can play?[/h2]
Yes, and we wrote a few paragraphs to prime you on what to expect. Please read it, especially if you are a complete newcomer. And yes, it’s only over on Itch for the time being.

[h2]What’s the music track that plays in the menu?[/h2]
It’s called Approach and it was composed by Makeup And Vanity Set. It has been uploaded to our YouTube channel.

[previewyoutube][/previewyoutube]
[h2]What’s the font for the two new splash arts?[/h2]
The loading screen splash is an homage to the title cards in Katsuhiro Otomo’s "Memories" (it’s free to watch on the Internet Archive).

The English text is set in Arial, regular and bold, with the Japanese set in GL Tsukiji 5go. The “haze” effect is achieved by making an outer glow and a drop shadow in photoshop with the following settings:

The text color is an off-white with a hex code of #e8f2fb. The outer glow color is #cdf4e9 and the drop shadow is #dcf4ec.

For the revised Brigador Killers logotype that can be seen on the recent Makeup And Vanity Set video posted to our YouTube.

“Brigador" is set in Cassannet bold with the color code of #e8f2fb. "Killers" is set in Times New Roman Bold Italic with a color code of #db214c. The Japanese text is set in Kozuka Gothic Pro Heavy (H) with the same color as "Killers". Here are the outer glow and drop shadow settings for for “Brigador”.

The drop shadow color is #d2f6f6 and the outer glow is #81b4d7.

The outer glow on the Japanese text uses the following settings with a color code of #ff0000.

The two splash arts and just the logotype can be downloaded by clicking these links.

[h2]Sidenote regarding most issues[/h2]
Things that have not yet been dealt with and that aren’t covered in detail here – for example “Why do the menus look the same as in Brigador?” – are typically because those things overlap with so many other parts of the game’s code or are connected to systems that haven’t yet been set in stone. In other words they’re not just “one thing”. Instead, they are multiple things often tangled up with even more things, so tackling “one thing” would in most cases mean doing all of them at once. This is not unique to us or to Brigador Killers, and is better known as tech debt. That said, there were plenty of frequent questions or observations.

[h2]Why could I possess Froggy?[/h2]
There’s a flag on the data of all mech-type NPCs that, if enabled, permits the player to “enter” it as if it were a vehicle like a tank or a mech [Side note: almost all NPCs are considered “mechs” in the game engine - even the agravs]. Usually this flag is for empty vehicles, but they weren’t set properly for every NPC placed on the maps and it wasn’t intended for people to “drive” Froggy or other non-hostile NPCs either. This is also the reason why players could enter multiple NPCs like a kind of Russian nesting doll even if it made no physical sense.

Needless to say very quickly many players in our discord server reported gleefully driving around as Froggy and setting off Froggy’s flop animation, before getting their Froggy into a Fork and stomping around.

We have since changed the data on various units including Froggy to no longer permit this behavior, but it is trivial to reenable Froggy piloting for those experienced with the debug panel.

[h2]Why does the Settings menu not change the movement of the cars?[/h2]
There are three categories of things that can be changed in Brigador Killers’ settings:
  1. Mech & Tank movement
  2. Agrav movement
  3. “Suit” (or infantry) movement
These three categories cover four movetypes, but behind the scenes each “mech” in the game can actually have one of six movetypes. This is most noticeable when driving any of the new wheeled vehicles, but the wheeled vehicle movetype cannot be altered via the Settings menu because there is currently no category for it.

[h2]Why was the Fort NPC repeating the same line over and over?[/h2]
It was due to a bug with the storylet system not working as intended. It has since been fixed.

[h2]Why was my character stuck in a particular pose after getting out of a vehicle?[/h2]
The short version is “because it’s an alpha”. The longer version is that the game’s finite state machine broke in a way that stopped things from animating properly, hence why the player character could remain seated in mid air after getting out of a car.

[h2]When can we get our hands on SJTiled?[/h2]
SJTiled is the tool we use to make maps in Brigador Killers and in the Secret Alpha post it is mentioned that this tool will be made available - and that will happen. A few things need to be pointed out.

The first is that although there are plenty of props to make maps, there is little in the way of enemy spawns to make interesting combat encounters. For instance in the BK build you can acquire the Fork mech or the Betka tank, but you don't get much of a challenge with them as there is nothing equivalent in force to those vehicles to give you a challenge.

Second is that we don't want to run into a problem we had with Brigador with breaking people's maps by performing any major revisions to the game’s assets. We don't expect to do this frequently but we do want to add in some newer stuff to both SJTiled and BK first so that you can make something more interesting than on-foot gunfights before we potentially break things.

Third is the modding document alluded to in the post that helps explain some of the new features is a work in progress and will definitely be rewritten (and probably re-rewritten) over time.

Once SJTiled is ready to be distributed, it will be done so initially via our discord server.

[h2]I have a crash bug![/h2]
Report it to the #bk_bug_reports channel on our discord server or email it to our team account. For the time being we are keeping any feedback to as few channels as possible. It makes our jobs much easier if we can reliably reproduce the bug you’ve encountered, so detailed explanations of the problems you have encountered are greatly appreciated.

If you’d like to support our development of Brigador Killers, consider sharing the fact that our first game Brigador: Up-Armored Edition is on sale on Steam until March 4th

https://store.steampowered.com/app/274500/