I have had this dream of developing a game since college, more than 15 years ago. There are several things that have held me back. Picking a development environment, however, is number one.
I am a programmer by trade. I took my first programming class my senior year of high school and LOVED it. It just clicked. So I got a computer science degree and have been a programmer ever since..
My problem is, I would much rather write everything myself. In fact, in 2 of my last 3 jobs that is exactly what I did. I was the only programmer on my project so I wrote everything myself. I love doing things that way.
I started developing a game a few times in the past. Those attempts did not get very far because of my desire to write everything myself. I would start with a blank project with dreams of building my own engine.
There are 2 issues with this:
- Building a game engine is hard. My expertise is in business software, not graphics/physics/everything-else-in-games. It was going to take me longer than I wanted to get to the point where I could actually create a game. Which leads to number 2…
- Building a game engine and building a game are two different tasks. Building an engine is lower level work than building a game. It requires a much different thought process.
For these two reasons, I have decided to bite the bullet and use a game engine to build my game. The question is, which one?
These are my 3 choices:
- RPG Maker – I purchased a copy of this through Humble Bundle. The bundle also included some tilesets. I don’t think I am going to use this one, however. My ultimate goal is to build an RPG but I want the ability to build other stuff as well.
- GameMaker – I bought a copy of this a while back on Steam. There are quite a few games that have been built with it. Games like Gunpoint, Hotline Miami, and Spelunky. This gives me the confidence that I could build something commercially viable in it. Also, Tom Francis, the developer behind Gunpoint, has released some tutorial videos about how to get started with it.
- Unity – Unity has a free version so I would not have to spend any money. Also, Unity uses C# as one of its scripting languages. This is appealing because I am a C# developer. It also has several high profile games built using it, with the most notable being Blizzard’s Hearthstone.
So the question is, which one do I pick?
At this point, I think I am going to start out with GameMaker. I am going to watch Tom’s videos to get up and running and then work from there. I may jump to Unity later but GameMaker will get me started.