For our last developer interview of the year, we got to talk to Thor from Pirate Software to talk about how he left AAA to start his own indie studio. Thor shared about his journey as an indie developer and how he grew the global community for Heartbound with self-taught community management skills and a demo that's jam-packed with secrets.
I’m Thor, and I founded Pirate Software about 2 years ago after leaving AAA to make my own stuff.
I kept getting into this weird place at work where I would keep wanting to go home and work on my own projects.
That built up more and more over time until eventually, I just did it.
Our first game was a tester. We wanted to make very very simple: I wanted to make something small, so we could get our content pipeline down.
We wanted to answer basic questions like:
- What is it like to release something on Steam?
- What’s it like to make a game and launch it on a third-party platform?
- How do we do ship a title without a marketing team?
All the kind of basic stuff you need to know when you’re on your own.
So, we made Champions of Breakfast. It took 24 days from concept to release on Steam, and we made it in an engine I had never used before, which was….fun.
I worked in Game Maker Studio, built the whole thing out, and googled absolutely everything along the entire way. Things like, “How do I move a character in Game Maker Studio?”
I googled it, learned how to do it, and that’s how I built the whole game.
Now, 2 years later, we’re in the middle of Heartbound, and our second title has gotten a lot of attention on the internet, so that’s kind of cool.
The idea to start with a small game came from bits and pieces of information that I had pieced together.
Content like the Extra Credits videos give advice like making a small game and then talking to other people about it.
When I worked in AAA, I would talk to people, asking things like, “Hey, when you started making games, what did you do?”
I pieced all that information together over about 10 years of talking to people, then I decided to put it to the test and try it out.
When I realized how beneficial all of these small bits of information were, I would tell everyone that these are things that have helped me immensely, and they’ve helped a lot of other people.
The other issue that I saw––especially in the indie scene––were people who had great ideas for games, things they really wanted to do, and they would go and make that one game.
They would do their dream game as their first game, then it would take them 3-7 years, they’d get no feedback along the way, and they would have no community interaction along the way.
Then, after that 3-7 year period, they’d release something that no one has ever heard of or cares about.
It’s really heartbreaking to see so much effort put into something that just flops.
I think it can be avoided if you make something small first and learn how to make a game, how to launch a game, what things work, and how to run a community.
All that kind of stuff can happen in a month’s time with a really tiny title.
The first thing I did when we made Champions of Breakfast was set up the Discord.
That gave us a focal point for putting everyone in the community in one spot and being able to interact with them in real time.
If someone found a bug, I was right there, on-call.
I could tell them, “Hey look, I’m going to fix this. It’s going to be in the next build.”
After 2 years, Champions of Breakfast currently has no negative reviews, but that wasn’t always the case.
It actually had a couple of negative reviews along the way, but I responded to those people, fixed whatever issues they were dealing with, and then they changed their reviews to positive.
I think that’s a big part of building your community in the beginning: every single person you impress counts.
Every single person you take the time to work with counts, because that person is going to exponentially increase the size of your community over time.
Each one of those people will talk to someone, they’ll tell a friend about the game or they’ll play it in public and someone will ask, “What is that?”
As it we continued to talk to people, the effects started to spread out from there: more and more people joined the Discord, more and more people found out about us.
The demo has been everything for the game.
If you’re going to release a concept for your game and you do it with a demo, it eases a lot of the skepticism you might face if you just tell people that you’re going to make something.
Until someone has something in their hands, they might have trouble believing you.
In addition to being able to show everyone that we’re real humans and we’re making a game, I’ve integrated so many different weird things into the demo.
I get to test design ideas in it, we get to do things like build the ARG, and all sorts of stuff.
A common instance in a lot of narrative games is you can choose different dialogue options like “yes,” “no,” or “maybe.” You can kill the guy or not kill the guy. Basic stuff.
That can be super boring for storytelling.
Every time I see an option like that, it makes me want to go and reload my save file and try the other option: save scumming is what we generally call it.
I think it “game-ifies” the game and takes you out of the experience in a way that makes you want to go and re-experience where the choice was made.
The Heartbound demo changes based on how you play through it.
It changes if you leave a light switch on in a room, if you leave the oven on, or you don’t interact with a certain number of objects. If you do interact with a certain number of objects, or if you stay in an environment too long, or if you speed through an environment very quickly.
All those values are stored, and I make decisions on how the story unfolds later on in the game based on those.
There’s a lot of that stuff throughout the demo, and I think that really helped sell the idea that Heartbound is doing its own thing with storytelling.
It is a risk. It’s a risky thing to do in development of any game because you’re building something only a certain percentage of your player base is going to notice, and even then, they may or may not enjoy it.
Maybe only 1% of our players will find some of this stuff.
There are certain secrets in the game that you actually have to rip out of the save files to find the puzzle piece or manipulate the save file in a way that can’t be done unless you open it and do weird stuff to get to certain areas.
I put those things in the game with the hope that maybe a year or two from now, someone will find the last “hidden secret.”
There are things in the demo that, even after all the hundreds of hours of playtime, that people still haven’t found.
I’m really happy about that, actually.
There are people who have played the demo for over 100 hours and haven’t found everything, and at this point, it’s just a 45 minute to 1 hour long demo. It’s not huge.
We launched on Kickstarter and got 385% funded.
After we were greenlit, I updated the demo pretty heavily: we brought it from 5 minutes on Greenlight to about 30 minutes for the Kickstarter.
Heartbound got funded for its goal in under 24 hours, then a bunch of new sites picked it up because of that.
That was intentional.
I set the Kickstarter goal for only $5,000, knowing that if it hit within 24 hours, that sites would pick it up as some sort of “rising star” thing.
We wanted to see if we could get the news to pay attention to us, and it actually worked.
The next step was proving to everyone who invested in our game that we’re not going to run away with their money, because that’s a big problem for Kickstarter games.
People go and throw money at a Kickstarter, then the devs will disappear for two years, then come back and make something that wasn’t up-to-par compared to what they promised in the Kickstarter.
So we thought, “What if we streamed it all?”
Everyone could watch us build our entire video game.
Full open development: they could see every single thing that we ever do, and no one can say the devs ran away with the money.
At the same time, the stream helps fund additional development on the game, so even though we put the Kickstarter to such a low amount, we’re still getting funding to continue the process of building Heartbound.
It also gives an extra added effect to where if, in the future, anyone tries to come around and say we stole their idea, we have 300 episodes of video evidence showing how we made this game ourselves that no one can contest.So, we have some added protection in that regard as well.
The stream is really the big thing when it comes to interacting with the general community.
The more people are in the stream, the more people get the same information.
Usually on the stream, a lot of the questions we get are usually the same: when is the game coming out, how much is it going to cost, what is the game about.
I have commands I can use on stream that let everyone know the release date and all the information they need, I can drop !demo in chat and it shows them.
They can talk to me in real time, and I can still have an automated response.
I’m there, so they know they’re talking to a person that actually exists, but they get an automated response, much like if they were reading an FAQ.
That’s really, really helpful. It mitigates a ton of my time every day because we stream 10 hours a day and during that 10 hour period it’s literally just question and answer while everything else is going on.
On top of that, having Discord and using the announcement system kind of lays down something permanent and easily viewable.
So if we make some kind of a change, like announcing the release date, I can tell the entire community and all those questions immediately dispel.
That kind of stuff is really good––leaving messages like that on Twitch, leaving messages on Facebook and Game Jolt and all the other places we have the game––if they’re all the same message, we can cast a wider net and let everyone know, so we don’t have to deal with it as much.
It’s relatively simple. That kind of messaging takes about 5 minutes of my time a day, and it solves a ton of problems.
I found that if you stop talking about your game, for any period of time, people will immediately forget about you.
We started doing gameplay streams because I wanted to see if we wanted to see if we could get more audiences from different parts of Twitch to come watch our development streams.
We were doing gaming streams at night and development streams during the day.
We realized that we have to be on our soapbox, evangelizing our work, 100% of the time, because any time that we’re not doing that, we’re not cultivating our audience for later.
When we started streaming gameplay, the streams dropped from an average of around 100 people to around 20 for about 4 months because I made that mistake, which was a really scary experience.
It was something I learned that was a really harsh lesson, but I think it’s really important to know for the future.
The internet forgets, and it forgets really fast. It takes a while to build back up.
To mitigate that, we changed the stream to be 10 hours straight.From 12PM to 5PM we do art or programming, and from 5PM to 10PM we do programming.
Since we have the 10 hour straight block, people can tune in in the morning and they can watch the stream all day.
We also catch a lot of new people, since we have this giant 10 hour stream, people can come in and they can stick around and stay, and they can learn about the game and get invested in it.
Before, we would do 12PM to 5PM, then another one from 9PM to 3AM because of the time zones for the different parts of the world.
That break in the middle ended up causing the viewership to go down pretty dramatically.
Pushing Heartbound into the global arena
There was a YouTuber named CoreDasAntigas who’s really big in Brazil, and he played Heartbound, and he loved it because he loved Baron (the dog in the game).
It absolutely blew up in Brazil, which was not something I expected.
I did not expect our game to blow up in any other country until we translated it.
I didn’t know how that worked, because when we launched Champions of Breakfast, we just thought it was cool that it was doing pretty well in the U.S., then we’d translate it into another language and it would do pretty well there too, and so on.
That’s how I thought it would work for every game.
In this case, they found it first.
I found out that they discovered it because our website fell over: suddenly a bunch of people in Brazil were downloading the game at the same time.
There was somewhere around 60,000 active downloads, and our server kept dying.
It was terrifying for our small indie studio, but we got through it. Then, we translated the game into Brazilian Portuguese because of him.
I feel like Brazil gets looked over a lot of the time for a couple of different reasons.
They have a lot of piracy in the country, they have to deal with a lot of weird pricing because people don’t think about it, and games don’t get translated into the language because it’s got a lot of different dialects and things can change pretty drastically between them.
So, it’s kind of a minefield in it’s own way, but we decided to do it because of those things.
It’s because they were showing us so much support through fan art and talking about the game that made us want to reciprocate, even if there were some potential issues we’d have to overcome.
We met with a couple of people who are native Brazilian Portuguese speakers and we translated the game with them.
The biggest thing I’ve done though, is that I looked into the median income in Brazil per household and what games usually cost over there.
What we found is that the average income is between R$800 and R$880, and the average United States AAA game costs about R$220 to R$240, which is why piracy is so rampant in Brazil.
It’s because the games are too expensive.
You can’t buy a game with a fourth of your monthly income, that doesn’t make sense.
Heartbound converted pricing would have been about R$40, and that seemed like way too much to me, so I made it 20.
We’re only going to make $5USD per sale in Brazil, but that doesn’t really matter, because the alternative is that we abandon this really awesome community that did so much for us, and we probably wouldn’t have made any money anyways.
So, that was the first push we had into the global arena: dealing with Brazil and trying to price things appropriately for their region.
We’ve now translated Heartbound into Brazilian Portuguese, Russian, classical French, and Mexican Spanish, and I did that in that order based on our Google Analytics.
Brazilian Portuguese came from CoreDasAntigas leading his mad charge into our web server and blowing it up (which was fantastic), but the other ones after that came from looking at our Google Analytics and seeing where the rest of our community came from, translating the game, and seeing if the community would grow or fall.
Through building the Heartbound community globally, I learned a lot about different social media sites.
A lot of people don’t realize that there’s a Facebook clone in Russia called VK, and it’s literally Facebook, but with only Russian users.
So I had to make all these different accounts for all these different websites.
I had to learn what Amino was (it’s a phone app that has social communities and has level ups and experience and things like that).
I had to make accounts on all these different platforms and learn what they were because each of our regional fanbases use different apps.
Since Brazil is so into using Android, our Brazilian users are almost always on Amino.
For Russia, they really like being on VK, and they post all of their fan art on there.
If I want to interact with those people, the only way I have to interact with them is on their home social media site or on Discord.
I put a lot of time into social media, on average I spend around 3 to 5 hours doing social media a day and community management.
While that’s all going on, I actually have YouTube videos going on the side, and I’m watching all the videos people made for that day.
We get a lot of Heartbound videos every day. I’ll watch them and leave comments on them.
If that person sees my comment and they pin it, everyone in their community sees it, and then they all see that we’re humans who actually care about people making content about our game.
Then, they’ll either come seek us out, they’ll follow us on YouTube, they’ll find our Twitch and our Discord, and they’ll start entering the community that way.
I encourage all indies to communicate with people who talk about their games, even if it’s just something as small as commenting “Thanks for playing our game.”
Every single one of those comments shows that you care about the game, and that other people should care about it too.