If you want to, you will be able to take this book and a computer, go into a room without Internet access, and emerge with a completed, ready-to-play first-person shooter game within weeks. You will then be able to spend as much time as you want to dream up your game play concepts, and you will have the ability to add them to your game.
You might think this is a bold claim, but you can see for yourself. Go ahead and turn to the Table of Contents, or take a quick flip-through skim of the chapters. It's all there. If you follow through and do the exercises and work, you will arrive at the other end of the journey with experience, not just book learnin'.
Computer games are a $9 billion per year industry. A growing part of this industry is people like you—part of a growing segment of the gamer population that doesn't just want to play the games but believes that you can make them better than the game companies can. Your problem may be that you lack the right combination of training, experience, and tools needed to turn your dreams into reality. This book is for you.
Every year more and more colleges offer game development programs, and every few months a new online indie game developer site launches on the Web. There is no lack of training available for those with the money to pay, and there is no lack of books for those of you who want to create your own engines or other specialized parts of a game.
The key element missing is a resource that takes the inspired and aspiring game developer by the hand and walks him through all the steps and tools required to make a fully featured game. This book is that resource. With the exception of game music composition (which itself could be a complete book series), you, the Gentle Reader, will learn how to create every part of the game yourself by using a well-defined toolkit of programs, knowledge, skills, and ideas. Sound, music, art, and code libraries are included on the companion CD for you to use if you lack a certain artistic or creative flair.
I assume that you have more than a passing familiarity with computer games, especially the first-person shooter genre. Throw in some computer savvy, add a reasonably capable computer system, sprinkle with desire, and you should be good to go!
You are probably fully able to deal with all aspects of Microsoft Windows–based computing. You don't need to be a programmer, but you do need to be aware that some programming will be required in creating a computer game. The first few chapters will introduce you to all the programming concepts that you will encounter in the course of using the book. You will not be expected to learn advanced 3D math in detail, but you will learn enough 3D math to accomplish your goals.
I'm going to show you how to create your own artwork, but you don't need to be an artist. The companion CD features a large collection of art you can use in your game.
All of the development tools, including the engine, are also included on the companion CD. All of these tools are priced such that even though the shareware version may be included on the CD, the actual registered versions are less than $100.
You will need a Windows-based computer to use this book. (The table below outlines the minimum system requirements.) It is possible for Macintosh and Linux users to use this book to create a game, because the game engine used—Torque—is also available for those platforms. However, not all of the required development tools are available on Mac and Linux, so the book's focus will be on Windows on Intel.
System Requirements | |
---|---|
Processor | Pentium II/500MHz minimum |
Operating System | Windows 98/ME/2000/XP |
Video Card | 3D graphics accelerated video card, NVidia GeForce 2–32MB equivalent or better |
Display | 17-inch recommended |
Input Devices | keyboard and mouse |
Memory | 128MB minimum with 256MB recommended |
Hard Disk | 4GB minimum |
In this book we are going to look at all aspects of game development, a journey from first principles to the completed game.
We are going to take a look at various aspects of the game industry to give you the opportunity to see where you might fit in and what sort of opportunities there are. We'll also examine the elements of a 3D game, game design issues, and game genres.
Next, you'll be introduced to the programming concepts that you will need to understand in the course of using the book. You will see how to structure program code, create loops, call functions, and use globally and locally scoped variables. We'll use a subset of an object-oriented programming language called Torque Script, which is built into the Torque Engine. Hands-on sample programs that you can try are available on the companion CD. We'll move on to examining the 3D concepts that you will need to understand some of the more sophisticated activities later in the book. This will provide a foundation for both the programming and the modeling tasks that you will take on later.
Once you've been powered up with sufficient knowledge and understanding of the main concepts in 3D game development, we'll get into using the Torque Engine in detail. You will learn how to handle client/server programming, how to control the player-character, how to send messages between players, how to create and control AI bots, and much more. Concepts will be presented with exercises and sample programs, which are available on the CD. Although we will cover some of the more intricate low-level workings of the Torque Engine in order to understand it better, it's important to realize that as an independent game developer you'll benefit more from mastering the higher-level functions that utilize the engine for us, so you can worry about other stuff—like game play. Without game play, you won't have a game.
Next, the book will show you everything you need to know about game textures: how to create them, how to modify and manipulate them, and how to use them in the game. The coverage is comprehensive; all of the texture types and their uses are discussed: skins, tiles, terrain, skyboxes, height maps, GUI widgets, and more. You will be guided through exercises in creating each of the texture types. A library of textures is available on the companion CD to fill in any gaps in your texture needs.
Then we get to the meat of a 3D game—the models. In these chapters we will be delving into the world of low-poly modeling. We'll talk about the general principles involved in ways that can be applied to other tools, such as the expensive 3D MAX or Maya. But the practical focus will be geared toward using MilkShape, UVMapper, and other low-cost tools that are included on the companion CD.
I will show you the various model types, such as polygon-rendered or CSG models. You will create models for all aspects of the game in the exercises: player-characters, vehicles, weapons, powerups, decorations or clutter, buildings, and structures. You will walk through each step in the creation of the different model types so that you can create your own unique game look, if you want. All of the models in these chapters, plus many more, are available on the companion CD to round out your model library.
After modeling, you will encounter the icing on the game cake: sound and music. You will discover how to select, create, and modify sounds for use in your game. You will also get some advice about selecting musical themes and how to integrate music into your game.
After picking up the required programming skills, and learning how to use the art creation and modeling tools, you will learn how to knit all the parts together to create a game, populate your game world, and then test and troubleshoot your game. Finally, we look at where you can go with your shiny new 3D game developer's toolkit of ideas, knowledge, skills, and software tools.
The companion CD contains quite a few resources. Following is a quick description. For more detail, check the appendixes.
The book's CD contains all of the Torque Script source code in sample form and final form. The samples will be aligned with the exercises in each chapter. The scripts for the final completed game will be included in its own directory tree. The game will be usable immediately upon installation from the CD so that you can have an instant and extensive preview of what is to come.
The CD will contain the complete Torque Game Engine with its executable, DLLs, and all required GUI and support files. It is a fully featured game engine that includes advanced networking capabilities, blended animations, built-in server-side anticheat capabilities, BSP support, a strong and complete object-oriented C++-like scripting language, and many other advanced features.
The following shareware tools are included on the CD:
MilkShape 3D for 3D player and item modeling
QuArK for 3D interior modeling
Paint Shop Pro for texture and image manipulation
Audacity for sound editing and recording
UVMapper to perform UV unwrapping tasks
UltraEdit-32 as the text or programming editor
The CD also includes a few extras that aren't mentioned in the book or that are only briefly touched on:
Retail games created with Torque: Orbz, ThinkTanks, Marble Blast, Chain Reaction
Additional image and audio libraries
Open Source utility source code