Video Game Design: A basic guide on one way a team can tackle developing a game.

I posted this before, when I really hadn't worked on many huge games, but since then, I have developed a team and am working with them on my current project. I edited parts that I found to be wrong, and hopefully this time it won't get as much scorn...

Have you ever seen awesome huge Klik games here, or even famous classic games and thought I wish I could do that...? Well I'm not gonna lie to you and say by reading this article you will magically be able to program one in a week or even at all. What I will say is if you have experience, skill, and devotion, AND you keep yourself focused, you can do this. This article will be about how to make sure you make a great game. While there are games that are completely developed by a single person, I find it much easier to work as a team, especially if you are looking to make a long game or rpg.

Note: Nothing in this article is specific to any coding language. This is simply meant to be a general guideline to making a large game. nothing in this article should be taken as the only way or the right way an I am not claiming to know everything or be better than anyone by writing this article.

Contents
Step 1: Getting your Team and Making Sure You REALLY Want to Do This
Step 2: What's the Big Idea?
Step 3: Finally, Getting Started
Step 4: Feeling like quitting? Now's the Time.
Step 5: Really getting into your job
Step 6: In conclusion...

Step 1: Getting your Team and Making Sure You REALLY Want to Do This

Firstly, you must realize that in order to make a large game, you will need to work for a long time and it will be hard. There will be times when you have a bug in a boss and you have to go through 1000 lines of complex code many times before you see the problem. You may have to fiddle with an enemy's animation for hours befor it looks right. You may need to scrap hours worth of progress in music because it doesn't fit the game.In order to not have to kill yourself, I recommend putting together a team of people, who can collectively do all of these tasks with relative ease. If you have any questions about these various tasks, please pm me or leave a comment and I will try to clear things up for you.

The tasks can be broken up into jobs (Main Programmer, Debugger, Enemy and Boss Programmer, Dialog/ Plot Writer, Map Designer, Pixel Artist, and Musician), and I will post my recommended splitting of tasks.

Game Programming
-Engine (Main Programmer)
-Enemy and Boss AI (Enemy Programmer)
-Implementation of Graphics and Music Not necessary for Klik programming (Main Programmer)
-Quest Implementation (Main Programmer)
-Debugging/ Testing (Debugger)

Game Design
-Enemy and Boss Design (Enemy Programmer)
-World Design (Dialog/ Plot Writer)
-Map Design (Map Designer)
-Dialog/ Plot (Take a stab)
-Quest Design (Dialog/ Plot Writer OR Map Designer)

Graphics
-Pixel Art (Pixel Artist)
-Animation (Pixel Artist)

Music
-Composition (Musician)
-Recording (Musician)
-Sound Effects (Musician)


Some people can definitely work multiple of these roles, if you choose to follow this, but you by no means need to follow this, it is simply one way to prevent any single person from having too much of a workload. I recommend not making a huge project your teams first or even second or third project. You will go through many hardships with this and may lose interest if you are not all actively working on it and having fun making this game. Also, If a team doesn't work perfectly together or all share similar views on how things should be made/ done, you will have fights with each other and probably be forced to halt development. I recommend doing things that don't need something else done while stuff that has a bunch of stuff counting on it is in-dev. So now you have a team (or not) and everyone realizes this will take time, hard work, and devotion... What's next?

Step 2: What's the Big Idea?

Before you do anything at all, think long and hard about what this will be about. Most of the time when people say something like I'm gonna make a game about dude with a pet rabbit and a gun the result is a crude, un-fun game that usually doesn't get finished. If you want people to see your game and want to play it, you have to think of a basic idea that will transform into a story rather easily. It really helps to get out a notebook and write down ideas that team members think of, then go over them and pick bits that go together. If by the end there's anyone working on it who isn't completely in love with the idea, scrap it and start over. If one out of 5 or 6 people won't like your game, why work on it?

Step 3: Finally, Getting Started

So you have a basic idea and a vague gist of the story. Choose what kind of game (platformer, shooter, strategy, rpg) fits your idea of your game the best. Imagine yourself playing each kind with that storyline and see which one seems more appealing. When you've got this down, this is a great first thing for people to do:

Main programmer - Design the engine beta
Debugger - Post some stuff on the internet (cough TDC cough) announcing your cool new game. Tell them all the projects your members have worked on and the plot. This will start building up the hype for the game and getting it known.
Enemy and Boss Designer/ Programmer - Help the debugger.
Pixel artist - Design some basic map tiles. The Writer will tell you his/ her early thoughts on needed scenery.
Musician - By now you probably have a basic idea for the mood of the game, so get busy with your rough drafts of music.
Map designer - Draw out the basic ideas for maps so the pixel artist can make you the tiles.
Dialog/ Plot writer - You have the most work to do in the beginning, don't worry about dialog yet, just plot. You need to get every last detail of the plot done, sceneries, music, major events...

Step 4: Feeling like quitting? Now's the Time.

This is the crucial moment in development. Going back now will earn you some boos and probably get you depressed, after all, you worked so hard on this. But if you are close to mania, stop. It only gets harder. You absolutely can NOT go back after this point. If you have people hyped, and you start this step you will not only hate yourself for quitting, but also make some people dissapointed with you. So be warned, and have a good think.

By now you have some music and tiles, maybe a map if you're really quick. Your storyline is solid... Now what? This:

Main programmer - You have the basic engine done, so now start programming the details. i.e., animation, enemies (we'll talk bout that later) and making the parts of the map work.
Debugger - You need to be by the programmers side from now on. As soon as some big part is done with the initial programming, play through it, take notes on glitches, and move on. After the first level is done, tell him/her your glitches so they can fix them. Rinse and repeat.
Enemy and Boss Designer/ Programmer - So now that the story designer has everything all laid out, start work on the first boss and some easy enemies. Have the debugger come every now and then to test something.
Pixel artist - You now need to make the NPCs and Player (Actives in MMF2). You need the animation frames for enemies, players, npcs, and the boss.
Musician - Keep working on the music, and if you get tired, work on sound effects.
Map designer - Keep working on your maps and remember: it is your job to design puzzles, too.
Dialog/ Plot writer - Now that you have the hard part done, start working on dialog. Try to make the characters feel real. Make the player hate the bad guys and feel pity for the good guy.

Step 5: Really getting into your job

In order to truly make a great game, each team member should know basically what they are doing and have a general sense of the order to do things in, who they are depending on, and how to keep on track.

Main Programmer:

If a game is a beautiful woman, the writer is her heart, the artists are her skin, the musicians are her voice, but the programmers are her brain and skeleton, two things that the woman would be nothing without. So before you do anything, realize that you are a very important part of the team, but it is everything else that makes people want to play it, and that makes it a great game.

The very first thing to do when doing your job is designing the engine. It makes your game that much better and more personal if you create your own engine instead of using someone else's, and it make your game look like crap if you use Clickteam movement (no offense to Clickteam, but it's true). So make your basic engine and when the plot writer has all the details done, add the little things that will make your game unique.

After you have the engine, star working on programming tiles. This really shouldn't take too long, at most 5 minutes on each tile, but it is important to get it done right away. When you have all this done, keep working on more mechanics of the game, like levelling up, making itemswork, all that good stuff. This will take up most of your timefrom now on.

Debugger:

Your job is fairly simple. A bunch in the beginning and every now and then toward the middle and end, you need to be a publicist. Get as many people excited about this new game as you can until people are begging you to work on a demo release.

When you aren't doing that, but that is a bad way of saying it, since you are being a publicist when you aren't debugging..., you need to debug (gasp). In order to be a great debugger, you need to be able to think outside the box. You need to know some programming so you can see what will most likely be a problem and see if it actually is, and you need to be a good note taker, so you can take detailed notes and maybe draw diagrams and possible solutions. You may think your role in this game is fairly miniscule, but you could be saving everyone else hours, days, even weeks of work by doing your job well.

Enemy and Boss Designer/ Programmer:

The bosses are probably the most recognized or remembered parts of the game, but also the most stressful to design/ program. When thinking about how to make a boss, you need to think in stages. Allow me to explain

Stage 1: The starting stage. This should be considerably easier than other stages, but not totally easy every level. How hard the boss is should be linearly proportional to the level it is in (hope that's the right term).

Stage 2: Usually activates when the boss has taken a few hits. Sometimes the boss morphs into a new form that looks cooler.

Stage 3: Should be very hard. If you are finding yourself beating this stage in a minute or less, and you aren't on level 1, try to make it harder.

One thing that applies to each stage is the style of fighting and what move the boss uses in each stage. It is important to remember that Stages were first thought up of when people realized that the best way to make a boss fight was repetition of a sequence of actions until the boss dies. This is boring, however, since no one wants to do the same thing over and over for 10 minutes. So if you find your stages looking like this:

Stage 1: Shoots rocks at you

Stage 2: Shoots flaming rocks at you

Stage 3: Turns red and shoots flaming rocks at you, but faster.

You have failed. Making the player think of how to defeat the next stage of the boss after a minute or so keeps the fight interesting and makes it a lot like a mix between a puzzle and an enemy.

Between bosses, work on enemies. There will be a lot of these in a good game, so make sure you've got a pretty good plan.

Based on the mood of the game, you will need different enemies. Talk to your plot writer and pixel artist about the scene, and then make the basic powers / movement of your enemy to fit the scene and looks from the pixel artist. Then add your own personal touch to it.

Pixel Artist:

There really isn't any special way to do this. I don't mean to make you feel unimportant, since graphics are mostly what make people want to play/ buy the game, but being the pixel artist is a lot of fun work, but fairly simple

A few tips are to check and see if your animations look good when played. Make sure there is a lot of shading in your sprites, people like that. And most importantly, be creative without straying from the purpose of the sprite. You have the most freedom out of anyone, since all you have to do is follow a simple guideline and then have fun with it. If you for any reason don't believe me, think about this...

Say you are making a boss, here is what everyone is doing:

Writer: Designing the basic concept, everyone has to think it's awesome or it gets scrapped
Main Programmer: N/A
Musician: Making music to fit the intensity of the fight.
Map Maker: N/A
Debugger: Testing to see if everything works
Pixel Artist: Getting a vague description and making something that looks epic.

So do you see? You have the funnest, most flexible job of all.

Musician :

Like the Pixel artist, I can't think of much to say. You need to make sure the music fits each scenario perfectly, and is still unique. Make music that sounds good, since bad music can kill a game. Also, try to pick 10-15 instruments and only use those. It may seem unnecessary or lame, but trust me, it will make all your levels flow more and help remind people that everything is connected. Another thing to remember is Make you music loop well. Don't have any extremely unique parts, but also don't make it too bland. Try to not have a fade at the end and put in some loud noise (not ear shattering loud, and not out of place) at the beginning and middle of the song to help hide the fact that music is looping.

When making sound effects, try to keep to 2 or 3 instruments. Don't make them too high pitched or loud, because you don't want them to mess with the music or be annoying. And most importantly have fun with everything you do. It may seem childish, but music will sound better if the writer is enjoying making it.

Map/ Puzzle Designer:

The main thing you have to remember when designing your maps is repetition. Try putting some areas that seem unaccessible on the map, but actually are use later in the level. Make each level flow, don't have the maps go from a laboratory to a field to a mountain to outer space. And try to make each part of the level seem like it's part of the same world, but still unique enough to provide all kinds of new challenges.

Maps are most powerful when they seem, like a real world. People like to get lost in their game and having flowing, cool looking, all new maps can help achieve that effect.

When designing puzzles, try to make them challenging. If you have a tester beat your final world in 30 seconds, you need to try harder. Brice Morrison has an excellent article on puzzle making (http://www.create-games.com/article.asp?id=2201) an I recommend reading it, but I will also talk about some similar stuff here.

You need to make a puzzle that gets the player involved. Make something unique, not place stones on buttons to open a door or push a block on a switch to keep something somewhere so you can safely pass. You need to think long and hard about how you will make these puzzles challenging, and one way to do that very effectively is place hints. Maybe signs or people that you can talk to. Make the puzzle have meaning in the plot, so if your game is about getting a fuzzball through the huge city, don't make a puzzle where you have to find the clowns and pay them to give you orbs to unlock the chamber of secrets and get you to the final boss. Than just makes for frustration and loses all ties to this imaginary world your maps created.

Dialog/ Plot Writer:

As I talked about in the map maker section, the thing that will get the most people into the game is to create a new fantastical world. Giving the people in your game personalities will greatly improve this effect. Write a paragraph on an npc's character and make sure it follows it. There is way of making people fell emotion towards things in your game, even though its all fake. I'm not an expert on this but I do know a bit on it

Player: Usually the player should be in a tight situation. Maybe he needs to escape from an evil. Maybe he's a dashing hero, maybe he's just an average-Joe who got sucked into this whole mess. Either way, having this character have traits of someone you personally would like can help the players like this character too.

Wise People: The perfect case of this is a wise old man who sits in your old base, is friendly, and provides you with hints on how to pass a certain part of the game.

Evil ones: Imagine a person you would hate more than anyone else in the world. Make this person have those traits. Usually these people are arrogant, annoying, and use dirty tricks.

Sympathy: If you can successfully make someone love the main character, they will feel the same emotions toward people that the character does. For example, If your main character has a best friend, even if you never see the friend, and the player truly feels one with the main character, If something bad happens to that friend, the player will feel sorry for it. I hope that made sense.

As for plot, you need to make something that you would enjoy seeing a movie of. If when reading over your plot nothing makes sense, edit it to make it flow. Always have many people read over the plot, since often something will make sense to you but be complete nonsense to someone else.

Step 6: In conclusion...

So remember: Start out small to see how your team works together and for practice before you tackle something huge. Do NOT start a huge project if all this work seems too much for you, and have fun with your team when making it. Eventually you'll be very proud of your work and all of that work will definitely be worth it.

-monkeytherat