Category Archives: Design

Designing Galacide’s Bit Sequences (aka: Colorful Spreadsheets!)

 

Hi, I’m Silverwolf and I do gameplay stuff (some design, mostly programming) for Galacide with Puny Human. Here’s a quick look at the latest bit sequence design and a little bit of explanation of what bit sequences are, how they’re used in game, and how we make them.

 

BitSequenceEditorShot

 

 

First, some history: When we started on Galacide we only had the randomly-generated bit wall, which is great, but we recognized a need to have specifically designed sections of bits to pair with stronger (or weaker) enemy waves and various other scenarios.

 

The first solution we implemented for this was a volume we could place into the level (eyeballed, of course, since the bits are spawned real-time and our levels are basically empty space with pretty backgrounds). These volumes controlled which colors of bits could spawn inside them and could be stacked inside each other to create specific patterns in the bit wall, but it took an extremely long time to get them set up and perfectly positioned in the UE4 editor.

 

BitControlVolumes

 

 

The above section was a test to create a horizontal gap through the bitwall using the big volume there. The three smaller volumes created a series of protruding bits into the gap, which the player would navigate around. It took about 20 minutes to get the volumes in the level, and positioned (and repositioned, and repositioned, and…) until they lined up to make a 6 bit gap across the middle with 2 bit wide protrusions that left a 2 bit space above or below them. Clearly we needed a better system.

 

(Enter the Bit Sequences.)

 

We already had a bunch of spreadsheets we were using to design puzzles for the then-future addition of Puzzle Mode, so that gave us the idea of just standardizing their format, and importing them into the game. From there the rest was easy, as the following sequence took about 2 minutes to create and 5 seconds to import, whereupon it worked perfectly in game (each side of the vertical black line in the middle is an in-game screen width of bits):

 

BetterThanBCV

 

 

These sequences can spawn any color and type of bit, including gun turrets and linking turrets, and stationary scrap and bombs. All of the Puzzle Mode puzzles are designed this way, as are any Campaign level sections with non-random bit patterns.

 

Our initial design approach for the Campaign sequences was to just make a bunch of stuff and play it to see what’s fun. We jammed about 20 different sequences with varying levels of complexity and difficulty and stuck them in the Campaign to see what we liked and didn’t like, but more importantly, why we liked or didn’t like them.

 

We discovered a very fine line between too easy and too hard for sequences that require matching to get through, and that navigation sequences (like the one above) should be used sparingly, and with what would normally be an overwhelming number of enemies.

 

That brings us back to the sequence in the first image on this post:

BitSequenceEditorShot

 

 

This sequence is titled LinkTurretBombPrisons and is currently intended to be encountered on Campaign Level Six, Desert Ruins. The idea behind this setup is that the player will need to free (at least) one bomb (p) from its prison which is protected by linking turrets (rbt/gbt/bbt) and armored bits (ra/ga/ba) in order to blast through the wall of alternating armored bits along the right side. It’s possible to get a match to open a hole in the armored wall, but the spacing and alternating colors make it extremely difficult. The x’s are empty spaces and d / dn are random colored bits (dn won’t generate any empty spaces.)

 

So that’s Bit Sequences. We’ve had a ton of fun designing and testing all the different ways we can challenge the player via the bitwall, and hope you have just as much fun playing Galacide as we’re having making it!

 

I’ll leave you with some “behind the scenes” action of a few sequences that didn’t make the cut:

 

RGBxSingle

RGBxInGame

T1LShapes

DoubleLoop