Theory
How to Make a Video Game
The Game Development Process
The game development process usually begins with a game concept. Among hobbiests and small teams, the concept may be formed in the head or written on a napkin, but in the more serious studios it is written down carefully. This document guides the prototyping phase, low-fidelity paper versions of the game, or very simple digital versions of the game are developed, tested, and explored. If the concept looks promising, more documents are created, such as the art bible the production plan, and eventually leads to the creation of the game design document as well as the technical design document.
At this point, production is begun, a stage that can last from several weeks to a few years. An alpha version of the game is finally produced at which point the game is playable from beginning to end. This is tested and de-bugged until the beta version of the game is developed. The beta version is similar to the alpha version, but should include all final art assets, and be stable enough that a selection of customers can play the game and report problems. The final stage is sometimes called the gold stage, where the game has gone through complete testing and has passed a final review.
The Game Concept
What is the goal or purpose of the game? What is the premise? Is it a tetris-like game where the player arranges geometric forms while they fall? A two-person shooter that takes place under water? A learning-game where the player "becomes" each animal they are studying? The concept should include a short treatment on player motivation, as well as some discussion as to what makes the game unique. This unique factor is sometimes called the Unique Selling Proposition. What are the unique features to the game that would make someone want to buy it? Also key in the game concept document is the genre - how does this game fit within the existing game ranks? Is it an action game, an adventure game, a sports game, a simulation? Some thought should also go into the rating you hope the game will achieve, and what platform the game will be played on (Mac, PC, console, iPhone, etc.). Another very important consideration is the competitive analysis; several current, successful titles should be reviewed and compared to the proposed game, including why the proposed game will compete favorably. Finally, what are the goals of the game? Are you hoping to make the player feel tension, happiness, creative freedom, intellectual acheivement?
The Art Bible
This is a collection of sources, sketches, storyboards, and digital resources to be used in the creation of the game. The art bible keeps the art team focused on how the characters, terrain, environment, pickups, interface, lighting, etc, should look, so that the game has a consistency between artists, scenes, and levels.
Technical Design Document
This document focuses on the game engine, what features it will have, how it will be leveraged to move from concept to finished game. If the game engine is not to be developed from scratch, this document can include an overview of the features to be used in the engine, and any custom features that may need to be added in order to support the game's goals.
Project Plan
This document plans the stages of the development of the game in the form of a schedule, taking into account all of the necessary game design, prototyping, creation of documents and other planning, and goes through actual production of alpha, beta, and gold versions of the game. Here the man-hours to create the game are calculated, as well as all other costs including costs for the software and any other expenses with operating the company.
Step 1: Decide what kind of game you want to make
Do you want to make a 2D game or a 3D game? Adventure game, sports game, or simulation? Should the game be playable on a PC, Mac, Linus, console, iphone, or cellphone? Is it a single-player game or multiplayer? Will you utilize First Person perspective, Third Person perspective, "god" perspective? See the Game Genres page for a breakdown of the different types of games you could develop.
Step 2: Consider your skills, tools, budget, and resources
Now that you have an idea of what kind of game you want to create, take some time and do a reality check; how well do you and your resources measure up to the challenge you have set for yourself? Are you skilled with creating art assets such as a game environment, pickups, skyboxes, characters? Can you animate? Can you program or script a game engine? Do you know anyone who can help? Do you have the budget to hire help? Do you own or can you afford the necessary hardware and software to build the game? Have you decided on a game engine? Get an idea of the different options for Art Asset creation by clicking the Game Dev Art Assets page. Get an overview of the different Game Engines out there by clicking the Game Dev Game Engines page.
Step 3: Revise Plan based upon Reality Check
With your skills and resources clearly in mind, and having read through the sections on Art Asset creation, game engine selection, programming, and game genres, revise your plan so that it and reality coincide. The other aspect to this step is to simplify your plan so that it is doable in a few weeks or months. It is very common in the world of game development to have young, inexperienced artists and programmers with huge, impressive ideas but no real means of getting the game accomplished. Start small and simple, finish something, and build from there. Create a basic game design document that establishes some framework for how the game should play, what the rules are, etc.
Step 4: Make a Paper or Low-Tech Prototype
Take your game idea and test it out as if it were a board game. Work through the game-play with your development team or some friends. If it's not interesting as a board game, it probably won't be interesting as a video game. This is not always possible, of course; a game like asteroids is not easy to simulate as a board game, so in that case you might need a digital prototype that is very simple but generates the "feel" of the gameplay. The bottom line here is to test your game idea out before investing too much time and money into it.
Step 5: Aquire the Hardware and Software
When you feel sure of your objective and have a good idea of the hardware and software options, it is time to buy some equipment. If you don't have much money, you will at minimum need a computer; almost all of the software you will need to create a game can be had for free, but the tradeoff is that you may not be using software that is the best for the job, and it may be hard to find team members who are knowledgeable about that software. Also, if you are hoping to leverage your game development experience into a job, you may want to use, as much as possible, the same software the game studios are using. Please Note: If you are not developing a commercial game, you may be able to use educational versions of software to develop your game. See our Developing Game Art and Choosing a Game Engine pages for more information.
Step 6: Prototype High-Risk Features
Now that you've developed a realistic plan, are convinced that the gameplay is compelling, have acquired the hardware and software you will need, and have acquired the necessary team, you are ready to see if you can actually develop the features you will need for the game.
In any game development, there are going to be those features that are high-risk; perhaps you need to be able to incorporate a special kind of collision detection, or you want your character to be able to fly around in the game environment. What happens if you spend three months developing your game and then discover in-game flight is impossible in the game engine you have selected, or you find that you don't have the coding talent to pull it off properly? Well then you may have just wasted three months of work. Without in-game flight, your levels will need to be redesigned for some kind of land travel, and many of your game mechanics will have to change as well. With that in mind, it makes sense to create rough prototypes for every high-risk feature in your game before you begin full-blown production. It is important to know where you stand with the high-risk features, and to have the ability to accurately estimate how long each phase of development will take.
Step 7: Establish the Game Art Pipeline
Getting the art into the game can be straightforward or mindboggling, depending on the game engine you decide to use, and the 3D modeling and animation software you are developing it in. It is critical at this stage to truly understand exactly how you will get all of the game art, including terrains, skyboxes, pickups, and especially rigged characters, into the game. Develop a system that works, and document it so that everyone necessary knows how it is done, to avoid confusion and time loss down the road.
Step 8: Develop or Acquire the Game Art
The game art can be a massive part of any game development effort. While we go into the process of developing game art at GameDev: Creating Game Art, there is also the option of acquiring the game art. Sites like Turbosquid regularly sell entire 3D cities, fully rigged 3D models, fully animated models, perhaps everything you need, potentially saving you an enormous amount of time. However, depending on how the game art was rigged and animated, you may still need to make changes in order for that art to come successfully into your game engine. Before investing in too much third-party game art, test to see how it is going to work out in the real world.
Step 9: Develop the Alpha Version
The next reasonable phase would be to create a working version of the game, where everything of importance works, though there may still be some rough edges and bugs. At this phase the the game art can still be simplistic or borrowed from stock characters, pickups, and landscapes.
This purpose of the Alpha version is to get the game out there in a playable format for testing. This will be the first time the game as a whole has been playable, from start to finish. This is a time not only for debugging, but to correct any last minute issues with design, playability, and interface.
Step 10: Develop the Beta Version
The beta version is the Alpha version, debugged, with finished game art. This version should be good enough for select members of the general public to play. There will still be bugs in this version, but they should not be so numerous that it is a frustration to test the game out.
Final Version
This version of the game is ready for distribution; it has been tested by numerous end-users, on all intended platforms, in as many situations as reasonably possible. Any significant bug fixes beyond this point can be distributed in either bug patches, or incorporated in subsequent releases.