How many times have you spent countless hours completely absorbed in conquering the latest role-playing game? Want to experience the thrill of creating your own captivating role-playing game? This book is your guide to doing just that. Covering everything that you need to create a role-playing game--working with graphics and combat engines, handling players, and making your game multiplayer-capable--this book provides a detailed look at the essential components of role-playing games. It begins with helpful information on story line development and design issues specific to role-playing games and then progresses to programming basics and RPG-specific gaming code. Finally, wrap up your project with valuable tips for promoting, marketing, and publishing your game.
Author(s): Jim Adams
Series: Game development
Edition: 1
Publisher: Premier Press
Year: 2002
Language: English
Pages: 1105
Contents......Page 11
Foreword......Page 37
Introduction......Page 40
Part One: An Introduction to Role-Playing Games......Page 44
CHAPTER 1 A WORLD OF ROLE-PLAYING......Page 46
A Story of Role-Playing......Page 47
The Concepts of Role-Playing......Page 49
The Evolution of Gaming......Page 55
Wrapping Up with a Look into the Future......Page 60
Part Two: Role-Playing Game Design......Page 62
CHAPTER 2 EXPLORING RPG DESIGN ELEMENTS......Page 64
General Game Design Issues......Page 65
RPG Design Aspects......Page 74
Turning to the Technical Side......Page 75
Knowing Your Role......Page 76
Wrapping Up Design......Page 77
CHAPTER 3 STORY-WRITING ESSENTIALS......Page 78
The Art of Telling Stories......Page 79
The Writing Process......Page 89
Tips for Better Stories......Page 95
Applying Stories to Games......Page 99
Wrapping Up Stories......Page 103
Part Three: Programming Basics......Page 104
CHAPTER 4 STARTING WITH C++......Page 106
Introducing C++......Page 107
Moving from C to C++......Page 108
Classes......Page 121
Wrapping Up C++......Page 139
CHAPTER 5 PROGRAMMING WITH WINDOWS AND APPLICATION BASICS......Page 140
Programming with Windows......Page 142
DirectX......Page 175
Understanding the Program Flow......Page 177
Modular Programming......Page 179
States and Processes......Page 180
Handling Application Data......Page 187
Building an Application Framework......Page 191
Debugging Your Program......Page 198
Wrapping Up Windows and Application Basics......Page 200
CHAPTER 6 DRAWING WITH DIRECTX GRAPHICS......Page 202
The Heart of 3-D Graphics......Page 203
Getting Started with DirectX Graphics......Page 211
The Math of 3-D......Page 221
Getting Down to Drawing......Page 227
Using Texture Maps......Page 245
Alpha Blending......Page 254
Lighting......Page 260
Using Fonts......Page 270
Billboards......Page 274
Particles......Page 276
Depth Sorting and Z-Buffering......Page 280
Working with Viewports......Page 283
Working with Meshes......Page 284
Wrapping Up Graphics......Page 302
CHAPTER 7 INTERACTING WITH DIRECTINPUT......Page 304
Introducing Input Devices......Page 305
Using DirectInput......Page 311
Employing DirectInput Devices......Page 314
Using DirectInput with the Keyboard......Page 326
Using DirectInput with the Mouse......Page 328
Using DirectInput with Joysticks......Page 330
Wrapping Up Input......Page 334
CHAPTER 8 PLAYING SOUND WITH DIRECT AUDIO......Page 336
Sound Basics......Page 337
Using DirectSound......Page 341
Working with DirectMusic......Page 372
Finishing Up Sound......Page 392
CHAPTER 9 NETWORKING WITH DIRECTPLAY......Page 394
Understanding Networking......Page 395
Introducing DirectPlay......Page 400
Initializing a Network Object......Page 407
Using Addresses......Page 410
Using Message Handlers......Page 417
Configuring Session Information......Page 419
Working with Servers......Page 421
Working with Clients......Page 434
Wrapping Up Networking......Page 440
CHAPTER 10 CREATING THE GAME CORE......Page 442
Understanding the Core Concept......Page 443
The System Core......Page 444
The Graphics Core......Page 453
The Input Core......Page 479
The Sound Core......Page 484
The Network Core......Page 497
Wrapping Up the Game Core......Page 505
Part Four: Role-Playing Game Programming......Page 508
CHAPTER 11 USING 2-D GRAPHICS......Page 510
Understanding Tiles and Maps......Page 511
Using Tiles with DirectX......Page 513
A Basic Tile Engine......Page 526
Angled Tile Engine......Page 540
Big Bitmap Engines......Page 541
Wrapping Up 2-D Graphics......Page 543
CHAPTER 12 CREATING 3-D GRAPHICS ENGINES......Page 544
Meshes as Levels......Page 545
Introducing the Viewing Frustum......Page 550
Developing an Advanced 3-D Engine......Page 560
Adding 3-D Objects to the World......Page 584
Collision Detection with Meshes......Page 586
Using Sky Boxes......Page 596
Wrapping Up 3-D Graphics......Page 603
CHAPTER 13 MIXING 2-D AND 3-D GRAPHICS ENGINES......Page 604
Mixing the Two Dimensions......Page 605
Using 2-D Objects in a 3-D World......Page 606
Adding 3-D Objects to a 2-D World......Page 611
Wrapping Up Mixed Engines......Page 619
CHAPTER 14 Implementing Scripts......Page 622
Understanding Scripts......Page 623
Creating a Mad Lib Script System......Page 625
Working with the MLS Editor......Page 646
Executing Mad Lib Scripts......Page 649
Wrapping Up Scripting......Page 654
CHAPTER 15 Defining and Using Objects......Page 656
Defining Objects for Your Game......Page 657
The Master Item List......Page 669
Managing Items with Inventory Control Systems......Page 674
Wrapping Up Objects and Inventory......Page 693
CHAPTER 16 Controlling Players and Characters......Page 696
Players, Characters, and Monsters, Oh My!......Page 697
Navigating Characters......Page 711
Conversation among Characters......Page 726
Scripting and Characters......Page 738
Resource Management......Page 744
Working with Magic and Spells......Page 746
Combat and Characters......Page 765
Building the Master Character List......Page 772
Creating a Character Controller Class......Page 778
Demonstrating Characters with the Chars Demo......Page 800
Wrapping Up Characters......Page 802
CHAPTER 17 WORKING WITH MAPS AND LEVELS......Page 804
Placing Characters on the Map......Page 805
Using Map Triggers......Page 809
Blocking the Path with Barriers......Page 831
Using Auto Maps......Page 840
Wrapping Up Maps and Levels......Page 859
CHAPTER 18 CREATING COMBAT SEQUENCES......Page 862
Designing External Combat Sequences......Page 863
Developing the Combat Sequence......Page 867
Wrapping Up Combat Sequences......Page 884
CHAPTER 19 GETTING ONLINE WITH MULTIPLAYER GAMING......Page 886
Maddening Multiplayer Mayhem......Page 887
Multiplayer Game Design......Page 888
Creating a Multiplayer Game Architecture......Page 892
Working with Game Servers......Page 900
Working with Game Clients......Page 929
Wrapping Up Multiplayer Gaming......Page 948
Part Five: The Finishing Touches......Page 950
CHAPTER 20 PUTTING TOGETHER A FULL GAME......Page 952
Designing the Sample Game......Page 953
Programming the Sample Game......Page 971
Wrapping Up Creating Games......Page 1008
CHAPTER 21 MARKETING AND PUBLISHING YOUR GAME......Page 1010
Submitting Your Game......Page 1011
Communicating with Companies......Page 1015
Considering Which Publishers to Contact......Page 1017
Do-It-Yourself Publishing......Page 1019
Wrapping Up Marketing and Publishing......Page 1022
Looking Back......Page 1023
What’s Next?......Page 1024
Part Six: Appendixes......Page 1026
APPENDIX A: SETTING UP DIRECTX 8.0 AND CONFIGURING THE COMPILER......Page 1028
Setting Up DirectX 8.0......Page 1029
Setting Up the Compiler......Page 1032
APPENDIX B: GETTING HELP ON THE WEB......Page 1038
Flipcode......Page 1039
Steve Jackson Games......Page 1040
www.excite.com/games/role_playing......Page 1041
APPENDIX C: RECOMMENDED READING......Page 1042
Dungeons & Dragons 3rd Edition Player’s Handbook......Page 1043
Multiplayer Game Programming......Page 1044
The Zen of Direct3D Game Programming......Page 1045
APPENDIX D: GLOSSARY......Page 1046
APPENDIX E: WHAT'S ON THE CD......Page 1060
DirectX 8.0 SDK......Page 1061
MilkShape 3D 1.56 Demo......Page 1062
trueSpace5 Demo......Page 1063
A......Page 1064
B......Page 1065
C......Page 1066
D......Page 1071
F......Page 1075
G......Page 1077
I......Page 1078
L......Page 1079
M......Page 1080
N......Page 1085
P......Page 1086
R......Page 1088
S......Page 1089
T......Page 1092
V......Page 1096
W......Page 1097
Z......Page 1098