Working with your hobby
Some people may wonder what developers do in their spare time. Well, like most people, I enjoy spending time with friends, playing games and watching TV, among other things. But I also love making games.
At work VS. At home
It may seem crazy to think that when I get home from a day at the office, I would want to keep doing the same thing in my spare time. But here’s the secret: It’s not the same. All game development is different. That’s one of the things that make it so great. It’s also a completely different thing to work on a project with a bunch of people, fixed budgets and deadlines from working on a small little thing without any fixed deadlines or demands.
So in this week’s blog post I will share some of the stuff I have been working on outside of the office.
Last summer, I decided to start a small game project of my own. As is usually the case with these things, “small” became a relative term. While the concept for the game itself remains small, the project as a whole has become a lot more.
After looking around for a suitable game engine, I found I was quite limited by my budget ($0). While there are free options out there, I could not find one that would allow me to do the things I wanted without making things overly complex. OGRE would probably have been my best choice but I was reluctant to go for a full 3D game engine, as the game I had planned would be a 2.5D sidescroller.
Frustrated by the lack of options, I decided to do something about it. I would make my own engine, simple and flexible, and release it as open source so that others may be a little less frustrated by the lack of mid range options in the future. I have been meaning to get more involved with open source projects for a while now and this would give me the push I need to take that seriously.
So for the past few months I have been building the foundation of the engine I have come to call Harmony. I am using the C# programming language as I am very comfortable with it, and decided against using XNA, remembering some of the more painful moments in the development of Magicka. Don’t get me wrong, XNA can be great but if you want to go that extra mile XNA can make that very difficult. I instead decided to use SlimDX, a .NET wrapper for the DirectX API, and use DirectX 11 for the game.
While I say I’m making the engine myself I still use some open source libraries, such as a physics engine, and focus on my areas of expertise and stitching it all together.
Still, making a game engine is no easy task. Add to that that I’m doing it alone and only in my spare time and this project will probably take a while. I don’t expect this to be simple, but I will work hard to get this done. Besides, it wouldn’t be any fun if it wasn’t a challenge.
When Harmony is ready I will publish it for anyone to download, but I can’t devote to any release date yet. I haven’t decided on a license yet either but it will likely be one of the major once, GNU GPL, MIT or MS-PL. I do prefer MIT and MS-PL over the GPL though, as they are easier to understand and less restrictive.
Finally, I would like to mention that I recently started a project blog for the engine and game. If you want to know more about the game and how work is progressing on it and the engine I hope you will drop by. You can find it at tantor.se. Beware of Ponies.