I’ve spent a good deal of time working on my game project, but it hasn’t progressed quickly. I had a semi-playable prototype and decided it wasn’t right. I changed the fundamentals of the player’s character and realized the graphics engine was rudimentary. I replaced my home-grown graphics engine and collision detection with solid 3rd-party libraries: Ogre 3D and Bullet. Now I have a very simple prototype and haven’t decided where to go next.
A year ago I described my ideal game engine and explored the conflict between building a game or building a game engine. I still believe that good games are timeless, but after ~5 years I have to bow to the wisdom and experience of the experts. A game developer should not start by attempting to make their dream game.
The generally accepted advice is to write a game, any game, quickly. For a developer who isn’t also learning how to program at the same time, this should be a week or two max. Then write another game. And another. Some people will spit out a game in 24 or 48 hours.
These things don’t have to be pretty, and they rarely are. But they give you experience starting a game from scratch and actually finishing it. You experience all the portions of the development cycle, so you know what to expect when building a larger project. By the time a few games are finished, you have a platform to build upon.
My new goal is to spit out something that is at least a little fun, and maybe a little original. But without any complex features or extravagant flourishes. I will have this done within six weeks.
To that end, I’m going to learn Python and build the game upon the Pygame library. I’ve been meaning to pick up Python for quite some time, as it’s a widely used and widely useful language. Python is ideal for quickly building useful tools and applications, so I won’t get bogged down in low-level details to complete a playable game.
Once this is done, I can choose to flesh out the game (if it’s actually fun), start another quick project, or use my newfound Python expertise to finish a few non-game projects that have been on my list for far too long.