You can think of me as an anti-programmer. I did not learn to program in school, and I would never recommend programming as a career. I do not want to become stuck in the monotonous world of making software for other people. Or just having a boss in general. The only bosses I want to have are the ones at the end of a dungeon in Zelda: A Link to the Past. The only time I want to program something for anyone but me is NEVER.
|Why I've never taken a CS class|
Which brings in my programming strategy for this game: Do not plan.
Planning destroys the fun of seeing what happens next. When I am already thinking about the skill system for my game, then how am I going to find the motivation to program the basic combat? When I am already imagining how my elderworld will operate, how does one find the patience to debug a simple map editor? Getting ahead of myself has been my achilles heel of every game I have ever programmed. I start getting too excited, and then I end up disappointed that things aren't moving along faster. Don't get me wrong, I will be writing this intelligently, with comments and with room for adding in whatever I might dream up in the future... But leaving //?? comments all over my code is a sure way to get burnt out, so I will not design the game details ahead or make decisions until they come up in the code.
For any aspiring programmers I encourage you to start small, and do not let yourself plan out anything too elaborate until you have laid down the basics. You, like me, are a game designer first, and a programmer second. But we don't have a legion of chinese sweatshop workers to do our grunt work for us, so you need to find a way to enjoy coding. That means dispersing choices, decisions, and game design throughout the coding experience. Also, keep clean, well structured code that you will be able to read later. You do not want to feel frustrated at any part of development. Frustration can easily lead to working ahead of yourself, short-cuts, messy code, and bugs. Make sure each part of the game is smooth and working how you want it to before moving on to the next, exciting part.