Sponsored By
The Independent Games Festival (IGF) was established in 1998 to encourage innovation in game development and to recognize the best independent game developers. Read more about the 2024 finalists here.

How Cobalt Core makes movement as exciting as fighting in its roguelike deckbuilder combat

Rocket Rat Games talks about the nuances and thought processes that went into weaving important, strategic, and exciting movement choices into its starship battles.

Joel Couture, Contributor

March 15, 2024

16 Min Read
A massive enemy starship covered in guns bears down on the player's small ship
Images via Brace Yourself Games

The IGF (Independent Games Festival) aims to encourage innovation in game development and to recognize independent game developers advancing the medium. Every year, Game Developer sits down with the finalists for the IGF ahead of GDC to explore the themes, design decisions, and tools behind each entry. Game Developer and GDC are sibling organizations under Informa Tech.

Cobalt Core is a deck building roguelike that sees you playing cards to shoot enemy starships, put up shields to protect yourself, or just plain get out of the way of danger.

Game Developer caught up with some of the team at Rocket Rat Games, developers of the Excellence in Design-nominated title, to discuss the crafty method they used to prototype and test elements of the game extremely quickly using an unexpected program, the complex thoughts that went into making movement as important as attacking when fighting enemy ships, and how they kept the rules simple, visually and mechanically, while bringing plenty of depth to every battle.

Who are you, and what was your role in developing Cobalt Core?

John Guerra, gameplay designer: Hey! I’m John Guerra! I’m the main gameplay designer and secondary programmer.

Ben Driscoll, main programmer and artist: I’m Ben Driscoll! I’m the main programmer and artist. I also did the sound.

Related:GDC Session Guides are back and better than ever for GDC 2024

Both in unison: And we both wrote the story!

Aaron Cherof, composer: And I’m Aaron Cherof! I made the soundtrack.

What's your background in making games?

Guerra: I’ve been tinkering with games for as long as I can remember. My absolute earliest game dev memory was that I had this little yellow pad of paper when I was a kid, maybe six years old, and I wrote a bunch of level design ideas for PS1 games. I think that counts!

I’ve been in the indie scene for a while, making smaller stuff and game jam stuff. I released a comedy adventure game about five years ago called Investi-Gator: The Case of the Big Crime; it was small and a little buggy, but I’m still really proud of it. It’s funny, and it’s complete, and I shipped the dang thing. It’s hard to ship things! And then Ben asked me if I wanted to join on Sunshine Heavy Industries, which he already had a good prototype of and I was really happy to join.

Driscoll: I’ve also been making games forever. When I was maybe 12(?) I got into some shareware games that I managed to get running on my dad’s work computer, an old Mac. It was specifically Myst, Escape Velocity, and Marathon, which I realized were made with tools I could use or shipped with their own editors. That got me started making content for those games. Nothing notable of course, but it was huge for me to realize making games was possible to do.

Cherof: I started composing when I was a kid and always loved video game soundtracks. In the late 2000’s I realized there was a way to combine those two things and started working around the indie games community. Like a lot of composers, I started out doing remixes, and through game jams I started making connections with people who wanted to bring me on for larger projects. Eventually this led to me being asked to write music for Minecraft: Trails & Tales, so between that and Cobalt Core, 2023 ended up being a pretty exciting year.

An enemy spaceship is right in front of another player starship. A crew of animal-like creatures is shown to the left

How did you come up with the concept for Cobalt Core?

Guerra: After our last game, Sunshine Heavy Industries, we went through a heavy prototyping phase. We were throwing all kinds of ideas around—action platformers, 3D dungeon crawlers, a Terraria meets Factorio dig + automate kind of game. We thought we wanted to make something really different from Sunshine, but after trying all sorts of things, we realized we’d be a lot happier staying in a space we already knew—charming pixel art, fun characters, and open-ended puzzle gameplay.

We’d also both just played Inscryption which rekindled our interest in the deckbuilder genre! It kind of made us realize how much more potential the genre had.

Driscoll:  The key revelation from Inscryption, for me, was the story and characters that talked to each other during the card game. Seeing it work so well for that game made me really interested in doing something like that with our own stories. The most important seed idea for this prototype we were starting was that it have a cast of a few characters that talk to you and deliver a story while playing a turn based game.

What development tools were used to build your game?

Driscoll:  Cobalt Core’s engine is written on top of XNA, which is a C# engine that we like a lot for our purposes. The art is all made in Aseprite and Blender, and we used VSCode as the IDE most of the time.

Guerra: Does the prototyping engine count as a development tool? Because we prototyped the game in Tabletop Simulator. We drew a few ships and cards, imported them, and just kind of played around! We were able to iterate REALLY quickly—we’d think of a new variant on some core mechanics, and instead of spending weeks programming them to try them out, we could test them in half an hour. The faster you can test what a gameplay mechanic feels like, the better. We saved so much time that way.

Cobalt Core’s roguelike card play doesn’t just focus on attack and defense, but movement. What inspired adding this as an important mechanic? How did it shape the game’s creation?

Guerra: Our last game, Sunshine Heavy Industries, was this open-ended design/puzzle game where you make spaceships out of chunky rectangular parts. You just design them; you don’t fly them. And the most common question we got was, “when do we get to fly the ships?” We always brushed this off because that was way out of scope.

So, we asked ourselves… Okay, what WOULD flying these ships look like? These ships made of chunky parts? Maybe you’d move around to align your parts with the enemy’s. Hit their weak point, dodge their cannon, that sort of thing. Maybe movement is a resource that you can build up and spend for big, exciting payoff turns. It fell into place pretty quickly from there—it was only a day or two of prototyping before the game was recognizably Cobalt Core.

How did the movement mechanic affect enemy designs and encounters? How did you design enemy starships and creatures, as well as their attack capabilities, in order to make it important to move around?

Guerra: We definitely tried to change it up as much as we could from fight to fight. If each enemy is kind of a question to the player—“What would you do in this scenario? How do you handle this weird new twist?”—then that lead to a lot of design choices. What if there’s an enemy attacking you in ONE place, very hard? Maybe you can stun that attack or dodge out of the way.  What if they’re attacking you in FIVE places, but for less damage? Now you’ll need to block or dodge even better. Or just ignore it and shoot them so hard they explode.

Then we took that farther, and tried making their shapes weird, their patterns weird.  Some enemies have giant gaps in their ship and you’ll miss if you try shooting there. We wanted to encourage using your movement OFFENSIVELY sometimes, so some enemies dodge your first attack each turn and then you have to hunt them down. Track down their weak points, avoid their armored points. Seeker missiles were a great addition—you can deal with most missiles by either shooting them or dodging them, but you can’t dodge seekers as they always hit you. So, if the enemy has a lot of seekers, your options are to tank the hit or to move TOWARD the seeker to shoot it down. 

So, a lot of design was just exploring the space like “What’s a fight where you want to move aggressively look like? What’s a fight where you don’t want to move at all look like?”

And that’s all leaving out the deckbuilder parts of the game like when enemies give you trash cards that make your deck worse, or they mess with individual members of your crew.

Of course, there were some goofier ideas that we never got around to. We talked about a giant piano enemy, but we never figured out what would make the fight interesting besides “Shooting different parts plays different notes.” I think we considered a big toothy enemy where each tooth was a part, too. And we had this one goofy one—a big machine that was halfway between the 2001: A Space Odyssey monolith and a slot machine—where you had to keep shooting the slot machine arm to reroll its attacks. I think it’s for the best that we never finished that one, though…I know that gambling imagery can be enough to skyrocket your rating from E to M. The idea just wasn’t interesting enough to be worth that risk.

One I’m really glad we were able to add post-launch was the “SPORTS!” event, where you and an enemy ship are shooting a soccer ball and it’s scooting around the battlefield.  I think that really changed the formula up. The farther we took an enemy design outside the standard space, the more work it took, but the more I felt it paid off as a really unique encounter.

An enemy spaceship fires missiles at the player ship, but the player ship has dodged out of the way

The game is complex in its combat, but not overwhelmingly so. What appealed to you about making a roguelike deck builder that feels fairly straightforward in its demands of the player, yet still has depth? How did you create a roguelike that feels a bit "lighter"?

Guerra: There’s some roguelike mechanics we skipped to make it easier to get into at first. There’s no currency, so shops are streamlined—it’s just “choose one treat.” There’s no meta-progression—you unlock alternate characters, but you don’t retroactively make old characters stronger. 

All the numbers are nice and small and crunchy, too—it’s extremely rare to see a double-digit number on a card so it’s easy to do the math in your head.

The very first Tabletop Simulator prototype involved 2D ships in big complex grids, but we simplified them to 1D rows of parts very quickly. We tried having little mini-ships, drones, with their own health and attack power and movement, but we simplified those to just “drones are 1 part, do 1 thing, and die in 1 hit.”

Essentially, if a rule would be a drag to explain to a friend on board game night, it wasn’t good enough.

The game's art style is charming, yet also makes attacks, hazards, and weak points clear and easy-to-parse. What thoughts went into the visual design of the various ships, creatures, and attacks so players could easily tell what was going on and how they could work to stop or avoid it?

Driscoll:  The resolution constraints of pixel art were actually helpful here. If we ran out of space to fit information on part of the screen, we couldn’t get around it by shrinking icons or text. So, we didn’t end up designing ourselves into situations that were too much information to fit. As for the look of it, we drew heavy inspiration from Into The Breach, which has a lot of information to display each turn, but is still really legible at a glance.

The ships are all a certain kind of shape (big flat front with parts that have consistent types of silhouettes to communicate part type) and have strategically placed areas that icons and statuses can go over without being too busy. We had the UI of the game mostly how it is now quite early, so the art of the game was always fine-tuned to fit on the screen and serve the gameplay.

What ideas went into the game's various animations to make starship combat look engaging as it played out? Into adding some visual excitement to the act of playing cards and moving around?

Driscoll:  I spent a lot of time fine tuning the cannon/missile/explosion animations because they are the primary source of visual excitement in the game. The game screen’s gotta be pretty stationary and legible at all times, so the combat animations and sounds needed to be punchy and satisfying within that constraint. I also spent a lot of time making the enemy/player ship explosion look nice. I think the existing one is like the third iteration of that effect.

I’m also a big fan of punchy feeling attacks in games, so having an instant attack + thud + shake when you fire the ship cannons was important to me.

Cobalt Core is filled with characters with their own stories and card play styles. What thoughts go into designing character styles that would feel different to play as?

Driscoll:  Most of the characters started as drawings that I drew without a plan for, other than fitting the visual style of the game. It was after they ended up in the game project that we started giving them their own personalities and decks (in the case of player characters). A few of the early drawings that we liked definitely drove the visual direction and vibe of the game, even though they changed a bit over time. Dizzy used to be a stoic serious type for maybe a month or two until we realized that’s boring to write for. Riggs was always a funny possum with a gun, though.

Guerra: It was fun seeing how their personalities could inform their mechanics, and vice versa. Riggs is energetic and panicky, so she’s got cards that randomly move you around. Drake is a pirate who’s mean and fights dirty, so she’s got attacks that hit hard and ignore enemy shields. Sometimes it went the other way, too—Isaac’s cards spawn lots of drones, and we thought it’d be fun if he named some of the drones you spawn. That ended up being a core part of his character: that he likes thinking up names and personalities for things. Plus, it was another way to add some silly dialogue, which is half of why we do this.

Purely mechanically, finding new character styles was sometimes a bit tough! We wanted each character to feel unique, but they all still needed to tie into the core systems in some way— ideally in a way that made you rethink a system that had been there the whole time. Sometimes we got pretty weird with it. Max has some cards that target The Leftmost Card In Your Hand, so now the order you draw your cards matters. Some enemies give you "heat," a negative status effect, so Drake has lots of cards that either reduce your heat or give you more.  There were a few systems we thought of that went even weirder, but it was starting to feel like they didn’t mesh with the core gameplay any more—like they were playing a new game that other characters weren’t part of. So, we cut them.

A heavily damaged enemy ship opens fire on the player's starship.

Likewise, what thoughts went into designing the cute, endearing characters themselves, both visually and through their stories?

Driscoll: The art style grew pretty directly out of Sunshine Heavy Industries, our last game. The portrait size is the same pixel resolution (a really important aspect of pixel art vibe, particularly when resolution constrains what kind of facial expressions you can reasonably express). We wanted to keep them cute and funny but SLIGHTLY less cutesy than Sunshine, which is also the slight tone shift from Sunshine to Cobalt.

Early on we also had hesitation about the fact that it’s a game where you’re blowing up spaceships, when the vibe of Sunshine was very nonviolent. We considered having little escape pods that got jettisoned off each exploding ship but never got around to it. And then we just got used to blowing up the enemies I think.

Memories and character connections play an important part in Cobalt Core. Can you tell us a bit about these elements and why you added it to the game? Why was it important for players to get to know the crew on this adventure?

Driscoll:  We always wanted to have a full story with an ending. We both really enjoy writing and have pretty compatible ideas about what stories we wanna tell. Aside from just the fun of telling a story, I think a game simply HAVING a story at all kind of improves the feel of the whole game. It makes it feel more like a lived-in place that you’re visiting when you play.

But we also wanted to make a game where you could pick and choose your crewmates, meaning that telling stories in the middle of runs starts to get complicated to plan for (needing many variants of each line, fancy conditions, etc). So instead, we chose to keep mid-run dialogue pretty constrained, mostly flavor and some two-way conversations between specific crewmates. We ended up putting the bulk of the plot, where we needed full control over who’s present, into the “memories” screen that you access between runs, which was really freeing.

Another way that decision works for us is that we really wanted to minimize the amount of time players spend in cutscenes that they aren’t interested in (particularly mid-run). The “memories” are longer and 100% opt-in, which means players can watch them on their own terms when they’re interested, or simply just keep playing the deckbuilding game if that’s what they want.

What thoughts went into creating music for the cute, but tense experience of Cobalt Core? What feelings and moods were you hoping to evoke?

Cherof: Cobalt Core is such a character-driven game and I wanted the music to feel like another character in your crew that accompanies you into battle. Since the game is about gradually gaining knowledge while being trapped in a time loop, I tried to reflect that idea through the use of leitmotifs; as players progress further into the game, they’ll gain more knowledge of the recurring melodies that underscore the game, and once they’ve become aware of those motifs they’ll start to discover them sprinkled everywhere.

Our game has combat and tension, but it’s an unabashedly lighthearted and hopeful game. It was important to me to make music that represented that spirit by energizing and inspiring players. I was going for an actively-fun and memorable soundtrack that would motivate players and keep them excited throughout their many repeated failures on the road to success.

About the Author(s)

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like