Why am I doing this?

Back in the fall of 2011 I started watching the animated show “My Little Pony: Friendship is Magic”. I had, like many others, seen the memes and stuff floating around the internet for some time and decided it was time to find out what all the fuss was about. I was instantly hooked!

When I started watching, the second season had already begun airing so when I had finished the first season there was still a steady stream of new episodes. I found some cool music on youtube made by other fans of the show. I even read some fan-fiction, something I had never done before. I was thrilled with the amount of high quality content that the fans were producing.

Then it happened. In April 2012, the second season ended. No more ponies for about half a year. This was when I really started appreciating what other fans were doing. Giving everyone the chance to enjoy this great show even when the show itself wasn’t around.

I began wondering if maybe I had something to give back to the community that had given me so much. But what? I’m not an artist. Not a writer. Not a musician. What am I? I’m a game developer, that’s what I am. There are a handful of fan-made games around but, not to talk trash or anything, most of them are small flash games without much of a goal or story to them. I wanted to prove that fans could make great games with only a small team and no budget.

Again, I’m not a writer so I knew I would have to base my story on someone else’s work. I though about making something based on one of the episodes of the show, but that didn’t really feel right. After all, I wanted to show my appreciation for the community more that the show itself. I looked though some of the stories I had read and when I got to “Rainbow Factory” my mind went into overdrive.

Rainbow Factory is originally a song by WoodenToaster (youtube). This inspired a fanfic of the same name by Aurora Dawn (fimfiction). I could see it in front of me. I could make a game running parallel to the events of the fanfic. You would play as the unicorn Twilight Sparkle, one of the main character of the show. Using your magic to hurl stuff at enemies in a classing Nintendo sidescroller style gameplay.

Filled with confidence in my idea I started looking for a game engine. I first looked at free 2D engines like Löve and Torque 2D, but found that they were insufficient for my goals. I then looked at Unity 3D but found that the free version doesn’t include some of the features that would give the game that “professional” feeling.

After having not found a suitable game engine I started building some quick tests using XNA but the nightmares from an old project quickly crept up on me and I decided that it would be better to go with DirectX11. I still wanted to use C# though as I am very comfortable with the language and it gives very short iteration times and very little overhead so I downloaded SlimDX, a .NET wrapper for the DirectX libraries. Again I started making some small samples but I quickly found that there was DirectX code mixed in everywhere in the game code.

This was when I decided I needed a proper engine and since I hadn’t found one, I would make my own.