Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Game Programming Algorithms and Techniques

A Platform-Agnostic Approach

E-book Engels 2013 9780133463224
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

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

Specificaties

ISBN13:9780133463224
Taal:Engels
Bindwijze:e-book

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

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

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Game Programming Algorithms and Techniques