Details

Algorithms and Networking for Computer Games


Algorithms and Networking for Computer Games


1. Aufl.

von: Jouni Smed, Harri Hakonen

76,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 11.07.2006
ISBN/EAN: 9780470029749
Sprache: englisch
Anzahl Seiten: 288

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

<i>Algorithms and Networking for Computer Games</i> is an essential guide to solving the algorithmic and networking problems of modern commercial computer games, written from the perspective of a computer scientist. Combining algorithmic knowledge and game-related problems, the authors discuss all the common difficulties encountered in game programming. <p>The first part of the book tackles algorithmic problems by presenting how they can be solved practically. As well as "classical" topics such as random numbers, tournaments and game trees, the authors focus on how to find a path in, create the terrain of, and make decisions in the game world. Part two introduces networking related problems in computer games and focuses on three key questions: how to hide the inherent communication delay, how to utilize limited network resources, and how to cope with cheating.</p> <p><i>Algorithms and Networking for Computer Games</i> provides a comprehensive resource that offers deeper algorithmic insight into game programming and explains game-specific network considerations. Read on for...</p> <ul> <li>Algorithmic solutions in pseudo code format, which not only emphasizes the idea behind the solution, but also can easily be written into the programming language of your choice.</li> <li>A section on the Synthetic player, covering decision-making, influence maps, finite-state machines, flocking, fuzzy sets and probabilistic reasoning.</li> <li>In-depth treatment of network communication including dead reckoning, local perception filters and cheating prevention.</li> <li>51 ready-to-use algorithms and 178 illustrative exercises.</li> </ul> <p><i>Algorithms and Networking for Computer Games</i> is a must-read text for advanced undergraduate and graduate students on computer game-related courses, postgraduate researchers in game-related topics, and game developers interested in new approaches and the theoretical background to games.</p>
<p>List of Figures xi</p> <p>List of Tables xv</p> <p>List of Algorithms xvii</p> <p>Preface xix</p> <p>Acknowledgements xxi</p> <p><b>1 Introduction 1</b></p> <p>1.1 Anatomy of Computer Games 3</p> <p>1.2 Synthetic Players 5</p> <p>1.2.1 Humanness 6</p> <p>1.2.2 Stance 6</p> <p>1.3 Multi-playing 7</p> <p>1.4 Games and Storytelling 8</p> <p>1.5 Other Game Design Considerations 9</p> <p>1.6 Outline of the Book 10</p> <p>1.6.1 Algorithms 11</p> <p>1.6.2 Networking 11</p> <p>1.7 Summary 11</p> <p>Exercises 12</p> <p><b>I Algorithms 15</b></p> <p><b>2 Random Numbers 17</b></p> <p>2.1 Linear Congruential Method 18</p> <p>2.1.1 Choice of parameters 20</p> <p>2.1.2 Testing the randomness 22</p> <p>2.1.3 Using the generators 24</p> <p>2.2 Discrete Finite Distributions 25</p> <p>2.3 Random Shuffling 27</p> <p>2.4 Creating GameWorlds 30</p> <p>2.4.1 Starmap generation 30</p> <p>2.4.2 Terrain generation 32</p> <p>2.5 Summary 38</p> <p>Exercises 41</p> <p><b>3 Tournaments 47</b></p> <p>3.1 Rank Adjustment Tournaments 50</p> <p>3.2 Elimination Tournaments 53</p> <p>3.3 Scoring Tournaments 60</p> <p>3.4 Summary 65</p> <p>Exercises 69</p> <p><b>4 Game Trees 73</b></p> <p>4.1 Minimax 74</p> <p>4.1.1 Analysis 77</p> <p>4.1.2 Partial minimax 78</p> <p>4.2 Alpha-Beta Pruning 82</p> <p>4.2.1 Analysis 84</p> <p>4.2.2 Principal variation search 86</p> <p>4.3 Games of Chance 86</p> <p>4.4 Summary 89</p> <p>Exercises 91</p> <p><b>5 Path Finding 97</b></p> <p>5.1 Discretization of the GameWorld 98</p> <p>5.1.1 Grid 99</p> <p>5.1.2 Navigation mesh 100</p> <p>5.2 Finding theMinimum Path 102</p> <p>5.2.1 Evaluation function 103</p> <p>5.2.2 Properties 104</p> <p>5.2.3 Algorithm A* 105</p> <p>5.3 Realizing the Movement 108</p> <p>5.4 Summary 109</p> <p>Exercises 110</p> <p><b>6 Decision-making 115</b></p> <p>6.1 Background 115</p> <p>6.1.1 Levels of decision-making 116</p> <p>6.1.2 Modelled knowledge 117</p> <p>6.1.3 Methods 119</p> <p>6.2 Finite State Machines 122</p> <p>6.2.1 Computational FSM 125</p> <p>6.2.2 Mealy and Moore machines 129</p> <p>6.2.3 Implementation 130</p> <p>6.2.4 Discussion 132</p> <p>6.3 Flocking .135</p> <p>6.4 Influence Maps 139</p> <p>6.5 Summary 142</p> <p>Exercises 143</p> <p><b>7 Modelling Uncertainty 149</b></p> <p>7.1 Statistical Reasoning 149</p> <p>7.1.1 Bayes’ theorem 149</p> <p>7.1.2 Bayesian networks 151</p> <p>7.1.3 Dempster–Shafer theory 152</p> <p>7.2 Fuzzy Sets 155</p> <p>7.2.1 Membership function 156</p> <p>7.2.2 Fuzzy operations 157</p> <p>7.3 Fuzzy Constraint Satisfaction Problem 159</p> <p>7.3.1 Modelling the criteria as fuzzy sets 161</p> <p>7.3.2 Weighting the criteria importances 163</p> <p>7.3.3 Aggregating the criteria 163</p> <p>7.3.4 Making a decision 164</p> <p>7.4 Summary 166</p> <p>Exercises 166</p> <p><b>II Networking 169</b></p> <p><b>8 Communication Layers 171</b></p> <p>8.1 Physical Platform 173</p> <p>8.1.1 Resource limitations 173</p> <p>8.1.2 Transmission techniques and protocols 174</p> <p>8.2 Logical Platform 175</p> <p>8.2.1 Communication architecture 175</p> <p>8.2.2 Data and control architecture 176</p> <p>8.3 Networked Application 178</p> <p>8.4 Summary 179</p> <p>Exercises 180</p> <p><b>9 Compensating Resource Limitations 183</b></p> <p>9.1 Aspects of Compensation 184</p> <p>9.1.1 Consistency and responsiveness 184</p> <p>9.1.2 Scalability 187</p> <p>9.2 Protocol Optimization 190</p> <p>9.2.1 Message compression 190</p> <p>9.2.2 Message aggregation 191</p> <p>9.3 Dead Reckoning 191</p> <p>9.3.1 Prediction 191</p> <p>9.3.2 Convergence 193</p> <p>9.4 Local Perception Filters 196</p> <p>9.4.1 Linear temporal contour 199</p> <p>9.4.2 Adding bullet time to the delays 202</p> <p>9.5 Synchronized Simulation 205</p> <p>9.6 Area-of-interest Filtering 205</p> <p>9.7 Summary 209</p> <p>Exercises 209</p> <p><b>10 Cheating Prevention 213</b></p> <p>10.1 Technical Exploitations 214</p> <p>10.1.1 Packet tampering 214</p> <p>10.1.2 Look-ahead cheating 215</p> <p>10.1.3 Cracking and other attacks 220</p> <p>10.2 Rule Violations 221</p> <p>10.2.1 Collusion 221</p> <p>10.2.2 Offending other players 223</p> <p>10.3 Summary 224</p> <p>Exercises 224</p> <p><b>A Pseudo-code Conventions 229</b></p> <p>A.1 Changing the Flow of Control 232</p> <p>A.1.1 Expressions 233</p> <p>A.1.2 Control structures 234</p> <p>A.2 Data Structures 237</p> <p>A.2.1 Values and entities 237</p> <p>A.2.2 Data collections 237</p> <p>A.3 Format of Algorithms 242</p> <p>A.4 Conversion to Existing Programming Languages 244</p> <p>Bibliography 247</p> <p>Ludography 255</p> <p>Index 257</p>
"Indispensable for game theorist or game developers…highly recommended." (<i>CHOICE</i>, February 2007) <p>"…I recommend this book for game developers, students, researchers, and specialists in game programming." (<i>Computing Reviews.com</i>, December 8, 2006)</p>
<b>Jouni Smed</b> is currently a researcher and lecturer in Department of Information Technology, University of Turku, Finland.  His research concentrates on computer games, optimization, and scheduling algorithms. <p><b>Harri Hakonen</b> is a researcher and lecturer in the department of Information Technology, University of Turku.  His research interests include algorithms for computer games, string algorithmics, and software construction.</p>
<i>Algorithms and Networking for Computer Games</i> is an essential guide to solving the algorithmic and networking problems of modern commercial computer games, written from the perspective of a computer scientist. Combining algorithmic knowledge and game-related problems, the authors discuss all the common difficulties encountered in game programming.  <p>The first part of the book tackles algorithmic problems by presenting how they can be solved practically.  As well as “classical” topics such as random numbers, tournaments and game trees, the authors focus on how to find a path in, create the terrain of, and make decisions in the game world.  Part two introduces networking related problems in computer games and focuses on three key questions: how to hide the inherent communication delay, how to utilize limited network resources, and how to cope with cheating. </p> <p><i>Algorithms and Networking for Computer Games</i> provides a comprehensive resource that offers deeper algorithmic insight into game programming and explains game-specific network considerations. Read on for…</p> <ul> <li>Algorithmic solutions in pseudo code format, which not only emphasizes the idea behind the solution, but also can easily be written into the programming language of your choice.</li> <li>A section on the Synthetic player, covering decision-making, influence maps, finite-state machines, flocking, fuzzy sets and probabilistic reasoning.</li> <li>In-depth treatment of network communication including dead reckoning, local perception filters and cheating prevention.</li> <li>51 ready-to-use algorithms and 178 illustrative exercises.</li> </ul> <p><i>Algorithms and Networking for Computer Games</i> is a must-read text for advanced undergraduate and graduate students on computer game-related courses, postgraduate researchers in game-related topics, and game developers interested in new approaches and the theoretical background to games.</p>

Diese Produkte könnten Sie auch interessieren:

Bandwidth Efficient Coding
Bandwidth Efficient Coding
von: John B. Anderson
EPUB ebook
114,99 €
Digital Communications with Emphasis on Data Modems
Digital Communications with Emphasis on Data Modems
von: Richard W. Middlestead
PDF ebook
171,99 €
Bandwidth Efficient Coding
Bandwidth Efficient Coding
von: John B. Anderson
PDF ebook
114,99 €