The dangers of passion projects: Staying sane in indie development

Limit Theory developer Josh Parnell opens up about life as an indie and facing mental health problems

Josh Parnell is an independent game developer who first rose to prominence in 2012, when he successfully Kickstarted Limit Theory, his procedural-generation-heavy space sim project, to the tune of $180 000 USD. Since then, however, development has been rocky. Famously, in 2015, Parnell vanished from the public eye for six months, reappearing with an announcement that he had been suffering from severe mental health problems, and had returned to his parents' home and sought treatment. He spoke to GamesIndustry.biz about the struggle of staying sane in indie development.

"I was living alone in a cabin in the mountains of Tennessee, which is very peaceful, and that's why I wanted to develop there - but, you know, it's also a good place to go crazy, because you're alone all the time, just coding," he told us.
Developing solo - despite the impressive sum raised by the Kickstarter campaign, the only parts of the project he has outsourced are the music and sound effects - Parnell was isolated when the wheels began to fall off the bus.

"I ended up in a situation where I was facing the big problem of developing something very large as one person, which is that if you want it to be high quality, you've got to write it really well - it's got to be high performance, it's got to be high efficiency in the machine sense - but you're one person, so it's also got to be super high efficiency in the development sense," he said. "And that is just not a real easy problem. Especially considering that, honestly, I just did not have the experience of taking on something this large before, so I did not foresee that being a deal-breaker."

As the size of the Limit Theory codebase approached 100,000 lines, it had become impossible for one person to maintain, whilst saving lines by using his homebrew 'Limit Theory Scripting Language' resulted in unacceptably poor performance - and the intractability of that problem had devastating consequences for Parnell's state of mind.

"What makes you so great as an indie dev is your passion... On the other hand, that's exactly the danger of it, because the minute it becomes work, or the minute you let your life get consumed by it, everything changes"

Parnell was in college when he first started developing Limit Theory, and at the time of his breakdown was only 22. "21, 22, 23 are very formative times, and the brain can change a lot during that time," he noted. "And so that's when I was also experiencing mental issues, no doubt exacerbated by my terrible life habits - not sleeping, not eating healthily, and really honestly not doing anything but Limit Theory.

"Those are all things that are so obvious to someone who's had a good bit of life experience, and forum members would tell me that so many times - like, 'Josh, you need to stop this, or you're gonna crash and burn'. But, you know, to a 22-year old who's never experienced that, I think it's hard to convey what that really means. But it happens. And it happened big time. My brain just kinda shut down on me for quite a while. And it was just not - It was not a fun time."

Anecdotally, mental health problems are widespread in the games industry, with 'crunch time' and job insecurity serving to elevate the risk and aggravate the symptoms of illness. Being in control of their own hours and intellectual property might, on the face of it, seem like it would reduce those problems for indie developers, but Parnell says the indie lifestyle comes with its own risks: "On the one hand, what makes you so great as an indie dev is your passion. It's that you're doing what you love. On the other hand, that's exactly the danger of it, because the minute it becomes work, or the minute you let your life get consumed by it, everything changes. It's hard to see that coming when all you're thinking about is 'Oh, I'm just going to be doing what I love, it's going to be great!'

The very fact that indie developers are able to try to make the game they really want to make can contribute to the problem, Parnell said. "I think that's a big risk factor. Of course it's going to vary for everyone, but just the concept of taking your dream and trying to make it reality, it you think about it, is a dangerous concept already. Because a lot, if not most, people will have a dream and keep it that way - keep it at arm's length... When you take that, and you try to make it reality, that is when the difficulties can arise. Because now you've got to get close to the dream. You've got to see the details of it. You've got to bring it down to reality - to implementation - and oftentimes that's gonna involve a lot of dirty, messy or just generally uninteresting stuff that isn't really part of that dream sensation that you have. When I thought of Limit Theory, my dream game, I didn't dream about screwing around with rendering optimisation and collision detection."

Limit Theory's Kickstarter page is certainly not short on dreamy ambition, advertising infinite procedural universes, strategic control of ships, creation of supply chains, a 'rich social interaction system' with the game's NPCs, and more besides. The ambition of that vision led directly to the structural efficiency problem that knocked Parnell for a loop in 2015. It would be easy to conclude that this is nothing more than a cautionary tale about indie hubris meeting reality head-on. But the heartening truth is that Parnell made it through his episode of illness, and is still working on the game - and in a much healthier way.

"I think a great many indie devs, especially the ones who are going to try to do something big, something high-stakes, and push themselves to do it, they're going to have to face that same struggle of life balance"

"I've got a fairly normal work schedule," he said. "I've separated my work and personal space, which I highly recommend for any indie dev - it's not great to be able to roll out of bed into your chair and start coding. It's a little dangerous." Now back in his hometown of Baton Rouge, he is paying much more careful attention to his work-life balance.

The success of his Kickstarter five years ago, combined with the low cost of one-man development, has given Parnell time to experiment with solutions to the game's efficiency problem. Now, after a year working almost exclusively on that, he's confident he has the issue solved, using a combination of the scripting language LUA and C. He refuses to be drawn, however, on the game's release date.

"I won't give a timeline simply because I continually fail when I do give a timeline," he admitted. "But what I can say is that if the next few weeks go well, in terms of [working out the division of labour between the C and LUA], then I foresee most of the rest of the time actually being spent on the balancing phase. Because currently it's very easy to implement new gameplay - it's not easy to make sure that that gameplay is well-tuned and actually fun. So I do have loads of stuff that was implemented before the mental breakdown mapped out already, and I think the most challenging part - assuming nothing huge goes wrong - will just be getting this universe to feel right."

The progress he has made is tangible. Asked by a concerned forum member to "Show me the smoldering corpse of Perfectionist Josh" (in favour of being a healthier and more well-balanced 'Pragmatic Josh'), Parnell was able to point to the Limit Theory demo he would go on to show off at January's PAX South event in San Antonio, TX, writing: "I'm going to put a controller in the hands of total strangers and let them play what will undoubtedly be a (pretty, but) highly imperfect demo. Perfectionist Josh wants to write a demo that lets them choose between like 10 different scenarios, each one showcasing a different piece of LT gameplay. Pragmatic Josh is gunning for one solid thing without too many bugs. After [PAX South], I hope I will have presented you guys with this smoldering corpse."

With the benefit of hindsight, Parnell is philosophical about his experiences. "If I could go back and do it again and keep all the experience I've gained from those failures, then everything would be different," he said. "But it's exactly those things that taught me the lessons that I really needed to learn, like being healthy in terms of work and keeping a more global perspective on the game instead of getting tunnel-visioned into tiny details - just all these things that I don't know how to learn them without experiencing them, quite honestly."

The risks, he said, are shared by many other small developers: "I don't think the struggles that I went through are at all specific to me - I think a great many indie devs, especially the ones who are going to try to do something big, something high-stakes, and push themselves to do it, they're going to have to face that same struggle of life balance."

The main problem he has now is maintaining his sense of the game as he originally envisioned it. "Really the hard part - the critical part - is remembering the dream," he explained. "Remembering the vision as it was before it got loaded down with the implementation details, so to speak. And so I actually try to spend some time when I can just be doing nothing and fantasising about the Limit Theory that I always fantasised about, to try to keep that vision in my mind."

Sign up for The Daily Update and get the best of GamesIndustry.biz in your inbox.

I've expressed to my students recently that a game can develop from the knowledge and experience of using the game system/engine, mechanics can surface through experimentation. Unless you're prepared to detach yourself emotionally to something you've been passionate about for your whole life, building your dream game should be an incremental goal you set yourself as you start out on a career in games development.
Staying sane in any career is not easy, games development at least lets us express our crazy side in a creative and artistic way. I look forward to playing Limit Theory and would love to know more about the C and LUA solution used to build the game.