Here’s an short article I wrote a while ago for a company, unfortunately they never ended up using it so before it gets too long ago, I thought I’d paste it in here. This is from about mid 2011, I think.
My names Terry Paton, I’ve made many games now over a 8 year period, mostly self taught. My advice typically comes from being a solo, independent developer, though I’ve worked for several years in studio environments making games for advertising and promotional companies.
These tips are mostly focused at those new-ish to game development. In designing a game world that can be played in, a series of systems and procedures need to be created. For me game development is essentially solving a long chain of problems. Learn how to solve those problems and your a long way to making a fun game.
1. Imitate and copy
Copying or imitating is an awesome way to learn how to do something, traditional artists have done it for centuries. “This practice was generally considered a tribute, not forgery, … ” (http:/ /en.wikipedia.org/wiki/Art_forgery) – If you want to get better at something, then trying to do it like those who already have mastered it. Look at the choices they have made and consider why they made those decisions, often important things are hidden in subtlety and the only way we learn those subtleties is by creating the same thing. The balance here is ‘stealing’ versus ‘inspiration. Ripping off someone else’s idea in a way that harms their hard work or producing something which is ‘inspired by’ their work. If you plan on publicly releasing something, I recommend you should inject some of your own vision into any game you make, take a concept but then extend or change it to create something of your own.
2. Break it apart and experiment small
It’s extremely easy to get overwhelmed with the sheer amount of work in producing a game. Breaking apart the game into segments or sections that can be worked on independently makes game creation much quicker and easier.
It also great for your motivation, with clear identifiable tasks you see your progress clearly, and see how much is left to do. Isolating and breaking apart a problem can mean many things, depending on the context. In code it may mean separating into more classes, or just separating functions into smaller separate loops, or more … The idea is to try to reduce a problem down to easily manageable parts that can be worked on cleanly.
Breaking apart and experimenting with several ways to solve a problem, in separate small isolated projects, is extremely useful, and keeping those projects for later reference also makes a great resource when your making another game. Especially in early development, your able to isolate problems much easier while the code base is small with few external code influences, so it’s important to do so.
The optimising process, where you speed up rendering, code execution etc, can also be helped when elements are separated out, again allowing you to clearly see bottlenecks and problem points.
3. Sketch, plan and visualise
Documenting and writing about your game is a great way to explore the ideas, and experiment. Our imagination is far greater than anything we can make, so use as much as you can before committing code to bringing something to life.
Sketchbooks are a great way to quickly explore ideas and concept, with just a few scribbled lines you’re able to visualise major themes or ideas within your games. For me games are little self contained worlds where the rules are made up, and you can lose yourself in them. With dreaming up these worlds, visually doodling the various concepts within the game helps with thinking about those parts, and often show you problems you may encounter.
You can come up with the core idea for a game very quickly but the many parts that make up a game may need some careful planning and thought, especially if you have only done it a few times. By exploring these ideas as much as possible before committing resources it can save you a lot of wasted time that comes from when you encounter unplanned problems or ‘scope creep’.
Scope creep is when the amount of work in your game grows and grows because you keep adding ideas while the game is being made, introducing new problems that need to be solved. Scope creep is your enemy.
Mind mapping is also a great tool for exploring ideas and their various elements. The basic concept is to list out a few key topics, then note down thoughts about each one, expanding each note further and further. This can quickly become a branching list as your explore various concepts and ideas. What this does is quickly break down a game into manageable parts that can further be broken down into a todo list (if necessary). One of my favourite tools for this is ‘Thoughts HD’ for iPad.
Other methods to explore gameplay aspects – white boards, cut out shapes and use physical objects to pretend or play, use Lego. This ‘playful’ experimentation quickly shows potential issues, and helps to visualise the things that need to be built. It’s also important to remember that you won’t know if something is fun, until you try playing it. So it’s important to make prototyping and play testing a part of your planning process before you are fully committed to a game design.
4. Interface planning ‘Wireframing’
Wireframing is essential to making a game efficiently and with minimal changes. By planning the games interface with simple boxes and text you can quickly get an idea for the various UI elements that need to be designed and built, along with potential interface flow problems. It quickly becomes clear when a screen has too many buttons or is missing features when you see a rough of it in front of you. These wireframes then become the basis for the games ‘shell’ (as I call it), giving both a programmer and designer information to build and design from. Be clear and concise, if it’s not in the wireframe, it shouldn’t be built – unless it’s not visual, and even then notes can be added to each page. Example wireframe:
5. Polish and tweaking
This can be one of the hardest parts of game development as it comes at the end of the project when you’ve worked for a long time and can start to feel burnt out and bored. The thing to keep in mind is that this phase of game development will unavoidably come, so save some enthusiasm and energy for it, be prepared for the hard part at the end of making a game.
Polishing a game can involve lots of small changes and adjustments – though sometimes you’ll need to make some significant backend changes to make a relatively small player side change. To help with identifying what need polish, it can help to take a break from your game for a little while, then look at it with fresh eye.
Record a video of yourself (or someone else) playing the game, this’ll help you see things easily overlooked when you’re engrossed in playing or making a game. How much polish depends on the game style, the target market, budget and resources. Again, plan for this phase as it means your almost ready to launch your game.
6. Crowd source your motivation
Making a game, especially in a small team (or on your own), is tough. There’s a lot of work, parts that you won’t enjoy and sometimes you will encounter set backs in development. Morale is hugely important, games get finished much more smoothly if your happy about working on it.
Sharing your work and showing others both inspires other people and motivates yourself. If you talk to the people you share it with, you’ll also find out if it has obvious flaws. Depending when you start the sharing process it can also be a great way to get ideas for your games. Often before I start actual work on a game I’ll talk over the idea with a trusted friend who has a different way of looking at things than I do. Our excitement as we talk and explore ideas helps me greatly and often he’ll suggest things I overlooked or never even thought of.
Listen, but not too carefully to feedback, If your going to share your work you do need to be wise about who you share with and be prepared for any type of feedback. Its easy to get distracted by the comments you can get back about beta version of your game. People can easily focus on early graphics, gameplay or features, so be aware the games going to be criticised for these things. If your aware that these will be issues, you can quickly overlook them and focus on the suggestions that have.
Being wary of negativity and avoid getting caught up in it. Sometimes you do need a thick skin as you may not expect what you hear, and occasionally some feedback can be negative. Pick and choose who you listen to carefully, look for those who will inspire and motivate what you – but also tell you the truth. Feedback from players and other developers has helped me enormously over the years, to keep going when at times I’ve felt like giving up.
7. Cut corners, wisely
Often while developing a game it becomes apparent there are a few ways that things can be done. For example, using a detailed accurate physics engine can often be unnecessary when a simpler solution will do. One of the key reasons to cut corners is that there is so much to do, so any time saved is time gained for something else. It’s often better to rough something together and get it completely working, then look at what needs improving with added detail.
That way you’ll end up with something playable (and able to find out if it shows potential for fun), which can then be polished and refined. Its good to be aware that some things are not so easily shortcut and may in fact present greater problems. A good practice is to think broadly about major components of your game and guestimate ways in which they can be done, look at the options and evaluate how long they may take. If something looks complex, research ways in which the problem has been solved before, or alternate ways of solving it.
Make there be a primary focus within gameplay, give your player a primary reason to be working their way through your game. Give them extra things to do as added incentives, but by focusing the player you greatly enhance the players ability to get lost in gameplay. Make the primary gameplay mechanic fun & enjoyable, and let it consume the player.
Also in terms of development, narrow down on problems, remove external influences and make the current problem the only one you focus on. Set limits on how much scope creep you’ll allow before the task at hand become too big task and needs to be broken down further. Making sure you stay on one task, and finish it well first is paramount to getting a task done quickly and effectively.
9. Work with the end in mind
If your vision for your game is clear then finishing becomes a whole lot easier. When your ideas are vague or weak it’s quite likely you’ll experience ‘scope creep’. If you set fairly tight limits on what will be in the game, how much time your prepared to work and budget constraints, it makes it much easier to finish and focus on. Decisions about features are quickly made when there are clear limits.
Motivation over the length of development is also helped by focusing on the finishing line occasionally. Evaluate the current build state of your game and document what’s left to build, (hopefully) you’ll feel more motivated and have a clear list of whats needed to complete it.
10. Play test, early
Making sure the core of your game is fun (or engaging) early on is essential and a , proof of concept is essential if you want to be successful in finishing, nothing is more demoralising than halfway through a game realising it’s not fun and it can be difficult to change that. Early play testing will also show how players handle controls and the game concept. If possible watch people play your game, and give them as few instructions as you can, if a player is confused by your interface, your gameplay or certain mechanics then it helps enormously to see that happening. When the game is launched, the people playing it aren’t going to have you talking through the game, and will almost always skip instructions. If a player can’t pick up your game and just work out how to play then you may to do things differently. It’s best to identify these problems early rather than try to fix a finished game engine.
11. Game theme, and vibe
Creating a theme or ‘world’ that your game exists in makes game development much easier. For example, if you choose a theme of Egyptian, immediately lots of choices about design and gameplay become obvious. If you choose ‘Bleak Future adventure’ then again choices about style and gameplay are quickly narrowed. When planning out a game there’s often small pieces that need decisions to be made about, and without a theme become much harder to decide.
Another example, If your designing doors in your game, with the theme of ‘Egyptian’, your design choices are quickly directed towards things like – sand, stone, hieroglyphics, wood etc. Making the decision process much easier.
Some helpful links:
Seven Creative Tips for Amateur Video Game Makers. LINK
Some great advice on making games: LINK
I’ve blogged about the development process of one of my games here: http://pixelpaton.com/? cat=445
I’ve photographed my game dev sketchbooks over the years and can be viewed here: http:// www.flickr.com/photos/terrypaton/collections/72157623562011731/
A mindmap I’ve made titled ‘What makes a great game': http://pixelpaton.com/?p=3385/