The Computer Game Industry


The computer game industry is somewhat different than other high-tech fields. The business operates more like Hollywood than traditional commercial or industrial software development; there are properties, producers, artists, and distributors. This industry has its own celebrities. It is quite a bit more informal and relaxed than other high-tech fields in many ways but is quicker paced with a higher burnout rate. There are independent game developers, or indies, and big-name studios, but the computer game industry tends to be more entrepreneurial in spirit.

Just as in the motion picture industry, an indie developer is one that is not beholden to other businesses in their industry that can direct their efforts. Indies fund their own efforts, although they sometimes can get funding from outside sources, like a venture capitalist (good luck finding one). The key factor that makes them independent is that the funding does not come from downstream industry sources that would receive the developer's product, like a major game development house, publisher, or distributor.

Indies sell their product to distributors and publishers after the product is complete, or nearly so. If a developer creates a product under the direction of another company, they are no longer independent.

A good measure of the "indie-ness" of a developer is the answer to the following two questions:

  • Can the developer make any game he wants, in whatever fashion he wants?

  • Can the developer sell the game to whomever he wants?

If the answer is "yes" in both cases, then the developer is an indie.

Of course, another strong similarity with movies is that, as I pointed out earlier, games are typically classified as belonging to different genres.

3D Game Genres and Styles

Game development is a creative enterprise. There are ways to categorize the game genres, but I want you to keep in mind that while some games fit each genre like a glove, many others do not. That's the nature of creativity. Developers keep coming up with new ideas; sometimes they are jockeying for an advantage over the competition and sometimes they are just scratching an itch. At other times, calculating marketing departments decide that mixing two popular genres is a surefire path to a secure financial future.

The first rule of creative design is that there are no rules. If you are just scratching an itch, then more power to you. If you are looking to make a difference in the gaming world, you should at least understand the arena. Let's take a look at the most common 3D genres around today and a few that are interesting from a historical perspective. When you are trying to decide what sort of game you want to create, you should try understanding the genres and use them as guides to help focus your ideas.

It's important to note that all of the screen shots in this chapter are of games by indie game developers. Some of the games are currently being shipped as retail games, and some are still in development. Almost all of them use the same Torque Game Engine we will use in this book to develop our own game.

By no means is this a definitive list; there are many genres that don't exist in the 3D gaming realm, and the number of ways of combining elements of genres is just too large to bother trying to enumerate. If you take pride in your creativity, you might resist attempts to pigeonhole your game idea into one of these genres, and I wouldn't blame you. When trying to communicate your ideas to others, however, you will find it useful to use the genres as shorthand for various collections of features, style, and game play.

Action Games

Action games come in several forms. The most popular are the First-Person Point-of-View (1st PPOV) games, where your player-character is armed, as are your opponents. The game play is executed through the eyes of your character. These sorts of games are usually called First-Person Shooter (FPS) games. Game play variations include Death Match, Capture the Flag, Attack & Defend, and King-of-the-Hill. Action games often have multiplayer online play, where your opponents are enemies controlled by real people instead of by a computer. Success in FPS games requires quick reflexes, good eye-hand coordination, and an intimate knowledge of the capabilities of your in-game weapons. Online FPS games are so popular that some games have no single-player game modes.

Some action games are strictly 3rd PPOV, where you view your player-character, or avatar, while also viewing the rest of the virtual world your avatar inhabits (see Figure 1.1).

click to expand
Figure 1.1: Think Tanks—a 3rd PPOV action game made by BraveTree Productions using the Torque Game Engine.

Half-Life 2, Rainbow Six, and Delta Force: Blackhawk Down are popular examples of FPS-style action games.

Adventure Games

Adventure games are basically about exploring, where player-characters go on a quest, find things, and solve puzzles. The pioneering adventure games were text based. You would type in movement commands, and as you entered each new area or room, you would be given a brief description of where you were. Phrases like "You are in a maze of twisty passages, all alike" are now gaming classics. The best adventure games play like interactive books or stories, where you as the player decide what happens next, to a certain degree.

Text adventures evolved into text-based games with static images giving the player a better idea of his surroundings. Eventually these merged with 3D modeling technology. The player was then presented with either a first-or third-person point of view of the scene his character was experiencing.

Adventure games are heavily story based and typically very linear. You have to find your way from one major accomplishment to the next. As the story develops, you soon become more capable of predicting where the game is going. Your success derives from your ability to anticipate and make the best choices.

Some well-known examples of adventure games are The King's Quest series, The Longest Journey, and Syberia.

Online adventure games have not really come into their own yet, although some games are emerging that might fit the genre. They tend to include elements of FPS action games and Role-Playing Games (RPGs) to fill out the game play, because the story aspect of the game is more difficult to accomplish in an online environment. Players advance at different speeds, so a monolithic linear story line would become pretty dreary to a more advanced player. An example of an online action-adventure-FPS hybrid game is Tubettiworld (see Figure 1.2), being developed by my all-volunteer team at Tubetti Enterprises.

click to expand
Figure 1.2: Tubettiworld—an action-adventure FPS hybrid game being developed by Tubetti Enterprises using the Torque Game Engine.

Role-Playing Games

Role-playing games are very popular; that popularity can probably find its roots in our early childhood. At younger than age six or seven, we often imagined and acted out exciting adventures inspired by our action figures and other toys or children's books. As was also true for strategy games, the more mature forms of these games first evolved as pen-and-paper games, such as Dungeons & Dragons.

These games moved into the computer realm with the computer taking on more of the data-manipulation tasks of the game masters. In role-playing games, the player is usually responsible for the development of his game character's skills, physical appearance, loyalties, and other characteristics. Eventually the game environment moved from each player's imaginations onto the computer, with rich 3D fantasy worlds populated by visually satisfying representations of buildings, monsters, and creatures (see Figure 1.3). RPGs are usually science fiction or fantasy based, with some historically oriented games being popular in certain niches.

click to expand
Figure 1.3: Myrmidon—a science fiction RPG, another Torque-based game, being developed by 21-6 Productions.

Maze and Puzzle Games

Maze and puzzle games are somewhat similar to each other. In a maze game you need to find your way through a "physical" maze in which your routes are defined by walls and other barriers. Early maze games were 2D, viewed from the top; more recent ones play more like 3D adventure or FPS games.

Puzzle games are often like maze games but with problems that need to be solved, instead of physical barriers, to find your way through.

Mazes also make their appearance in arcade pinball-style games such as Marble Blast (see Figure 1.4) by GarageGames. It is a maze-and-puzzle hybrid game where you compete against the clock in an effort to navigate a marble around physical barriers. The puzzle aspect lies in determining the fastest (though not necessarily the most direct) route to the finish line.

click to expand
Figure 1.4: Marble Blast—a maze-and-puzzle hybrid game by GarageGames using its Torque Game Engine.

Puzzle games sometimes use puzzles that are variations of the shell game or that are more indirect problem-solving puzzles where you must cause a series of things to happen in order to trigger some further action that lets you advance. Many puzzle games utilize direct problem-solving modes where the puzzle is presented visually. You then need to manipulate on-screen icons or controls in the correct sequences to solve the problem. The best puzzles are those where the solution can be deduced using logic. Puzzles that require pure trial-and-error problem-solving techniques tend to become tedious rather quickly. A historic example of a puzzle game is The Incredible Machine series by Dynamix. The latest variation of this type is the new game Chain Reaction by Monster Studios (see Figure 1.5).

click to expand
Figure 1.5: Chain Reaction—a puzzle game by Monster Studios using its Reaction Engine.

Simulator Games

The goal of a simulator (or sim) game is to reproduce a real-world situation as accurately as possible. The measure of the simulation accuracy is usually called its fidelity. Most simulators put a heavy emphasis on the fidelity of the visual appearance, sounds, and physics of the game.

The point is total immersion in the game environment, so that you get the feeling you are actually there. You may be flying a jet fighter or driving a thoroughbred Grand Prix racing car. The game mirrors the real-life experience to the maximum the developers can manage.

Simulators usually require specialized input devices and controllers, such as aircraft joysticks and rudder pedals. Many simulator enthusiasts build complete physical cockpit mockups to enhance the immersion experience.

Falcon 4, Grand Prix Legends, and Center World (see Figure 1.6) are examples of simulator games.

click to expand
Figure 1.6: Center World—a submarine sim in development by Michael Hense, an independent game developer, using the Torque Game Engine.

Sports Games

Sports games are a variation of the simulator class of games in which the developer's intent is to reproduce the broad experience of the game as accurately as possible. You can participate in a sports game at various levels and watch the action play out in a realistic 3D environment (see Figure 1.7).

click to expand
Figure 1.7: Maximum Football—a football sports game in development by David A. Winter, an independent game developer.

Unlike the action-oriented flight and driving simulators, sports games usually have a manager or season angle. While playing the game, you can also take on the role of coach, owner, or team manager. You can execute draft picks and trades or groom new players like any major league ball organization would. In a modern sports simulator you could be managing budgets, and you might play or race a regular year's schedule, playing in different stadiums or arenas or racing on different tracks.

Strategy Games

Strategy games began as pen-and-paper games, like war games, that have been around for centuries. As computer technology evolved, computer-based tables and random-number generators replaced the decision-making aspects of strategy games traditionally embodied by lookup charts and dice rolls.

Eventually the tabletop battlefields (or sandbox battlefields) with their cardboard markers or die-cast military miniatures moved into the computers as well. The early tabletop games were usually turn based: Each player would in turn consider his options and issue "orders" to his units. Then he would throw the dice to determine the result of the orders. The players would then modify the battlefield based upon the results. After this, the players would observe the new shape of the battlefield and plot their next moves. The cycle then repeated itself.

The advent of computer-based strategy games brought the concept of real time to the forefront. Now the computer determines the moves and results and then structures the battlefield accordingly. This has given birth to the Real-Time Strategy (RTS) genre. It does this on a time scale that reflects the action. Sometimes the computer will compress the time scale, and other times the computer will operate in real time, where one minute of time in the game action takes one minute in the real world. The player issues orders to his unit as he deems them to be necessary. Recently, strategy games have moved into the 3D realm, where players can view the battlefield from different angles and perspectives as they plot their next moves (see Figure 1.8).

click to expand
Figure 1.8: Turf—a 3D real-time multiplayer strategy game in development by Tubetti Enterprises, using a heavily modified version of the Torque Game Engine.

There are strategy games that exist outside the world of warfare. Some examples include business strategy games and political strategy games. Some of these games are evolving into strategic simulations, like the well-known SimCity series of games.

Game Platforms

This book is about computer games written for personal computers. There are three dominant operating systems: Microsoft Windows, Linux, and Mac OS. For some of these systems there are quite a few different flavors, but the differences within each system are usually negligible, or at least manageable.

Another obvious game platform type is the home game console, such as the Sony PlayStation or the Nintendo GameCube. These are indeed important, but because of the closed nature of the development tools and the expensive licenses required to create games for them, they are beyond the scope of this book.

Other game platforms include Personal Digital Assistants (PDAs), such as palm-based computers, and cell phones that support protocols that permit games to be played on them. Again, these platforms are also beyond the scope of this book.

Now that those little disclaimers are out of the way, let's take a closer look at the three game platforms of interest. It's important to note that by using the Torque Game Engine, you will be able to develop what amounts to a single code base for a game that you can ship for all three platforms:Windows, Linux, and Macintosh!

Windows

Windows has various historical versions, but the current flavors are Windows 2000, Windows XP, and the specialized Windows CE. In this book the expectation will be that you are developing on or for a Windows XP target system, because that is the version that Microsoft is now selling to the home computer market.

start sidebar
Some Popular Retail 3D Games and Their Genres

If you are still unclear about what a particular genre is about, take a look at the following table. It is a list of current "big-name" game titles (including one or two that are not yet released). Be aware that you may find a Web site or magazine somewhere that classifies these games in a slightly different way. That's cool—don't worry about it.

Game

Publisher

Genre

Age of Empires

Microsoft

Strategy

Battlefield 1942

Electronic Arts

Action-FPS

Civilization III

MicroProse

Strategy

Command & Conquer

Electronic Arts

RTS

Delta Force: Blackhawk Down

Novalogic

Action-FPS

Diablo

Blizzard

RPG

Doom III

Activision

Action-FPS

Duke Nukem Forever

Gathering of Developers

Action-FPS

Dungeon Siege

Microsoft

Action-RPG

Enter the Matrix

Infogrames

Action-FPS

Everquest

Sony

RPG

Grand Theft Auto: Vice City

Rockstar Games

Action-Sim

Half Life 2

Sierra

Action-FPS

Homeworld

Sierra

RTS

Medal of Honor: Allied Assault

Electronic Arts

Action-FPS

Myst III: Exile

UbiSoft

Adventure

PlanetSide

Sony

Action-FPS

Rainbow Six 3: Raven Shield

UbiSoft

Action-FPS

Return to Castle Wolfenstein

Activision

Action-FPS

SimCity 4

Electronic Arts

Strategy-Sim

Star Trek Elite Force 2

Activision

Action-FPS

Star Wars Jedi Knight 3

LucasArts

Action-FPS

Syberia

Microids

Adventure

The Longest Journey

Funcom

Adventure

Tom Clancy's Splinter Cell

UbiSoft

Action-FPS

Unreal II: The Awakening

Infogrames

Action-FPS

Unreal Tournament 2003

Infogrames

Action-FPS

WarCraft III: Reign of Chaos

Blizzard

RTS

end sidebar

Within Windows XP, we will be using OpenGL and Direct3D as our low-level graphics Application Programming Interfaces (APIs). These APIs provide a means for our engine to access the features of the video adapters in our computers. Both OpenGL and Direct3D provide basically the same services, but each has its own strengths and weaknesses. With Torque you will have the choice of letting your end users use either API.

OpenGL's greatest strength lies in its availability with different computer systems. An obvious benefit is that the developer can create a game that will work on most computers. OpenGL is an open-source product. In a nutshell, this means that if there is a particular capability you want that OpenGL lacks, you can get access to the OpenGL source code and rebuild it the way you want. This assumes you have the skills, time, and tools necessary to get the job done, but you can do it.

DirectX is proprietary—it is the creation and intellectual property of Microsoft Corporation. Its biggest advantage is that it tends to support more features than OpenGL, and the 3D video adapter manufacturers tend to design their hardware to work with DirectX as much as they can. With DirectX you get a much more complete and the most advanced feature set. Unfortunately, you are limited to Windows-based systems if you put all your eggs in the DirectX basket.

The Torque Game Engine uses both APIs and gives you a rather straightforward set of techniques to set up your game with either. This means that in a Windows version of your game, you can offer your users the option of using the API that best suits their video adapter.

Linux

For most people, the single most important reason to use Linux is the price—it's free. You may have to pay to get a distribution of Linux on CD with manuals at a store, but you are paying for the cost of burning the CD, writing and printing the manuals, and distribution. You don't have to pay for the operating system itself. In fact, you can download Linux from many different locations on the Internet.

As a game developer, you will have a threefold interest in targeting Linux:

  • Linux is a growing marketplace, and any market that is growing is a good target. Although the market is growing, it is still smaller than the Windows market. The place where Linux is growing is in universities, colleges, and other postsecondary institutions—and this is probably where your best computer gaming audience is.

  • There are few computer games available for Linux desktops; most developers focus on Windows because it is the biggest market. If you ship a game for Linux, you will be a bigger fish in a smaller ocean. That gets you exposure and a reputation that you can build on. And that's nothing to sneeze at.

  • Linux offers a more configurable and secure environment for unattended Internet game servers. Linux servers can be run in a console mode that requires no fancy graphics, buttons, or mice. This allows you to utilize slower computers with less memory for servers and still get the computing power you need for your game server.

Unlike other operating systems, Linux comes in a variety of flavors known as distributions. There are many ongoing arguments about the merits of one distribution or another. Some of the more popular distributions are Red Hat, SuSE, Mandrake, Turbolinux, Debian, and Slackware. Although they may be organized differently in some cases and each has its own unique graphical look and feel, they are all based on the same kernel. It is the kernel that defines it as Linux.

Macintosh

The Macintosh is used a great deal in art-related fields and in the art departments of many businesses. Although the price point might not be as good as Linux (where the OS and most software is free), the Macintosh operating system is typically more accessible to the less tech-savvy users among us.

As with Linux, there has also traditionally been a dearth of computer games available for the Mac. So the big fish–small ocean factor applies here as well. Go ahead and make a splash!

Note

One minor disadvantage of working with cross-platform software like Torque is the issue of naming conventions. In this book, wherever possible, I will head off the potential conflicts with a note that will cast a particular naming approach in stone for the duration of this book.

An example that will probably become obvious pretty quickly is the concept of directories or folders. The latter is shorter and easier to type, and the term will be used often. To save my editors the hassle, I will use folders. If you are a directories person, please just play along, okay?

Game Developer Roles

In the context of the game we will develop during our journey together through this book, you will wear all of the different game developer hats. The thing to remember is that oftentimes the lines between the roles will blur, and it might be hard to tell which hat you are wearing. So wear them all. Many indies wear multiple hats throughout the life of a game project, so it's just as well to get used to it!

Producer

A game producer is essentially the game project's leader. The producer will draw up and track the schedule, manage the people who do the hands-on development work, and manage the budget and expenditures. The producer may not know how to make any part of a game at all, but he is the one person on a game project who knows everything that is happening and why.

It's the producer who needs to poke the other developers in the ribs when they seem to be lagging. The producer needs to be aware when different members of the team are in need of some tool, knowledge, or resource and arrange to provide the team members with what they need.

Sometimes producers just need to spray a liberal dose of Ego-in-a-Can to refresh a despondent developer who keeps smashing into the same brick wall over and over while the clock ticks down.

The producer will also be the interface for the team to the rest of the world, handling media queries, negotiating contracts and licenses, and generally keeping the big noisy bothersome world off the backs of the development team.

Designer

If you are reading this, I have no doubt that you want to be a game designer. And why not? Game designers are like fun engineers—they create fun out of their imaginations. As a game designer, you will decide the theme and rules of the game, and you will guide the evolution of the overall feel of the game. And be warned—it had better be fun!

There are several levels of designers: lead designer, level designer, designer-writer, character designer, and so on. Large projects may have more than one person in each design role. Smaller projects may have only one designer or even a designer who also wears a programmer's or artist's hat! Or both!

Game designers need to be good communicators, and the best ones are great collaborators and persuaders. They need to get the ideas and concepts out of their heads and into the heads of the rest of the development team. Designers not only create the concept and feel of the game as a whole, but also create levels and maps and help the programmers stitch together different aspects of the game.

The lead designer will put together a design document that lays out all the aspects of the game. The rest of the team will work from this document as a guide for their work. A design document will include maps, sketches of game objects, plot devices, flow charts, and tables of characteristics. The designer will usually write a narrative text that describes how all of these parts fit together. A well-written and thorough game design completely describes the game from the player's perspective.

Unlike the producer, a designer needs to understand the technical aspects of the game and how the artists and programmers do what they do.

Programmer

Game programmers write program code that turns game ideas, artwork, sound, and music into a fully functional game. Game programmers control the speed and placement of the game artwork and sound. They control the cause-and-effect relationships of events, translating user inputs through internal calculations into visual and audio experiences.

There can be many different specializations in programming. In this book you will be doing a large amount of programming of game rules, character control, game event management, and scoring. You will be using Torque Script to do all these things.

For online game programming, specialization may also be divided between client code and server code. It is quite common to specify character and player behavior as a particular programmer specialty. Other specialty areas might be vehicle dynamics, environmental or weather control, and item management.

Other programmers on other projects might be creating parts of the 3D game engine, the networking code, the audio code, or tools for use with the engine. In our specific case these specializations aren't needed because Torque looks after all of these things for us. We are going to focus on making the game itself.

Visual Artist

During the design stages of development, game artists draw sketches and create storyboards to illustrate and flesh out the designers' concepts. Figure 1.9 demonstrates a conceptual design sketch created by a visual artist, and used by the development team as a reference for modeling and programming work. Later they will create all the models and texture artwork called for by the design document, including characters, buildings, vehicles, and icons.

click to expand
Figure 1.9: Conceptual design sketch.

The three principal types of 3D art are models, animations, and textures.

  • 3D modelers design and build player-characters, creatures, vehicles, and other mobile 3D constructs. In order to ensure the game gets the best performance possible, model artists usually try to make the least complex model that suits the job. A 3D modeler is very much a sculptor working with digital clay.

  • Animators make those models move. The same artist quite often does both modeling and animation.

  • Texture artists create images that are wrapped around the constructs created by 3D modelers. Texture artists take photographs or paint pictures of various surfaces for use in these texture images. The texture is then wrapped around the objects in question in a process called texture mapping. Texture artists help the 3D modelers reduce the model complexity by using highly detailed and cleverly designed textures. The intent is to fool the eye into seeing more detail than is actually there. If a 3D modeler molds a sculpture in digital clay, the texture artist paints that sculpture with digital paint.

Audio Artist

Audio artists compose the music and sound in a game. Good designers work with creative and inspired audio artists to create musical compositions that intensify the game experience.

Audio artists work closely with the game designers, determining where the sound effects are needed and what the character of the sounds should be. Audio artists often spend quite a bit of time experimenting with sound-effect sources, looking for different ways to generate the precise sound needed. Visit an audio artist at work and you might catch him slapping rulers and dropping boxes in front of a microphone. After capturing the basic sound, an audio artist will then massage the sound with sound-editing tools to vary the pitch, to speed it up or slow it down, to remove unwanted noise, and so on. It's often a tightrope walk, balancing realistic sounds with the need to exaggerate certain characteristics in order to make the right point in the game context.

Quality Assurance Specialist

Quality Assurance (QA) is a somewhat fancy name for testing. The general field of QA is more extensive than that, of course, but in the game business game testers take the brunt of the QA load. The purpose of testing is to ensure that a finished game is really finished, with as few bugs or problems as humanly possible. QA testing requires the quality assurance specialist, or game tester, to play each part of a game, trying to smooth out all glitches and bugs.

Most of the problems QA testing will find are visual or behavioral: text that doesn't correctly wrap on an edge, characters that don't jump correctly, or a level that has buildings misplaced. Testing can find game play problems; these are usually related more to the design than the programming. An example could be that the running speed of a player might not be fast enough to escape a particular enemy when it should be more than fast enough.

QA specialists need to be methodical in order to increase the chances of finding a bug. This might mean replaying a certain part of a game many times to the point of boredom. QA specialists need to be able to communicate well in order to write useful and meaningful bug reports.

Publishing Your Game

You can self-publish, of course. Whip up a Web site, add a shopping cart system, get your site added to various search engines, and sit back to wait for the dough to roll in, right? Well, it might work.

If you really think you have the next killer game and want it to sell, however, you need to hook up with someone who knows what they are doing. That would be a publisher. If you are an independent game developer, you will probably have difficulty attracting the attention of the big-name publishers. They usually know what they are looking for, are normally only interested in developers with proven track records, and probably already know whom they want to deal with anyway.

But all is not lost—there are options available for the indie. The one I recommend is GarageGames (http://www.garagegames.com). Besides offering competitive publishing terms for indie developers, GarageGames also created the Torque Game Engine, which it has graciously agreed to allow me to include on the CD for this book. Torque is the technology behind the popular and successful Tribes series of games. I'm going to help you learn how to use Torque as an enormous lever in creating your game.

But wait—there's more! If you really need to, you can buy a license from GarageGames for the Torque Game Engine that will give you (under the terms of the license) all of the source code for the engine, so you can turn any game dream into a reality—for only $100! That's a hundred bucks for full access to the inner workings of an award-winning AAA 3D game engine. As Neo would say, "Whoa!"

I have no qualms about suggesting that you go to GarageGames. They are the guys behind the Tribes franchise, which is now owned by Sierra. They know their stuff, but they are not some big faceless corporate entity. They're basically a handful of guys who've made their splash in the corporate computer game industry, and now they're doing their level best to help the independent game developers of the world make their own splashes.

And no, they aren't paying for this book!




3D Game Programming All in One
3D Game Programming All in One (Course Technology PTR Game Development Series)
ISBN: 159200136X
EAN: 2147483647
Year: 2006
Pages: 197

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