Behind the Scenes: Adding a Kickstarter Backer to Fist Puncher

This Friday Fist Puncher comes out on Steam. For those who don’t remember, we Kickstarted Fist Puncher back in Spring of 2012. One of our higher level incentive tiers allowed backers to pay $1000 and we would add them to Fist Puncher as a playable character. To this day, we’re still hit with questions about the playable Kickstarter characters. How did the characters come out? How much time went into adding each character? Would you ever consider doing another round and adding more user-backed characters? We thought it might be fun (and informative) to talk a little bit about what the process was like. What exactly DOES go into adding a character into Fist Puncher? Let’s pull back the curtain and take a look.

One of our Kickstarter backers was Steven Dengler. Steven is kind of an all-around impressive guy: he founded XE.com, stars in a web comic called Megacynics, has his own damn Wikipedia page, and funds everything from Double Fine games to brawlers like Fist Puncher under the banner of his company Dracogen. Steven pledged to have 2 characters added to Fist Puncher. One of those would, of course, be based on himself.

The first step was simple. We spent some time chatting with Steven (and Googling him) to get a better sense of who he was and how we would portray him in the Fist Puncher world. We wanted to be true to his real life self while finding things that we could exaggerate or accentuate to fit the tone of Fist Puncher. Once we had a basic sense of the character, we began developing prototype sprites to get a feel for how he might actually look in the game. In Fist Puncher, each character is contained within a 40 x 40 sprite. Working withing these guidelines we assembled some basic character mock-ups. There’s no tricks or shortcuts here. This is pure pixel pushing in Paint.NET to create a “Fist Puncher version” of Steven.

After deciding on the look that we liked, we then had to assemble a full sprite sheet. In Fist Puncher, each character has dozens of moves and actions. All of a character’s actions are defined by roughly 70 sprites which are stored in a single sprite sheet. This meant another round of editing in Paint.NET to put together a full version of Steven’s sprite sheet.

Once the sprite sheet was completed, we began integrating Steven’s character into Fist Puncher and making him playable. This is the point that we really had to start diving into our C#/XNA code base to get things working. However, adding a character isn’t quite as easy as just dropping in a sprite sheet and adding another index into a few arrays. It takes a little more planning. In Fist Puncher, each character has unique attacks, skills, and attributes. Every one of these areas is independently crafted for each character and changes over time as you level a character up. As a result, you end up performing a careful balancing act to ensure that the new character plays well from start to finish (or to put it bluntly, lots and lots of testing).

Just to dig a little deeper, let’s take a closer look at character attacks. Each character in Fist Puncher has around 25 different attacks. Each one of these attacks has a minimum and maximum damage range which changes over time as the character is leveled up. This has to be carefully thought out to ensure that a character is neither too strong nor too weak at any point as the player pushes through over 50 levels of gameplay. This boils down to an extended cycle of testing and tweaking. We need to run through the game (about a 6-8 hour minimum playthrough) with each new character until we hit that sweet spot where they feel just right. Each character also has unique attacks that help define their “gameplay personality.” In the case of Steven, we gave his character a lucite gun – a projectile weapon that shoots glowing blue plasma bursts that encapsulate enemies in a translucent encasing (think Han Solo in carbonite). Adding this special attack meant creating additional art and sound and reworking the code base to handle the new lucite effects. Adding the lucite gun created new gameplay paths which required additional work and refinement. When an enemy is frozen in lucite they can then be picked up, carried around, and even thrown at other enemies. Nothing else in the game behaved in this manner so we had to spend a good chunk of time getting this all to work. The lucite also proved tricky for other reasons. Before beginning each level we created pre-rendered graphical objects that made up the lucite encapsulation effect. However, some of the levels in Fist Puncher contain upwards of 100 enemies. We found the lucite rendering was slowing down level load times. We reworked the lucite code several times so that the game would load levels without any noticeable slowdown. It was definitely a fair amount of work, but in the end, we were happy with how it turned out.

Once we had Steven’s character defined and working, we then began sewing him more deeply into the game world. Each character has a “boardroom cutscene” (as we call them) that explains their backstory and gives a clearer sense of what they’re doing in the Fist Puncher world. We created one of these boardroom cutscene for Steven’s character. To do this, we had to create cutscene images, write Steven’s cutscene backstory, and then integrate it into the game (back to C#/XNA for more coding). After several revisions, we settled on something we were happy with.

Next, we created an achievement trading card. Fist Puncher contains 99 achievement cards, and each character has at least one that is obtained when you defeat a level using that character. Once again, back to Paint.NET to put together the card and then more coding in C#/XNA to hook the card up so that it would correctly unlock and display. For the Steam release, we also created a Steam achievement based on Steven’s achievement trading card and integrated this into the game for those who purchase the game on Steam.

With a boardroom cutscene and achievement card in place, we then shifted our focus to creating a level where Steven would be unlocked. For Steven’s character we created the “Dracogen Lab” level, a science lab overrun by renegade robots that self destructs if you can’t make it to the end of the level in time. If you beat the level, you’re greeted with a “dialog cutscene” where Steven joins the Fist Puncher team (dialog cutscenes are moments in the game where characters interact and have a discussion of some sort). Adding the level meant creating new background and in-level art assets, creating new enemy classes (the robots were added specifically for his level) with new behaviors and attacks (we gave them laser rifles), adding new sound effects, writing character dialog, and then integrating it all into the game and ensuring it ran smoothly and without error. As usual, lots of art, coding, and testing. We also created an original music track for Steven’s level so that it would stand out just a little more from the other levels.

Fist Puncher is also heavy on foreshadowing. We wanted to do this with Steven and the Dracogen Lab as well. We peppered the game with Dracogen signage and created an additional Dracogen-themed level (a hijacked Dracogen truck) that more deeply integrated Steven’s character into the fictional world of Fist Puncher. And, of course, this again meant more art assets and more level and art integration.

Once we were happy with how Steven played and how he fit into the story world, we had one more job to do. We took the achievement cards for each of the characters, converted them to a printer-friendly format and made real-life trading cards for all of the Fist Puncher cast. One last project to make the Kickstarter characters really feel like they were part of Fist Puncher.

Overall, we estimate that we put no less than 100 hours into each Kickstarter character (in fact it’s much more if we actually added up testing time). That’s a pretty damn good deal for a thousand bucks. In some ways we definitely underestimated how much time and effort each character would require. If we ever did it again, we would certainly have to charge more. However, we’re happy with the end result. Our number one priority was always making sure that each Kickstarter character was fun. That was the bottom line. They had to be fun. If not, then back to the drawing board. Luckily with a little bit of elbow grease we think we accomplished just that. We added some nifty characters that really enhance the Fist Puncher world.