Core Techniques and Algorithms in Game Programming

Author:   Daniel Sanchez-Crespo Dalmau
Publisher:   Pearson Education (US)
ISBN:  

9780131020092


Pages:   888
Publication Date:   25 September 2003
Format:   Paperback
Availability:   Out of stock   Availability explained


Our Price $145.17 Quantity:  
Add to Cart

Share |

Core Techniques and Algorithms in Game Programming


Add your own review!

Overview

To even try to keep pace with the rapid evolution of game development, you need a strong foundation in core programming techniques-not a hefty volume on one narrow topic or one that devotes itself to API-specific implementations. Finally, there's a guide that delivers! As a professor at the Spanish university that offered that country's first master's degree in video game creation, author Daniel Sanchez-Crespo recognizes that there's a core programming curriculum every game designer should be well versed in-and he's outlined it in these pages! By focusing on time-tested coding techniques-and providing code samples that use C++, and the OpenGL and DirectX APIs-Daniel has produced a guide whose shelf life will extend long beyond the latest industry trend. Code design, data structures, design patterns, AI, scripting engines, 3D pipelines, texture mapping, and more: They're all covered here-in clear, coherent fashion and with a focus on the essentials that will have you referring back to this volume for years to come.

Full Product Details

Author:   Daniel Sanchez-Crespo Dalmau
Publisher:   Pearson Education (US)
Imprint:   New Riders Publishing
Dimensions:   Width: 18.70cm , Height: 3.50cm , Length: 23.10cm
Weight:   1.377kg
ISBN:  

9780131020092


ISBN 10:   0131020099
Pages:   888
Publication Date:   25 September 2003
Audience:   College/higher education ,  Tertiary & Higher Education
Format:   Paperback
Publisher's Status:   Out of Print
Availability:   Out of stock   Availability explained

Table of Contents

Introduction. I. GAMEPLAY PROGRAMMING. 1. A Chronology of Game Programming. Phase I: Before Spacewar. Phase II: Spacewar to Atari. Phase III: Game Consoles and Personal Computers. Phase IV: Shakedown and Consolidation. Phase V: The Advent of the Game Engine. Phase VI: The Handheld Revolution. Phase VII: The Cellular Phenomenon. Phase VIII: Multiplayer Games. In Closing. 2. Game Architecture. Real-Time Software. The Game Logic Section. The Presentation Section. The Programming Process. In Closing. 3. Data Structures and Algorithms. Types, Structures, and Classes. Data Structures. The Standard Template Library. In Closing. 4. Design Patterns. Design Patterns Defined. Some Useful Programming Patterns. Usability Patterns. In Closing. 5. User Input. The Keyboard. Mouse. Joysticks. Hardware Abstraction. Force Feedback. In Closing. 6. Fundamental AI Technologies. Context. Structure of an AI System. Specific Technologies. In Closing. 7. Action-Oriented AI. On Action Games. Choreographed AIs. Object Tracking. Chasing. Evasion. Patrolling. Hiding and Taking Cover. Shooting. Putting It All Together. In Closing. 8. Tactical AI. Tactical Thinking Explained. Military Analysis: Influence Maps. Representing Tactics. In Closing. 9. Scripting. Building a Scripting Language. Embedded Languages. Socket-Based Scripting. In Closing. 10. Network Programming. How the Internet Really Works. The Programmer's Perspective: Sockets. Clients. A Simple TCP Server. Multiclient Servers. UDP Servers. Preventing Socket Blocks. Designing Client-Server Games. Massively Multiplayer Games. In Closing. II. ENGINE PROGRAMMING. 11. 2D Game Programming. On Older Hardware. Data Structures for 2D Games. Mapping Matrices. 2D Game Algorithms. Special Effects. In Closing. 12. 3D Pipeline Overview. A First Look. Fundamental Data Types. Geometry Formats. A Generic Graphics Pipeline. In Closing. 13. Indoors Rendering. General Analysis. Occluder-Based Algorithms. Binary Space Partition Algorithms. Portal Rendering. Hierarchical Occlusion Maps. Hybrid Approaches. Hardware-Assisted Occlusion Tests. In Closing. 14. Outdoors Algorithms. Overview. Data Structures for Outdoors Rendering. Geomipmapping. ROAM. Chunked LODs. A GPU-Centric Approach. Outdoors Scene Graphs. In Closing. 15. Character Animation. Analysis. Explicit Versus Implicit Methods. Explicit Animation Techniques. Implicit Animation Overview. Prop Handling. A Note on Vehicles. Limb Slicing. Facial Animation. Inverse Kinematics. Blending Forward and Inverse Kinematics. In Closing. 16. Cinematography. First-Person Shooters. Handling Inertia. Flight Simulators and Quaternions. Third-Person Cameras. Cinematic Cameras: Camera Styles. Cinematic Cameras: Placement Algorithms. Agent-Based Approaches. In Closing. 17. Shading. Real-World Illumination. Light Mapping. The BRDF. Nonphotorealistic Rendering. In Closing. 18. Texture Mapping. Types of Textures. Tiling and Decals. Filtering. Mipmapping. Texture Optimization. Multipass Techniques. Multitexture. Texture Arithmetic and Combination. Detail Textures. Environment Mapping. Bump Mapping. Gloss Mapping. In Closing. 19. Particle Systems. Anatomy of a Particle System. The Particle Data Structure. Some Notes on Architecture. Speed-Up Techniques. In Closing. 20. Organic Rendering. Nature and Complexity. Trees. Grass. Clouds. Oceans. In Closing. 21. Procedural Techniques. Procedural Manifesto. Renderman. Real-Time Shading Languages. Types of Shaders. Texture Mapping. Particle Systems. Animation. Special Effects. In Closing. 22. Geometrical Algorithms. Point Inclusion Tests. Ray Intersection Tests. Moving Tests. Point Versus Triangle Set Collision (BSP-Based). Mesh Versus Mesh (Sweep and Prune Approach). Computing a Convex Hull. Triangle Reduction. In Closing. III. APPENDICES. Appendix A: Performance Tuning. Analysis Techniques. Analysis Tools. General Optimization Techniques. Application. Efficient Data Transfer. Tuning the Geometry Pipeline. Tuning the Rasterizer Stage. Other Optimization Tools. In Closing. Appendix B: OpenGL. Philosophy. Basic Syntax. Immediate Mode Rendering. Transformations. Camera Model. Lighting. Texturing. Working in RGBA Mode. Display Lists. Vertex Arrays. OpenGL Extensions. Efficiency Considerations. Geometric Representation. In Closing. Appendix C: Direct3D. History. Booting Direct3D. Handling Geometry. Indexed Primitives. User Pointer Primitives. Efficient Geometry Delivery. Flexible Vertex Formats. Matrices, Cameras, and Transforms. Working with Texture Maps. Lighting. Render States. The Extension Library. Animation Helpers. In Closing. Appendix D: Some Math Involved. Distances. Trigonometry. Vector Math. Matrices. Appendix E: Further Reading. Part 1. Chronology Of Game Programming. Part 2. Game Architecture. Part 3. Data Structures and Algorithms. Part 4. Design Patterns. Part 5. User Input. Parts 6, 7I, and 8: Fundamental AI Technologies, Action-Oriented AI, and. Tactical AI. Part 9. Scripting. Part 10. Network Programming. Part 11. 2D Programming. Part 12. 3D Pipeline Overview. Part 13. Indoors Rendering. Part 14. Outdoors Algorithms. Part 15. Character Animation. Part 16. Inematography. Part 17. Shading. Part 18. Texture Mapping. Part 19. Particle Systems. Part 20. Organic Rendering. Part 21. Procedural Techniques. Part 22. Geometrical Algorithms. Appendix A: Performance Tuning. Appendix B: OpenGL. Appendix C: Direct3D. Appendix D: Some Math Involved. Index.

Reviews

Author Information

Daniel Sánchez-Crespo Dalmau is a professor at Pompeu Fabra University in Barcelona, Spain where he co-organized and serves as the current director of Spain's first Master's Degree in Video Game Creation. He also founded Novarama, an independent game studio in Barcelona that focuses on creating innovative games for the PC/Xbox platform. As a columnist he has been a frequent contributor to Byte Magazine Spain, Game Developer Magazine, and the Gamasutra web site, publishing more than 40 articles. Send comments about the book to him at dsanchez@novarama.com.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List