So… you want to make a game? Great! Whether it’s the next (insert current popular game here)-killer, or simply something to entertain your cousin, game development can be a fun and hugely rewarding activity. As someone who has been a hobby level game developer for quite some time, I find that there are some simple guidelines that really help to ensure that you’ll not only end up with a great game, but also that aid in keeping you on track, seeing an idea through to completion and weeding out the good ideas from the, well, not so good ideas. This is by no means a definitive or complete list, and I am by no means a professional nor accomplished game developer (IANAPGD, I just invented a new acronym!), but these are some principles I have picked up over the years which I strive to adhere to.
1. Get It In Writing
Got an idea for a game? Great! Thats the first step. Write it down! No- not just in a chat room or on your blog, get out those archaic devices they used in the before time; pen and paper. Personally, I find that ‘unplugging’ from your computer or game console for a little while and writing down your ideas can be tremendously helpful. Without any other distractions (Ooh, piece of mail! Ooh, piece of RSS! Ooh, piece of inane Facebook status update!), you’ll have a true conduit from your brain to the world. You’ll be able to get all of the bits and pieces of your idea recorded in a stream of consciousness manner. The facets and minutiae of your concept don’t get lost in the ether. Having an initial design recorded can help tremendously in all phases of game development.
Once you’ve settled on an idea and you’re ready to start development, your very first goal should be to create a playable prototype as quickly as possible. It doesn’t need to be (and probably shouldn’t be) pretty or otherwise visually delightful. What you want is a functioning demo of your basic game idea, distilled to its most basic form. Having a prototype allows you to determine if your game-to-be is even going to be fun, and it also gives you a glimpse into what features or design elements you might need, or conversely, need to cut, as well as what sorts of technical challenges you’ll ultimately be facing in the long run. As a rule of thumb, if it takes more than a couple days to get a playable prototype, consider it a red flag. Thats not to say your project is doomed, or that its a bad idea, but it almost always mean you’ll be facing the added difficulty of being faced with a fairly complex and time consuming undertaking.
Burdening yourself with the task of implementing umpteen features and game elements is only going to put a damper on your motivation and ultimately lower your chances at finishing your project. Think of your game as a collection of building blocks. Try and get the basic game play developed, working and fairly solid first. Then you add on the next element, aiming to get it as functional and solid as presently possible before moving on to the next. This keeps you from ending up with a mess of half implemented features, and perhaps more importantly, it will help you to determine which features may not be necessary or fun, and perhaps even reveal new elements which you had not previously considered or imagined. Be careful of that last part, though. You don’t want to fall victim to scope creep.
4. Play Your Game, or, Test, Test, Test!
In all likelihood, you’ll be at least “kinda sorta” playing your game fairly consistently, checking for crashes or bugs. On top of this, though, make sure to make time for playing your game on a regular basis during development. It can be pretty easy to get tunnel vision when you’re in the coding trenches, which will make it difficult to spot potential problems or boring/frustrating/unnecessary features before they become much more difficult to remove or revise. This one seems pretty obvious, but it bears pointing out. Make sure you’re seeing the forest, and not just the trees.
This step can be the most exciting and rewarding point, or the most difficult and anxious point, depending on your personality. Before your game is finished, get someone else (or better, a number of people) to play it and provide their feedback. The earlier and more often you do this, the better off you’ll be. Getting a fresh perspective on your game is important and helpful for a number of reasons. Firstly, you’re able to find out if other people with tastes differing from your own find the game enjoyable. If they don’t, you’ll (hopefully) be able to find out why. While you won’t and shouldn’t make changes as a result of each and every piece of feedback you receive, the collective opinions can reveal the strengths and weaknesses of your concept. Additionally, people who don’t know the in’s and out’s of your program are likely to use it in ways you have not, helping to reveal bugs or other issues that you might not encounter any other way. Finding and correcting problems with your code early is always going to be easier.
So there you have it. A partial list of guidelines and principles that will help you create your game and get the most enjoyment out of it. Now, good luck, and start developing!