If you find this article contains errors or problems rendering it unreadable (missing images or files, mangled code, improper text formatting, etc) please contact the editor so corrections can be made. Thank you for helping us improve this resource
Every gamer at one time or another wants to develop a game as big as the one they are playing. If you are not familiar with the game development community, it is very hard to find the resources you need and get familiar with the industry. If we have more informed beginners, the industry and, most of all, the independent game developing community, will thrive. After reading this article, my goal is that you will know what path you are going to try to take and how to take it successfully.
What would you like to do?
This part of the article is very important. Game development is a very hard business. Nights are missed, days are full and money is lost. If you are not doing something you are enjoying, there is no point in even starting. There are many different sections in game development. There is programming, art, music, design, managing. I made these categories very broad so you can research more on each section later.
Programming is, to me, what makes a game. It takes every other section and implements into a 'engine' which is made to support all parts of the game. Artificial intelligence is programmed, graphics are rendered, music and dialogue heard, numbers crunched and environments created and destroyed. Programming can take away your life or enhance it to the fullest. Money is definitely to be made in this black art of game development and these skills can be used (and should be) in programming out of game development.
Art can make or break a game just as much as programming. You must be creative, open-minded and willing to redo anything you have for the enjoyment of others. Art has many subcategories including, GUI (graphical user interface), 3D modeling (the actual characters, weapons, buildings and anything else you see), texture art (the 'textures' you see on these weapons which paint them) and animation (moving everything you have just seen in a realistic fashion).
Music is in the game development world to set the mood for games. If you were playing Metal Gear Solid and heard *NSync playing in the background, it sure would lose the tension it once had, wouldn't it? A musician or sound technician must also be creative and be able to create an environment just like the artists of the company will do.
Design may not take many technical skills but you must know the game industry and development process inside out to be good at this. Our lead designer/3D modeler at Silverlime Studios studies books/articles on game design, researches games and knows what to do in every situation to create a game that we hope will be original and show his designing talents. Design can be very fun but can also be a very stressful job that goes on without end. A typical design document is at least 50 pages long and describes every menu, mission, item and action along with every other game component. A good design document should get the whole development team excited about the game.
The tools you will need
If you are looking to be a programmer, you will definitely need a lot of books or be able to sit at the computer for hours at a time. The first thing you should get and be familiar with is a compiler/IDE which is where you will actually program the game in and compile it into a .exe file with resource files like models/music/icons. I recommend Visual C++ 6 from Microsoft. If you *really* hate Microsoft, there are other options like Codeplay's VectorC which is made specifically for game development.
There are two main ways to go when you are programming: the OpenGL and DirectX ways. For all the Microsoft haters out there, OpenGL is the way. OpenGL can also be the way if you don't want to learn all the Microsoft-specific code which can be a killer.
I personally use OpenGL to program, along with C++. I have never had the time or guts to learn MFC or anything I didn't learn while programming in DOS. There are many tutorials on the internet for those of us learning to master this language and this really helps.
Art can be a very expensive hobby when in game development. To develop a GUI, you will need a great 2D art program such as Adobe Photoshop v6.0. This costs $609.00 US currently but it is all that you need. I use Adobe Photoshop for all my 2D graphics development which I use for web design, GUI's and just when I want to be creative. If you want the free option, use Microsoft Paint, it doesn't produce as stunning graphics but does the job.
A great 3D modeling program used by almost all professionals is 3DS Max by Discreet Software. The software is very expensive but it is definitely the best out there. Discreet Software also makes a free 3D modeling program which is great for beginners called GMax. It is something to definitely look into and all you have to do is register.
Music is something I am less familiar with. You will need more hardware than with any other part of game development because sounds are recordings of sounds, with changes made using software. A good recording studio software package is key and will put you up at the top because having some great tools is a huge part of this profession.
For design, getting a word processor such as WordPad is good enough. You and your team should use a private forum to discuss ideas because it saves the data and allows for thoughtful posts.
The production process
You may be thinking that it is a bit too early to be mentioning this but it is great to know what is going to be happening before you get into it. The first job that will be really effective in the process is the designer(s). I am breaking the process down into steps, read on below:
The designers meet (over the internet or in person) and get a feel for the game
A design document is written
Explains every aspect of the game including menus, items, actions, the world etc.
Shown to all members of the project for review and editing
A final design doc should be written
2) Technical Document
All the programmers (and others, if necessary) should read the design document together
Explain what the engine is going to be like and how it is going to implement the design
All the code should be broken down so it is able to be easily understood
3) Engine Development
Programmers will be working very hard at this point
Program every important aspect of the game (graphics, sound, input, output, terrain etc.)
Usually called the 'framework', the first version should include everything for an alpha
Keep as bug free as possible and test everything one step at a time
4) Initial Art
A simple GUI should be created
Models needed for an alpha release created
Nothing needs to be 'final' art
These should prove what the engine can do
Excite the team even more (no screenshots on the internet, yet!)
Intro music to set the tone
Nothing final or time-consuming
Just create a semi-realistic world for the alpha
After the alpha release is perfected
Add most if not all levels of the world
Almost all final art should be completed
Sound should be complete or very close to completion
As bug free as possible
Release the beta publicly or privately for a beta release
Bugs should be able to be reported easily
Get skilled gamers and preferably people who know about the game dev. industry
8) Final Release
All bugs should be out
Everything perfected and the full team excited
Publisher contacted and ready for distribution, whether online or on shelves
This process takes most studios between 6 months and 3 years so do not try to rush it. Keep the team excited and working fairly hard at all time because if the team is not excited, they will not produce their best-possible work and the game will fall apart right before your eyes.
A step-by-step guide to your game development profession
I hope you have chosen your path to entering the game development industry. I have left some more confusing paths in the dark as to keep this simple for those of you like I was, just a while back. We all need something like this at one point or another.
Whether you make it as a programmer, designer, artist or sound technician, game development can be the best thing that has ever happened to you. There are great rewards and some great people and communities.
Each profession/hobby has its benefits and you will find those out. It is best to do this early so why not try them all. There will be one that you catch on to and, before you know it, you will be applying to a game development studio; whether it be a virtual development team or a giant game development studio in your city.