Thomas Brush is the sole creator of Pinstripe, a game about a minister in Hell, which launched on Steam April 24th. Thomas scored, illustrated, designed, and developed Pinstripe over the course of five years. Thomas is also the creator of award-winning Flash games Coma and Skinny.
I’m laying in bed writing this postmortem at 1:42 pm in the afternoon. The blinds are closed and my room is a gloomy gray. Ever since I launched Pinstripe, my game about Hell, I've experienced just about every stage of grief. And why has it been raining all week ever since launch?
Sorry to sound moody, but completing Pinstripe left me empty and completely out of energy, both physically and emotionally. This postmortem is coming at an overwhelmingly burned-out time in my very young career in the games industry. I would never, and could never, do this again — make a game completely alone over the course of 5 years. As I see the Steam sales slowly drip in, I’m still in a death spiral of strange highs and lows regarding the reason why I chose to make this game to begin with.
The start of Pinstripe felt different — a lot different:
I was 5 years younger, passionately pounding away on my brand new MacBook purchased with cash earned from my glorious Flash game years. I was in the basement of Clemson University’s library in South Carolina, building a game that was going to shake the world. Thanks to the Indie Game documentary, I was positive I was going to be the next Edmund McMillen. I was going to be an indie legend.
That was the initial spark, and then it turned into an obsession for really no reason other than to make a great game. I wanted to make games full-time, and I would stop at nothing to do so. Three years later I would be married, a Clemson University graduate, and working in a cubicle as a graphic designer for tire and plumbing hardware companies. During lunch hours I would stuff my sandwich down fast, and eat pretzels while trying to finish my game. Little did I know it would take five full years (one of those years as full time work) to finish it. This was partly because I was so anxious to get work done, I wouldn't really think twice about what I was doing.
God help me. Looking back is tough.
My final burst of energy was spent on the Kickstarter campaign sent straight from Heaven. More on that later.
But in the midst of crossing the finish line, I'm instantly thinking: what was that all about?
What Went Right
Pinstripe's soundtrack was the easiest thing to create, and I feel it is the most valuable element. It was super fun to write, didn't take too long, and fit the mood of the game. What more could I ask for?
Unity was the first decision I made prior to development, and at the time it wasn’t a no-brainer like it is now (I'm willing to have an honest discussion if you disagree). Regardless of what software you choose, remember that revenue potential does not stop at Steam. Because of Unity, revenue can extend to pretty much any platform you’re willing to build for. Pinstripe has been through so much QA that fortunately a release on another platform is likely just a couple months away. Additionally, Unity was easy enough to learn, but I was also not-so-smart about how I was building things. Without getting into too much detail, most of the code and plugins used from two years of work was completely overhauled and rewritten. Some of the more recent plug-ins used in Pinstripe (Spine, InControl, Steamworks.NET) are super easy to use, and I’m not sure what I would have done without them.
3) Constructive Criticism
The IGF judges of 2015 did not really like Pinstripe. I'm glad they told me — so much in the game was severely flawed. From flat characters to pointless, drab puzzles, within a day I learned through email feedback that Pinstripe was not ready for launch. Not at all. You know the feeling: you think you’re done with your game, and then suddenly realize you probably have another year or two before launch. It’s a sinking feeling like none other. It’s the worst. But I bit the bullet, printed out the comments, and slapped them on my office wall. I read them pretty much every day, and would pace my office explaining their solutions to George (my pup). I’m proud to say the game is 100x better because of this feedback.
4) Made With Unity mini documentary
In late 2015, this random film guy from Los Angeles emailed me one day and wrote “Hey do you want to be in a documentary about Unity?” That night I went crazy and drove to my parent’s house and told them “Your son is going to be in a documentary.” I felt like the coolest kid in South Carolina. This random guy was Ben Proudfoot, a super accomplished film producer who was hired by Unity to document various Unity projects. What I mean is, make indie devs look really, really cool. Ben and his crew flew to my house in the suburbs and we shot for a couple of days. I think the coolest moment was when the crew had millions of dollars worth of film equipment sprawled throughout my house, and they just acted like it was no big deal while I stood staring with my mouth open. When it was all said and done, it was awesome to see the final product plastered on the screens at the Game Awards, and ever since then, Pinstripe has had generally good press coverage, and my confidence level was boosted enough to keep going. Oh, and to my next point: Unity let me use the documentary to help build my Kickstarter campaign a couple months later.
I love it! Pinstripe would have never been finished without it's Kickstarter campaign. It’s kind of odd to think about, but last year, when the Kickstarter finished I thought to myself, “100K. Do I really need 100K to finish this thing? I’m basically done with the game.” I was certainly wrong. In the game industry, and especially in the indie game field, it’s so easy to underestimate the amount of work and money involved in getting a project off the ground. That said, regardless of what I thought, it sure felt good leaving my desk job for good to pursue my dream career. It felt so good.
Here’s how it went down: I’m eating my lunch in private in the dark basement at the marketing agency I worked for for three-years (I was pretty depressed during these years), and I hit the launch button on Kickstarter. Within the hour, I think about 6 grand was raised. It was at that point that I knew I was out of there for good, and onward to starting my own full-time game studio. Eventually over 100K was raised, and it was a euphoria I wish I could experience again. I’m so grateful to my backers on Kickstarter, because I know without a shadow of a doubt I would have never released Pinstripe without them.
SPECIAL BONUS THING-THAT-WENT-RIGHT: My Wife
I don’t cry very often. But last night, I was listening to Such Great Heights by The Postal Service (my wife and I used to listen to this when we first met before even Coma was released in 2010), and I began to struggle to hold back tears. I didn’t want my wife to see me, so I ran outside under the night sky and began to weep. I feel stupid saying it, but knowing why I was crying doesn’t make me feel so bad: Kelsey stuck with me through the ups and downs of making Pinstripe, and I would have cracked and quit if she didn't believe in me. She eventually came outside and we just talked about how crazy the journey has been. Making games is mentally, emotionally, and physically exhausting. For most indie game devs, they are likely working day jobs and pursuing their dream of making games under gloomy lamp-light in cheap apartments. This often interferes with basically everything involved in a normal life: friends, family, partying, recreational stuff, etc. College for me consisted of thinking about Pinstripe in class and working on Pinstripe in my apartment or the library at night. Through it all, I had a dedicated cheer-leader shouting me to the finish line.
What Went Wrong
1) Media Coverage
I’m assuming I don’t have to go into the importance of getting noticed. I struggled to get coverage during the last two years of the development of Pinstripe, and launch day was no different. A TIME article gave the game a 5/5 on the day it came out, but a good chunk of reviews for Pinstripe came a bit later than I expected. I can't quite say with confidence this effected the game's launch in any way, but it certainly concerned me. Everyone involved in the launch strategy hit the ground running months before launch, sending a bunch of Steam keys and trying to engage the Kickstarter community, but we honestly got hit with some bad luck. Outlast 2, Little Nightmares, and the Mario Kart 8 Deluxe all launched around that week. We tried so hard to find the perfect window, and that’s the week we landed on. Pretty frustrating, but I think a long-term strategy for any game is likely more effective anyway. I’m still crossing my fingers for a healthy shelf-life for Pinstripe.
2) Project Management
I wasn’t the most scheduled or organized person during the first years of Pinstripe’s development. I recall scrapping full scenes from the game without a thought, and rebuilding game-play mechanics from scratch because they were broken, rushed, and boring. I don’t recall creating a single story-board, I never wrote out the plot, and began coding puzzles before researching how to do it effectively. It’s a lot of fun saying “Pinstripe took 5 years” but what I haven’t really said is that most of that was wasteful, ignorant development. Fortunately, I feel I made it out of the messy production unscathed, because Pinstripe is generally bug free, healthy and well-received on the Steam store. But again, it took five years. Five years is too long, and it will likely take a fifth of that for my next game thanks to something called planning. I think the first concept I drew was two years in:
I’m still living on a reasonably thin salary, but I’m fortunate that the salary is generated by game-development. For three years, the money I was making was from a full time gig as a designer, so most of my time was not making Pinstripe. When I was making Pinstripe, I was tired and fighting to find motivation. What if you spent three year working out and you didn’t gain a single pound of muscle? Sometimes it felt like that. On top of that, I didn’t have a ton of great equipment, and illustrated Pinstripe’s scenes on a laptop screen. I can’t remember when this happened, but I recall a photo of me on my laptop working on Pinstripe posted by Unity, and someone mentioned the shot being faked because nobody makes games on a laptop. I think at that point I decided it was time to get a bigger monitor. Overall, having a tight budget basically limits your game's quality across the board. QA, localization, ratings, high quality graphics, great music, marketing, and a somewhat lengthy game all cost a great deal of money. I’m grateful some money eventually came when it did, because I desperately needed it.
4) Unity Script
Don’t use UnityScript to make your Unity game. Every time you save a UnityScript file, it takes an unholy amount of time to compile into Unity as opposed to a C# file, and the support for it is not great. The folder structure for Pinstripe is ridiculous and bizarre because of UnityScript. I have a folder called “Zippy Scripts”.
Yes, it’s called “Zippy Scripts".
I needed a folder labeled with a Z so that it was at the bottom of my project hierarchy (for sanity), and I also needed a folder that was compiled fast and last. The explanation here is likely convoluted, but by year four I had so many UnityScript classes that the compile time was taking F-O-R-E-V-E-R. I ended up moving all my scripts into a folder that didn’t compile every time I hit “save”. The problem here was in order to reduce compile times I had to move my UnityScripts next to C# scripts in relation to their compilation, meaning any C# classes could not access the UnityScripts. At this point, I was desperate, and created “translation” classes. Ones that were in a folder that allowed for variables to be passed between classes written in different languages. I know, this makes no sense. But it worked. Metaphor: it's as if I placed the final card onto a house of cards and for some reason, the card itself stood up straight and didn’t fall over. At this point, I just said “I don’t know why it works but it works” and left it. So now the compile times are faster, but if I could do it again I’d use C#. Hands down. It’s just faster.
5) Development Environment
Pinstripe was initially developed on my MacBook. I think at some point I started using a small monitor for more screen space. Once I had enough money to purchase better equipment, shifting from Apple to Windows was actually a bit of a hassle. I recall the first time I opened Pinstripe in Unity on my PC, half of the game's sprites were purple. For some reason, PCs didn't recognize this kind of shader. Problems like this persisted for a month of so, and certainly backed up the production schedule. I'm can confidently say building games on a PC is your best bet, mainly because the majority of gamers play your games on a PC.
I feel a sense of relief, a sadness, and a sudden spirit of adventure — I have no idea what lies ahead, but I have a feeling it’s going to be really fun. I can’t say right now what that whole experience was about. Lately, I've been wondering if it was just some silly teenage dream that manifested into an obsession. Who knows. Time will tell. As for future projects, I have this game idea in my head, and I can’t wait to get it out. I’m excited to start and tell no-one. The secret feeling of starting a project and it being only yours is very special. I guess that was really the fuel for Pinstripe: a feeling of making something awesome, with 100% of it coming straight from my heart, and no-one could tell me no.