Chapter 1: Game Programming Overview


The development of a computer game is a truly unique production, combining a wide range of elements into what is hopefully an enjoyable experience for the end user. A typical game project involves programmers, artists, musicians, designers, and countless other positions that are necessary components for a successful venture. The first chapter of this book will guide you through the various positions, helping you understand why each of these is an integral part of the development process.

Once we finish this first chapter, we’ll move on to the second chapter, where we’ll discuss the creation of a design document. Subsequent chapters will begin the process of creating a first person shooter (FPS) and the various elements that are required for its construction. Every chapter will focus on a specific topic, and we’ll create the key components that will ultimately make up our final project.

The Key Positions in a Development Team

As was previously mentioned, a development project is made up several key positions, and without any of these, it would not be successful. That being said, depending on the size of your team, a single individual may be forced to wear many hats or in the case of the lone developer, all of the hats. That is, although all of the positions are required, a single individual may fill one or all of them.

Because the game industry is still in its infancy, it’s sometimes difficult to discuss the positions that make up a team. The type of game being produced definitely also has a profound effect on the required personnel. Every development project is arranged differently, and as the industry matures, more standard types of arrangements will certainly become common. Until that occurs, we are stuck trying to explain most of the potential positions.

Designer

Many development projects have a lead game designer who is responsible for the creation of the game script. The designer could be one of the most misunderstood of any of the key positions and is often left completely off the team. This leaves room for everyone from the producer to a programmer clamoring for the title.

It is the designer who makes many of the decisions related to the creation of important aspects such as puzzles or the levels in an FPS. Like a screenwriter for a movie, he is responsible for the overall feel of the game. Communication is a very important aspect of the job as he works with the other team members throughout the duration of a project.

In the beginning stages of a game, the designer spends most of his time focusing on writing short scripts and working on the beginning storyboard sketches. A typical storyboard displays the action of a game, albeit in a very simple manner. Depending on the basic talents of the designer, the storyboards may even include stick figures and basic shapes to convey their messages. They are a sort of rough draft that will later be transformed into the game itself.

After the decisions have been made on the game concepts, the designers begin working on a blueprint for the game, called a design document. The design document is discussed thoroughly in the next chapter as we begin working on our FPS. Simply put, the document details every aspect of a game and will evolve as the game is being developed.

Programmer

Game programmers are software developers who take the ideas, art, and music and combine them into a software project. Programmers obviously write the code for the game, but they may also have several additional responsibilities. For instance, if an artist is designing graphics for the game, the lead programmer could be responsible for the development of a custom set of tools for the creation of the graphics. It is also his job to keep everything running smoothly and to somehow figure out a way to satisfy everyone from the producer to the artists. Unlike the stereotype portrayed on many Web sites, books, or even movies, programmers usually don’t stroll into work at noon, work for a few hours, and then leave. The truth is, they often arrive earlier and leave later than anyone on the development team.

The programmer is responsible for taking the vast number of elements and combining them to form the executable program. He decides how fast a player can run and how high the player can jump. He is responsible for accounting for everything inside the virtual world. While doing all of this, programmers often will attempt to create software that can be reusable for other projects and spend a great deal of time optimizing the code to make it as fast as possible.

Sometimes, a given project may have several programmers who specialize in one key area such as graphics, sound, or artificial intelligence (AI). The following list details the various types of programmers and what they are primarily responsible for:

Engine or Graphics Programmers: They create the software that controls how graphics and animations are stored and ultimately displayed on the screen.

AI Programmers: They create a series of rules that determine how enemies or characters will react to game situations and attempt to make them act as realistically as possible.

Sound Programmers: A sound programmer will work with the audio personnel to create a realistically sounding environment.

Tool Programmers: As was previously mentioned, programmers will often write software for artists, designers, and sound designers to use within the development studio.

Audio-Related Positions

High-quality music and sound effects are an integral part in any gaming project and are something that many teams simply cannot afford to throw a great deal of money at. Having superb audio components such as music, sound, and voice can greatly enhance the total experience for the consumer. The opposite is also true, however, and music that is done poorly can be enough to keep people away from your product regardless of its other qualities. There are several individual positions that are usually filled with key audio personnel or perhaps a programmer or other team member, as needed.

Musician

When compared with the stress and long hours of the programmers, musicians are often at the other end of the workload. They have what amounts to the least work of any of the positions on the team. That’s not to imply that they don’t work hard, it’s just that there isn’t as much for them to do. They usually are responsible only for the music for a game, and while it’s an important job, it does not typically take a great deal of time if it’s compared with the other team members’ jobs. Because of the relatively short production times, musicians often have secondary work outside the gaming industry.

Sound Effects

Depending on the makeup of a team, a musician could be involved with the creation of the sound effects in a game. This can often make up for the lack of work that they have and help to keep the budgets down. Another route that many teams choose to follow is the purchase of pre-existing sound effects. There are many sound effect companies that distribute their work on CD-ROMs or the Internet, and many teams choose to alter these to their liking.

Artist

The artists are responsible for the creation of the graphics elements that make up a project. They often specialize in one area within a project, such as 3D graphics or 2D artwork such as textures. The artists usually have a set of specifications that are given to them by the programmer for the creation of the graphics. Unfortunately, artists and programmers often have many disagreements on these specifications. For instance, an artist might want to increase the polygon counts on a 3D model so that his work will look better, while a programmer may want to decrease these same counts to make the program run more smoothly.

Game artists have a variety of technical constraints imposed by the limitations of the hardware they are creating for. Although hardware continues to increase in speed and go down in cost, there is never enough power to satisfy a development project. Therefore, it is often the artists who are given the responsibility to create objects that work within the constraints.

Depending on the development team, there are three basic types of artists: character artists (or animators, as some prefer to be called), 3D modelers, and texture artists.

Character Artists

Character artists have one of the most demanding jobs on the team. They create all of the moveable objects in a game such as the main character, a spaceship, or a vehicle. It is their job to turn the preliminary sketches that are often discussed by the entire team into a believable object on a computer screen.

Using 3D modeling tools such as 3D Studio Max, TrueSpace, Maya, or Lightwave, the character artists use basic shapes and combine them to form the character. If you have never used a 3D-modeling program, you can think of it as a type of digital clay. Once created, the character is then skinned with a 2D graphic image that is made in another program.

The character artists are also responsible for the animation of the objects. They may be required to animate a horse, a human being, or a creature that previously existed only in someone’s mind. Character artists often look at real-world examples to get their ideas on how a character should move in certain situations. Depending on the type of game, they may have to create facial expressions or emotion as well.

It’s often the responsibility of a character artist to implement cut scenes in a game as well. Many artists enjoy the creation of the cut screens even more than the characters in the game. They have much greater freedom and are not restricted as to the number of polygons a certain object can have or the size of the object.

3D Modeler

The 3D modeler usually works on the settings in which a game takes place, such as a basketball arena or a Wild West wasteland. Background artists work hand in hand with the designer to create believable environments that work within the constraints of a game. Like character artists, they use a wide range of tools for their jobs, including both 2D and 3D graphics tools, although they usually model only static objects.

Texture Artist

The texture artist might be the best friend of the other artists. It is his job to take the work created by the modeler or character artist and add detail to it. For example, he could create a brick texture that, when added to a 3D box created by the modeler, creates the illusion of a pile of bricks. On the other hand, he could create a texture that looks like cheese, turning this same box into a block of cheese.

Producer

A producer oversees the entire project and attempts to keep everything moving along as smoothly as possible. He often acts as an arbitrator to help patch up any problems between team members. For instance, if an artist wants to increase the color palette and a programmer wants to decrease it, the producer often makes the final decision on these types of key issues.




Awesome 3d Game Development(c) No Programming Required
Awesome 3d Game Development: No Programming Required (Charles River Media Game Development)
ISBN: 1584503254
EAN: 2147483647
Year: 2006
Pages: 168

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net