Doing game programming as a hobby was rather interesting and exciting… Yes, was. Until we understood that in order to achieve your goal (that is “Release a game”) you need to do much, much and again very much boring work. It was not really so bad as long as we didn’t know what we were doing. When you are kind of “just programming” and hope that it’ll end in a game release – it’s fun. But then after some time you realize that you should do some things that are really boring, but that will give you a final game release at the end. And here comes a point of this post: planning.
In order to make a real game you need to plan most parts of it: gameplay, features, effects, how you are going to advertise and sell it, graphics, music and so on. Planning as it is is not a problem as it goes sometimes rather fast. The problem is to stick with your plan. That sucks!
Most of the real “game programming” is just implementation of some part of your plan. Often you don’t really need to think about anything, just do your programming stuff. That’s where the most of us die as “hobby game programmers”. Because one thing is to do it because you love game programming. A totally another story is when you need to make a sun to shine, but it just doesn’t want to shine for weeks!
“But, hei!” – you say, “just use some engine that has all this sun-stuff already!” Well, I don’t want to! I’m a programmer for god’s sake! I love to program! Why should I use some brain-dead engine for my game?
“Because it’ll give you the opportunity to make a game?” – …
I guess what I want to say is that planning is boring and sticking to the plan is even more boring. A detailed plan damages motivation and kills every sign of joy. But that is something you need to do in order to finish stuff.
So, what’s the difference between a game programmer and a hotel maid?