Summary: In this part, you will be introduced to what actual game developers put into making professional, commercial games. You will also be able to find some game engines based on the programming language used.
Each and every day, there is at least one person on gaming forums asking how to make games. They expect an easy answer, and they usually disappear after several people tell them that it’s too difficult to explain in a short paragraph. They head off to another forum in search of the easy way out, rather than doing things like the rest of us. They get programs, such as The 3D Gamemaker (which allows you to make games with a few clicks), then they call themselves “game developers” or “programmers”. Well, yes, but mostly no. Those people only placed instances and objects. Most do not actually make the objects, or program the events, therefore, they cannot be a “programmer”. If these people think that they will be able to make a game from scratch, they will be sadly mistaken when that time comes. The only job that would use the skills that is needed to use that program would be putting together the world (organization and whatnot). This is a very important job, do not get me wrong. The point I am trying to make is that you cannot expect you make a full game, if you can only use programs like that.
Commercial companies (Namco, Blizzard, Nintendo, Konami, Rockstar, etc.) put a lot of effort, time, and money into their work. They must work tight schedules and each individual is assigned a specific amount of tasks that must be completed by a deadline. To keep everyone on track, instead of monitoring each individual at a time, they bunch people in moderately sized groups, instead of hiring a bunch of people to monitor their work. This saves money and time (which is very precious to any business). Each group will work with itself to keep everyone on track, and to make sure that this is done, there sometimes is a system of rewards & punishments (it really depends on who’s running the program, what their budget looks like, how much money is left in the budget, and whatnot) to help encourage the team to keep on track (or finish early). Just to give you a glimpse at how much people they must hire, here’s a rather small list:
- Writes the storyline & establishes a foundation for their design for the artists.
- Storyboard Artists
- Makes a visual translation of the storyline.
- Character Designers
- Designs characters for the game
- Scene Designers
- Designs scenes that flow well with the overall art style.
- Character Modelers
- Models characters based on the design templates made by the character designers
- Scene Modelers
- Models the scene based on the the design templates provided by the scene designers.
- Texture Artists
- Makes textures to add to the realism
- Rigs characters and prepares the models for animation.
- Animates the rigged models.
- Programs everything from the speed and direction the character walks in, to health, and events. This is truly a very broad category. There are many different jobs a programmer is supposed to do.
- Composers/Sound Engineers
- Develops sound effects/music for the game.
- UI Designers
- Designs a User Interface for the game.
- They test the game, to help with bugs, difficulty, the flow of everything, and the overall feel.
- Game Engine Developers
- These are programmers that make the game engine if the company needs an engine that is different from the rest.
Again, this is only a very small list of people it takes for these companies to make a single game. Also, there are usually more than just one of each position. Now that we have a basic idea who it takes to make a game, we can now look at the process.
All games begin with a single idea. That idea is then put onto paper, and a story is formulated. From there, some rough character sketches are made based on the storyline, and a storyboard is established. Game engine developers develop the game engine. From there, scenes are created and modelers begin their work. When they are done modeling, the models are sent to texture artists that make the model look more like the original design. They then send the textured models to the riggers, who rig the objects that need to be animated and then it is sent to the animators. The animators animate the rigged objects, and when animation is complete, it can be sent to someone who will place the object in the game. This happens with all of the objects (including the scene).After this, programmers go in, making the character walk, punch, cast magic, pick up items, loose health, and so on. The UI designer puts together a UI for the game, and the programmers program it. Sound engineers/composers jump in at the later parts of development, and develop the music & sound in the game. The testers review the game, and give a full report on it, then it is sent back to development to iron out the bugs. It goes back to be tested and this process will go over and over until everything is perfect. After everything gets the ok, then they make a cd (or DVD). This disk will be sent to a manufacturer that will burn copies of it, place it inside of a case, along with any manuals/pamphlets.
Now, some companies do not make their own game engine. They will have to buy or download one. Here is a small list of the biggest engines that I know of:
- Unreal Engine 3 (it’s estimated to be at least $700,000 USD)
- Torque ( $295.00 for games with revinue under $250,000. $1,495.00 for companies with revinue over $250,000. $150/programmer for the basic version)
- OGRE3D (free!)
- 3D GameStudio ($98.12 for standard-basic, $196.24 for standard-pro, $343.42 commercial-basic, $735.90 commercial-pro)
- CrystalSpace 3D (free!)
- jMonkey Engine (free!)
This is only a small selection of the large amount of game engines out there. When looking for the ideal game engine, you must pay attention to what programming languages are supported in the game engine. If you are just starting out, I suggest that you start with python. It is much easier than other languages, and reminds me a lot of the BASIC programming language.
In this guide, I will be using the Blender game engine, which uses Python. If you are using another language (or another game engine, for that matter), then this does not mean that you will have to go somewhere else. The basic concept is the same. I will be teaching a little about modeling in blender, and there is an export feature in blender that allows you to export your mesh to many different file types. I will be showing how to animate your mesh as well. I will also be giving out some free textures, sounds, and .blend files!