You’ve got a free evening and a brain full of story. Ideas enter your head and then exit without closing the door, leaving your mind wide open for new ones. How do you decide which ones to put into your game, and which ones get the axe?
In an ideal world, we’d have the time and talent to say, “all of them”, but moderation is required for anything to be completed. My own approach is to use a categorization system that I call the MMD ranking model. It places all of the possible major features of a game into one of three categories in terms of how important it is (and likely) that each feature will be implemented. At the onset of every game dev project, before writing any code, I’ll sit down with all of the features and sort them into one of the following:
- This is the simplest category of the three, and always contains the least number of entries. What should be included in this section is a complete list of all of the features necessary to turn your game into something playable. This is surprisingly minimal. You’ll be surprised to realize that it doesn’t take much to make something fun, and that many extra features you might dream up aren’t strictly required (although they might be nice to have).
- Middle grounds are always tricky. In my experience, this has been the longest section of the three because it enumerates most of the awesome features that I think would really make my game kick some serious ass. This might include additional enemy content, fancier weapons, or optional missions. The omission of any of these items won’t ruin your game, but it might not hurt to promote one or two of them later on to the above category for some extra fun. Just don’t get carried away.
- It might seem kind of stupid to include a list of things that you won’t be putting in your game — this is obviously a lot. (You’re not going to put a Goomba into your Halo video game clone. Hopefully.) This category is really meant for the ideas you’ve had that are unfeasible for your project, due to (a) time constraints, (b) severe lack of technical knowledge, or (c) because they’re generally not focused on the core purpose of your game.
I should point out that the items ranked in these lists don’t have to be purely non-technical. Your implementation will dictate many things about what your game can and cannot do.
Of course, I wouldn’t leave my readers with just a description and tell them not to slam the door on the way out. Here’s a real example of an MMD list I developed while I was working on a very basic, minimal 3D game library a few years ago. The list evolved over the lifetime of the project, and items that were implemented were removed as things proceeded.
– Triangular prisms, pyramids (easy; make a couple new primitive types)
– Camera functions: follow, point (see previous code)
– Changes sprites to use Shader code (easy)
– Frustrum culling (see BGOGL)
– Particle library in 3D (import from Wing)
– Animated model loading
– Support for user-defined custom shaders and rendering