http://informilabs.com/Ghost 0.5Sun, 07 Jun 2020 06:54:50 GMT602015 was the year I ran out of money and instantly learned a lot of what I didn't know about indie game development.

I duly went out and got a Real Job. In so doing, I learned a lot, about big teams and big systems and about doing things in ways other than the hard way.

I learned that coding a lot every day had made me a better coder. I already knew that it did not make me a better planner or organizer.

I didn't work on my games. I just thought about them.

Time passed. I shipped some code that wasn't perfect. I spent a lot of time caring in an environment where a lot of people only pretended to care.

I missed a bunch of Ludum Dares in a row.

I wondered if I would ever go back to games. I lost my ability to write music when I emerged from a difficult period in my early twenties, and I was afraid this would be similar. I define myself by my creative outlets; I need to keep at least one alive, or I might dissociate and do stupid things.

I moved around inside the company and worked by myself for a while. The day was easier. I cared less. I went home a little less sad.

I found my old games, my indie corpses. They get harder and harder to build. I got them to build.

There was a first person, 6DOF space flight simulator, written in tens of thousands of lines of C. When you rotate the spaceship, you can hear each gyroscope speed up and slow down. The cascading shadow maps that I struggled with for so long, look great. The spaceship has a console that runs an interpreter, just waiting for an interface that the player would have to modify.

A tourist in my own code, I was amazed at what I had done. I remember the story that I wanted to tell, and how I abandoned the game when I realized that I had built a world too beautiful for me to be able to populate it properly.

I put it down and looked at the next project.

Here was a third person game construction kit that built spacecraft, landscapes and buildings out of a template language. It reused some of the underpinnings of the previous games, and was written in even more C. It was designed at first for simple spacecraft building; maybe KSP meets Minecraft meets Simple Planes.

I remember going off my project plan because in the back of my mind, I wanted to tell the same story as last time, and it grew into a set of dev tools for building an adventure game. Then I realized what I was doing and changed it again.

I killed it trying to avoid doing the project that was too big, and changing direction too many times. I switched branches in this same code base and saw the bones of an adventure game; of a Space Minecraft; of a crude but entertaining FPS construction kit. Looking at the remains of the effort, I felt such loss.

I opened my last project.

I had committed myself to one achieveable project in the time I had left. I had thrown away my C libraries and learned Unity.

It started as a joke -- posting to Twitter a series of Gilded Age collage portraits, with the subjects wearing enormous fishbowl astronaut helmets. I built some scenery and physics and prototyped a compelling spin on top down Newtonian combat. The setting dictated these wonderful mechanical flight instruments, that flipped and extended and spun instead of lighting up. The menus were the same mechanized goodness, with character sheets that used procedural generation to be truly funny. I had great music playing inside a fantastic playback system on intro screens. It became clear that I was avoiding the game, because I wanted to tell the same story again and this wasn't the game that told that story.

The Unity project was the hardest of all to recover. Intricate GameObject hierarchies that I would have expressed in code on previous projects, were mispositioned and full of broken references. The gears and dials and rotating drums were reduced to nonsense images that no longer deceived; they obviously represented time spent in premature polish. There was no game here.

I had tried three times and spent almost three years, unpaid in the prime of my career, writing games; I failed three times because I wasn't writing the game I apparently needed to write.

I stepped away from my failures. I quit the company where it hurt to care and joined one where being emotionally invested is the norm.

I started writing games again. New ideas -- combat in odd geometries; generated mazes. I had ideas too big for a father of young children, coding in the evenings. I had ideas too small to be motivating.

I rediscovered the script for the story that I had been failing to tell for all these games for all these years.

For my birthday, I stayed up until 3:30 AM building the UI I would need for the first scene of the first page of this game.

Last night, I took a website template and changed it until it said the things about the game that I wanted to say. I was surprised at how easy it was to talk about a thing that didn't exist.

I need to write this game. I need to write it as simply as I can, and then I need to stop writing it and write a different game, because I am tired of wasting this motivation and building beautiful things that nobody but me will ever see.

That's a strange way of saying it's good to be back, and this is a strange way of feeling it, but at least I keep this creative outlet; at last I remember who I am.