Now on to a bit of a summary:
Hypertac was my first game that I completed from start to finish. The reasons I think I actually completed it are:
Its very simple.
I designed everything out first. This goes for gameplay aspects and internal code.
I made a todo list and worked through it.
Most people could probably make a game like mine, but 100 times better, in a single day. Well, I cant.
And neither can a lot of other beginning game developers. This feels like such a big achievement for me
and I hope other people trying to get into gamedev are reading this. So I have a few bits of advice for
anyone working on their first game:
Plan out how the games going to work internally, the more detail the better.
Know exactly how the games going to be, design before diving into implementation.
Break things down into tiny bits and get them done, one at a time. Make a very detailed todo list.
In other words: Plan, plan, plan, and plan some more.
But dont think everything went smoothly, oh no. I had originally planned for there to be basic background effects, like possible scrolling stars or a simple scrolling image. I kind of just left that out without even considering it. I also had planned for there to be 5 levels and there being 2 different types. One type being the Kill X Number of Mobs (which is what the whole game is) and also a Survive for X Minutes. I scraped that after some reorganizing and thought it would be too difficult and that my current implementation wasnt flexible enough to easily add in another level type. The only other thing I left out was a few details with the boss. I wanted the boss to fire at you (but instead I made him spawn more mobs) and also to "dive" at you in an arc. That I deemed too much work for what the game would gain from it.
I used to dive into a game, thinking I would design it as I go.
This is a definate nonono and is probably the main reason I have never finished a game start to finish.
Why is this so bad? You need to know how your code is going to be setup, for example your object heirachy
or even your basic game loop. Not knowing how my game was going to be, often left me with a feeling of not
knowing what I should add next, which ultimately led to me dropping the project. Also, not breaking down
the features/tasks into small pieces can cause you to feel overwhelmed, which is very easy to do. So plan
and get it done.
P.S. Backup your files :D