View in browser

STELLAR JOCKEYS NOVEMBER NEWSLETTER

Welcome to the Stellar Jockeys newsletter for November. The winterholidays are approaching, so we've got a few gif(t)s waiting for you...
Benjamin, Stellar Jockeys

Explaining Brigador Killer's Engine: Shadows
In September's newsletter we talked about the art content pipeline andhow we're doubling the resolution of sprites for Brigador Killers. One ofthe issues with making fundamental changes to the engine for our nextgame is it inevitably reveals new hurdles that need to be overcome.
[To use a metaphor, imagine that a game engine is a fully-packed suitcase
almost ready to burst and that making an engine change is like
attempting to put another item inside that suitcase and trying to close it
again - chances are you'll need to get a bigger suitcase, or get better atpacking.]
So we're going to illustrate some of those issues with a few images andGIFs. First up: shadows, and please note that the following is a work inprogress and not indicative of the nal product. Below you'll see twoimages from a so-called "zoo" level. Zoo levels are typically hidden fromthe player and they are the places we as developers populate with all of
one type of thing for testing purposes - in this case this zoo level is lledwith environmental props (click to enlarge).

In a Brigador level, shadows are cast from a simulated sun. We can adjust
the sun’s azimuth and elevation using the “weather” .json data le, andthe shadows will update their angle and direction appropriately. That’sunusual for a sprite-based game. Many 2.5D games make do with ageneralized blob shadow underneath each sprite, since sprites onlyrepresent information about the side that’s facing you.
In the rst game, we solved this by making educated guesses. During thesprite rendering process, we save out the “z-depth” information: for eachpixel in the sprite, we remember its distance from the camera. Theshadowing shader looks at that pixel, o sets it by the angle of the sun,and draws a slice of the z-depth to fake a cast shadow. It works better
when the sun is directly overhead. At low angles, you start to see a“staircase” e ect, and the gaps in our educated-guess shadow start toappear.

Here are a couple of gifs of the sun's position being changed in-engine forthe above two images (left, right) to more obviously illustrate it. As you
can see, wide and chunky props like buildings can cope okay but thinelements like lamposts are immediately noticeable.
[Regarding the disembodied shadow of the player-controlled civilian: theBK engine treats the civilian as if it's oating about 12 feet in the air andproduces a shadow separate from the ground, though from our isometricperspective we are tricked into thinking it's still standing on the ground as
normal. This is because we have not yet nished updating the way thegame handles sprites in the new resolution.]
Brigador also had this problem, but it's much more noticeable with the BK
engine because of the higher sprite resolution (and probably shedssome... light as to why so many campaign levels were set at night).
Fortunately, it is no longer 2014 and there have been many developments
in render techniques in the past seven years, so there are techniques toaddress this shadow staircasing e ect. One such way might be to use a"reverse depth image" of these models to give the engine an idea of what
the sun can "see" so that we can calculate the shadows properly. Putanother way: we already get one depth texture for our point of view as aplayer - we're making another one from the sun's point of view.
However! Remember the suitcase analogy - we can only t so much,
unless we make the suitcase bigger. Rendering an additional texture forevery sprite means we need that much more memory to store thetextures. It's likely that whatever we end up doing, the engine for Brigador
Killers is still going to require more from a computer's hardware than its

predecessor. We can only speculate at this time, but one route might be
to use more of the GPU memory. Another is that we could store thoseshadows into a di erent kind of bu er in memory, which may a ect how
long it takes to load a level.
Regardless of what happens, and recalling what we said in August'snewsletter, this is all just part of the excitement (and problem) of using
your own engine.

Get Your 20% Holiday Discount On Merch

Enter promocode HOLIDAYS2021 at our store checkout (or click thebutton below) to get 20% o your next merch purchase. We're freshly
stocked up on SNC lighters, and there are still plenty of patches, pins andbusts.
Get 20% O

Please note: minimum order value of 8 USD required. Promotional code isactive from the moment you receive this email until 23:59 CST, December
31st, 2021. Happy Holidays!

Community Spotlight
A brief but faction-themed community spotlight this month. Seems a boutof inspiration struck Flyingdebris, who has treated us to an excellent
Corvid tac rig...

...ORNG 3D-printed a Touro to add to their Battletech Lance but notbefore painting it in Spacer colors (view more angles of it in this imgurgallery)...

...and we're not exactly sure why but Modusoperandi decided to mash up
Leonz' famous Among Us remix with Makeup And Vanity Set's Strange
Bedfellows from the Brigador Killers OST via Rave.DJ ♂

As always, you can browse a gallery of community contributions past andpresent in the #becks_best channel on our Discord server.
Join Our Discord Server

Next Month

December will be a short month for us (and hopefully you!), so the next
newsletter will come early.

Stellar Jockeys

112 N Neil St Apt D, Champaign, IL
United States
Newsletter Archive

Privacy Policy

You received this email because you signed up on ourwebsite or made a purchase from us.
Unsubscribe