Posted on Wednesday, 23 October 2013
Yes folks, it’s another “hey new indies, don’t make the same mistakes I did” post! This time, gavedev related.
DON’T pick a language or framework too far beyond your current ability for your first game.
DO pick something simple for your first game, and make your first game simple. Gamemaker has enabled people to produce very successful games, and it’s simple to work with. Once you’ve got a game out there and you’ve seen the process through from beginning to end, you can level up then. You don’t want to have to learn C++, OpenGL, AND the process of game design, marketing, and support, all at once.
DON’T decide on a list of features, then feel like you have to create an engine to support them all up front before you start on getting it playable.
DO create new features in your engine if/when your game requires them. It’s easy to become bogged down thinking, “ah, but in level 37, I’ll want homing missiles, I have to code that now!” and then get to level 37 and find the direction has changed, and you actually want to be able to cut ropes. Sure, plan out your features, but get something playable as soon as you can. Getting consumed with “my engine has to be complete!” will only delay things. And…
DO write your code knowing that you will want to add new features to it! As reddit user iruleatants points out, your engine should be easy to extend for when you do want those new features.
DON’T make your technology choices lightly. If you do want homing missiles on level 37, make sure the technology you choose can support them. Check out other games people have made with the tech, ask on the support forums. Maybe do the following…
DO make a quick prototype. Do you want your game to run on mobile and desktop? Make a prototype to show that it works on mobile and desktop. I spent far too long developing a game with a certain mobile framework that claimed to support Windows, only to find out that they meant the game would run on windows, but has no keyboard or reliable fullscreen mouse support.
DON’T (particularly for mobile games) assume your game runs well just because it’s smooth and playable on your Nexus 7.
DO decide on the minimum specification/handset you will support, and develop and test on those. Before I started my current project, Spheretic, I had a really nice puzzle game written for android. Even non-gamer friends found themselves playing it for hours. I had a sure-fire hit! Well, if everyone in the world had a Nexus 7, I would have. Turns out, any screen smaller than that didn’t have the touch accuracy to make moves reliably. I had to take it off the market. Make your game not do that.
DON’T be afraid of feedback. Yes, some people will think your game sucks. That’s life.
DO look for feedback that can help you improve. Learn to turn a criticism into something that can improve your game, and get past your own sense of pride in your work so that you don’t throw away genuinely useful advice.
DON’T give up. There’s so much to do with art, game mechanics, level design, sound design, promotion, etc., etc., it can seem overwhelming.
DO keep making progress. Set yourself small goals you can achieve. Simplify if you need to. And keep making games!