Game Programming Algorithms and Techniques
Home > Computing and Information Technology > Computer programming / software engineering > Games development and programming > Game Programming Algorithms and Techniques: A Platform-Agnostic Approach
Game Programming Algorithms and Techniques: A Platform-Agnostic Approach

Game Programming Algorithms and Techniques: A Platform-Agnostic Approach

|
     0     
5
4
3
2
1




International Edition


About the Book

Game Programming Algorithms and Techniques is a detailed overview of many of the important algorithms and techniques used in video game programming today. Designed for programmers who are familiar with object-oriented programming and basic data structures, this book focuses on practical concepts that see actual use in the game industry. Sanjay Madhav takes a unique platform- and framework-agnostic approach that will help develop virtually any game, in any genre, with any language or framework. He presents the fundamental techniques for working with 2D and 3D graphics, physics, artificial intelligence, cameras, and much more. Each concept is illuminated with pseudocode that will be intuitive to any C#, Java, or C++ programmer, and has been refined and proven in Madhav’s game programming courses at the University of Southern California. Review questions after each chapter help solidify the most important concepts before moving on. Madhav concludes with a detailed analysis of two complete games: a 2D iOS side-scroller (written in Objective-Cusing cocos2d) and a 3D PC/Mac/Linux tower defense game (written in C# using XNA/ MonoGame). These games illustrate many of the algorithms and techniques covered in the earlier chapters, and the full source code is available at gamealgorithms.net. Coverage includes Game time management, speed control, and ensuring consistency on diverse hardware Essential 2D graphics techniques for modern mobile gaming Vectors, matrices, and linear algebra for 3D games 3D graphics including coordinate spaces, lighting and shading, z-buffering, and quaternions Handling today’s wide array of digital and analog inputs Sound systems including sound events, 3D audio, and digital signal processing Fundamentals of game physics, including collision detection and numeric integration Cameras: first-person, follow, spline, and more Artificial intelligence: pathfinding, state-based behaviors, and strategy/planning User interfaces including menu systems and heads-up displays Scripting and text-based data files: when, how, and where to use them Basics of networked games including protocols and network topology

Table of Contents:
Preface xv 1 Game Programming Overview 1 Evolution of Video Game Programming 2 The Game Loop 5 Time and Games 9 Game Objects 13 Summary 15 Review Questions 16 Additional References 16 2 2D Graphics 19 2D Rendering Foundations 20 Sprites 22 Scrolling 30 Tile Maps 35 Summary 39 Review Questions 39 Additional References 39 3 Linear Algebra for Games 41 Vectors 42 Matrices 58 Summary 62 Review Questions 62 Additional References 63 4 3D Graphics 65 Basics 66 Coordinate Spaces 67 Lighting and Shading 76 Visibility 85 World Transform, Revisited 88 Summary 91 Review Questions 92 Additional References 92 5 Input 93 Input Devices 94 Event-Based Input Systems 99 Mobile Input 105 Summary 108 Review Questions 108 Additional References 109 6 Sound 111 Basic Sound 112 3D Sound 115 Digital Signal Processing 119 Other Sound Topics 122 Summary 124 Review Questions 125 Additional References 125 7 Physics 127 Planes, Rays, and Line Segments 128 Collision Geometry 130 Collision Detection 134 Physics-Based Movement 148 Physics Middleware 153 Summary 154 Review Questions 154 Additional References 155 8 Cameras 157 Types of Cameras 158 Perspective Projections 161 Camera Implementations 164 Camera Support Algorithms 175 Summary 178 Review Questions 178 Additional References 178 9 Artificial Intelligence 179 “Real” AI versus Game AI 180 Pathfinding 180 State-Based Behaviors 192 Strategy and Planning 198 Summary 200 Review Questions 200 Additional References 202 10 User Interfaces 203 Menu Systems 204 HUD Elements 207 Other UI Considerations 217 Summary 221 Review Questions 222 Additional References 222 11 Scripting Languages and Data Formats 223 Scripting Languages 224 Implementing a Scripting Language 229 Data Formats 235 Case Study: UI Mods in World of Warcraft 239 Summary 241 Review Questions 241 Additional References 242 12 Networked Games 243 Protocols 244 Network Topology 250 Cheating 255 Summary 257 Review Questions 257 Additional References 258 13 Sample Game: Side-Scroller for iOS 259 Overview 260 Code Analysis 262 Exercises 267 Summary 268 14 Sample Game: Tower Defense for PC/Mac 269 Overview 270 Code Analysis 273 Exercises 284 Summary 285 A Answers to Review Questions 287 Chapter 1: Game Programming Overview 288 Chapter 2: 2D Graphics 289 Chapter 3: Linear Algebra for Games 290 Chapter 4: 3D Graphics 291 Chapter 5: Input 292 Chapter 6: Sound 294 Chapter 7: Physics 295 Chapter 8: Cameras 295 Chapter 9: Artificial Intelligence 296 Chapter 10: User Interfaces 298 Chapter 11: Scripting Languages and Data Formats 299 Chapter 12: Networked Games 300 B Useful Tools for Programmers 303 Debugger 304 Source Control 309 Diff and Merging Tools 312 Issue Tracking 313 Index 315


Best Sellers


Product Details
  • ISBN-13: 9780321940155
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison-Wesley Educational Publishers Inc
  • Height: 228 mm
  • No of Pages: 352
  • Spine Width: 17 mm
  • Weight: 574 gr
  • ISBN-10: 0321940156
  • Publisher Date: 07 Jan 2014
  • Binding: Paperback
  • Language: English
  • Returnable: N
  • Sub Title: A Platform-Agnostic Approach
  • Width: 178 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Game Programming Algorithms and Techniques: A Platform-Agnostic Approach
Pearson Education (US) -
Game Programming Algorithms and Techniques: A Platform-Agnostic Approach
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Game Programming Algorithms and Techniques: A Platform-Agnostic Approach

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!