Résumé
Learn techniques and secrets of online game technology!
Multiplayer Game Programming is the first technical guide to enable you to write a complete Internet-ready video game using DirectX® 8. The first part of the book covers the history of online gaming, the architecture of multiplayer games, basic networking, and an introduction to Visual C++® and Windows® programming. After you cover the basics, you'll move on to sockets, DirectPlay,® Direct3D,® DirectAudio,® and DirectInput® programming, as well as multiplayer game design. Whether you are new to game programming, or you have extensive game programming experience but want to break into the multiplayer phenomenon, this book is for you. Multiplayer Game Programming teaches you the skills necessary to create interactive, online games!
What's on the CD:- Microsort® DirectX® 8 Software Development Kit
- Evaluation Version of Fastgraph®/Light 6.0
- Trial Versions of Microsoft® MechWarriorTM 4: Vengeance and Microsoft® Crimson SkiesTM
- Source code from the book
- CuteFTP
- WinZip®
Contents
Foreword
Letter from the Series Editor
Introduction
Part I: Understanding the Technology
Chapter 1: Sup, Wait! It's the History of Online
Gaming!
Your Name Will Be MUD
Modem-to Modem Games
The Appeal of RTS Games
Ultima Online
EverQuest
Starsiege Tribes
Asheron's Call
Review
Chapter 2: Understanding the Magic
Game Loops
Inside the Game Loop
Peer-to-Peer Games
Backgrounds and Layering
Animation and Frames
Blitting
Collision Detection
What about the Third Dimension?
Chapter 3: Introduction to Network
Communication
Network Theory
Local Area Networks
Server Architecture
Ideal Packet Size
Part II: Sockets-Based Network Programming
Chapter 4: Writing Your First Network
Programs
Overview of the SocketObject Class
SocketObject Class Sample Code
Getting Started with the Compiler
Writing and Compiling the Code
Running the Server and Client Programs
Examining the Code
Writing the SendDataTest Program
Running the SendDataTest Program
Walking through the SendDataTest Code
Writing the SimpleChat Program
Running the SimpleChat Program
Walking through the SimpleChat Code
Chapter 5: Creating a Sockets Class Object
C++ Classes in All Their Glory
Get to the Point Already!
The Socket() Function
The C Version of Binding
The C++ Version of Binding
The C++ Version of Listening
The C++ Version of Accepting a Client Connection
The C++ Version of Establishing a Connection
The Send() Function
The C++ Version of Sending Data
The C Version of Receiving Data
Receiving Data with C++
Chapter 6: Introduction to Windows
Programming
A Brief History of Time According to Gates
Windows 1.0-2.0
Windows 3.1-3.11
Windows 95
Windows 98
Windows 2000 and Others
What Is a Window anyway?
Events That Don't Even Require a Ticket
How to Make Sense of Windows Code
Why It's a Bad Thing
A Little Compromise
Handling Window Messages and Events
The Complete Code Listing
Communicating with Threads
Thread Synchronization with Mutexes
Creating a thread Using CreateThread()
Closing a thread Properly
Chapter 7: Practical Window Programming
Setting Up the Visual C++ Project
Creating the Hello World Program
Creating a Child Window
The SendMessage() Function
Review
Part III: It's All About DirectX, Baby!
Chapter 8: What the Heck Is DirectPlay
Anyway?
DirectPlay, the Equalizer
Game Sessions
IDirectPlay8Address Functions
Components of an Address
Processing Messages
Hosting a Peer-to-Peer Session
Joining a Peer-to-Peer Session
Chapter 9: Chatting with DirectPlay
Creating the Project Space
The Main Project File
Chapter 10: Lions and Clients and Servers, Oh
My!
The Wicked Server of the West
The IDirectPlay8Server Interface
The IDirectPlay8Address Interface
Hosting the Session
Managing Players
Receiving Client Messages
The hrSendServerMessage() Function
Sending Messages to the Server
Chapter 11: DirectX Graphics
What Is Direct3D?
Software Emulation
Texture Mapping
Mip-Mapping
Gouraud and Flat Shading
Multiple Hardware Lights
Hardware Acceleration
Page Flipping
Z-Buffers
Fog
The WinMain() Function
The hrlnit3D() Function
The vRenderScene() Function
The vCleanup() Function
The D3DXVECTOR3 Data Type
The vSetupView() Function
Chapter 12: Inside Direct3D Rendering
Polygons
Line Lists
Line Strips
Triangle Lists
Triangle Strips
Triangle Fans
The Globals
The WinMainO Function
The hrInit3D() Function
The vInitGeometry() Function
The vSetupView() Function
The vRenderScene() Function
The vCleanup() Function
The vInitGeometry() Changes
The vRenderScene() Changes
The vCleanup() Changes
How to Create Hardware Lighting
The XFileLoader Header
Loading the X-File
Rendering the X-File
The Dynamic Message Loop
Reading the Arrow Keys
The Rotation Matrix
Chapter 13: Now Showing, DirectInput and
DirectAudio!
Using a Keyboard with DirectInput
The DirectinputKeyboard Project
The DIK_Read Project
The IDirectMusicPerformance8 Interface
The IDirectMusicSegment8 Interface
The hrInitDirectAudio() Function
Cleaning Up DirectAudio
The hrLoadSound() Function
The hrPlaySound() Function
Cleaning Up the Segment
Chapter 14: SpacePirates: Your First Complete
Game
SpacePirates:The Game Design
The Game Objects
Non-Synchronization
The 3D Object Class
The vInitializeObjects() Function
The hrInitializeDirectPlay() Function
The hrInit3D() Function
The hrBuildDeviceList() Function
The hrInitDirectInput() Function
The hrInitKeyboard() Function
The vInitGeometry() Function
The vSetupView() Function
The vCreateLights() Function
The vInitSoundEngine() Function
Movement Keys
Updating the Game
Updating the Remote Players
Rendering the Scene
Part IV: Developing Online Worlds
Chapter 15: MMORPG Design and
Implementation
Game Architecture
Every Player Is a Hero
Player Communities
The Good, the Bad, and the PK
Player Advancement
Item Ownership
Internet Connection
Server Layout
Server Security
Player Validation
Dynamic Patching
Client Portability
The User Interface
Chapter 16: Writing the RPGQuest Game
Server
The Game Project Space
Program Structure
Processing Player Messages
Calculating the Time of Day
Updating the Players
Chapter 17: Writing the RPGQuest Game
Client
The Project Space
The SoundSystem Class Files
Loading the 3D Data
Lighting the Scene
Setting the Camera Position
Setting the Client's Time of Day
Rendering the Scene
Handling DirectSound
Processing Incoming Messages
Player Synchronization
Part V: Appendixes
Appendix A: Game-Development Resources
Gaming Sites
Development Sites
Product Sites
Magazines
Appendix B: Installing the Software
Installing the DirectX 8 SDK
Configuring the Microsoft Visual C++ Compiler
Appendix C: ASCII Chart
Appendix D: What's On the CD
Index
L'auteur - André LaMothe
holds degrees in mathematics, computer science, and electrical engineering. He is the author of the best-selling books Tricks of the Game Programming Gurus, Teach Yourself Game Programming in 21 Days, and the Black Art of 3D Game Programming. Andre has also written numerous articles in Game Developer, Byte, Software Developer, and Circuit Cellar.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Prima Publishing |
Auteur(s) | John Cunningdham, André LaMothe |
Parution | 01/06/2001 |
Nb. de pages | 784 |
Format | 18,8 x 23 |
Couverture | Broché |
Poids | 1350g |
Intérieur | Noir et Blanc |
EAN13 | 9780761532989 |
ISBN13 | 978-0-7615-3298-9 |
Avantages Eyrolles.com
Nos clients ont également acheté
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse