Algorithms and networking for computer games

List of Figures. List of Tables. List of Algorithms. Preface. Acknowledgements. 1. Introduction. 1.1 Anatomy of Computer Games. 1.2 Synthetic Players. 1.3 Multi-playing. 1.4 Games and Storytelling. 1.5 Other Game Design Considerations. 1.6 Outline of the Book. 1.7 Summary. Exercises. I: Algorithms. 2. Random Numbers. 2.1 Linear Congruential Method. 2.2 Discrete Finite Distributions. 2.3 Random Shuffling. 2.4 Creating GameWorlds. 2.5 Summary. Exercises. 3. Tournaments. 3.1 Rank Adjustment Tournaments. 3.2 Elimination Tournaments. 3.3 Scoring Tournaments. 3.4 Summary. Exercises. 4. Game Trees. 4.1 Minimax. 4.2 Alpha-Beta Pruning. 4.3 Games of Chance. 4.4 Summary. Exercises. 5. Path Finding. 5.1 Discretization of the GameWorld. 5.2 Finding theMinimum Path. 5.3 Realizing theMovement. 5.4 Summary. Exercises. 6. Decision-making. 6.1 Background. 6.2 Finite StateMachines. 6.3 Flocking. 6.4 InfluenceMaps. 6.5 Summary. Exercises. 7. Modelling Uncertainty. 7.1 Statistical Reasoning. 7.2 Fuzzy Sets. 7.3 Fuzzy Constraint Satisfaction Problem. 7.4 Summary. Exercises. II: Networking. 8. Communication Layers. 8.1 Physical Platform. 8.2 Logical Platform. 8.3 Networked Application. 8.4 Summary. Exercises. 9. Compensating Resource Limitations. 9.1 Aspects of Compensation. 9.2 Protocol Optimization. 9.3 Dead Reckoning. 9.4 Local Perception Filters. 9.5 Synchronized Simulation. 9.6 Area-of-interest Filtering. 9.7 Summary. Exercises. 10. Cheating Prevention. 10.1 Technical Exploitations. 10.2 Rule Violations. 10.3 Summary. Exercises. A. Pseudo-code Conventions. A.1 Changing the Flow of Control. A.2 Data Structures. A.3 Format of Algorithms. A.4 Conversion to Existing Programming Languages. Bibliography. Ludography. Index.

[1]  Mauro Birattari,et al.  Swarm Intelligence , 2012, Lecture Notes in Computer Science.

[2]  Jianxin Yan Security for online games , 2003 .

[3]  Bernard Suits,et al.  The Grasshopper: Games, Life and Utopia , 1978 .

[4]  Fred Charles,et al.  Interactive Storytelling: From Computer Games to Interactive Stories , 2001 .

[5]  Bedrich Benes,et al.  Autonomous boids , 2006, Comput. Animat. Virtual Worlds.

[6]  Kar-Han Tan,et al.  High Precision Formation Control of Mobile Robots Using Virtual Structures , 1997, Auton. Robots.

[7]  Timo Kaukoranta,et al.  AIsHockey—A Platform for Studying Synthetic Players , 2002 .

[8]  Hong Chen,et al.  Effects of Local-Lag Mechanism on Task Performance in a Desktop CVE System , 2005, Journal of Computer Science and Technology.

[9]  Glenn Shafer,et al.  Perspectives on the theory and practice of belief functions , 1990, Int. J. Approx. Reason..

[10]  Pierre L'Ecuyer,et al.  Efficient and portable combined random number generators , 1988, CACM.

[11]  Craig W. Reynolds Flocks, herds, and schools: a distributed behavioral model , 1987, SIGGRAPH.

[12]  Bruce Abramson,et al.  Control strategies for two-player games , 1989, CSUR.

[13]  Anthony Steed,et al.  An Implementation of a First-Person Game on a Hybrid Network , 2008 .

[14]  C. D. Walter Algorithmics–The spirit of computing , 1988 .

[15]  Rémi Coulom,et al.  Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search , 2006, Computers and Games.

[16]  Randal W. Beard,et al.  A control scheme for improving multi-vehicle formation maneuvers , 2001, Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148).

[17]  Dinesh C. Verma The Peer‐to‐Peer Architecture , 2004 .

[18]  T. Anthony Marsland,et al.  Parallel Search of Strongly Ordered Game Trees , 1982, CSUR.

[19]  P. Hellekalek Good random number generators are (not so) easy to find , 1998 .

[20]  Mia Consalvo,et al.  Cheating: Gaining Advantage in Videogames , 2007 .

[21]  David L. Neyland,et al.  Virtual Combat: A Guide to Distributed Interactive Simulation , 1997 .

[22]  Earl D. Sacerdoti,et al.  Planning in a Hierarchy of Abstraction Spaces , 1974, IJCAI.

[23]  Wei Hua,et al.  Survey and Practice of 3D City Modeling , 2006, Edutainment.

[24]  Michael Zyda,et al.  Networked virtual environments - desgin and implementation , 1999 .

[25]  Gavin S. P. Miller,et al.  The definition and rendering of terrain maps , 1986, SIGGRAPH.

[26]  Jörg Kienzle,et al.  Comparing interest management algorithms for massively multiplayer games , 2006, NetGames '06.

[27]  Steven J. Murdoch,et al.  Covert Channels for Collusion in Online Computer Games , 2004, Information Hiding.

[28]  John P. Lewis,et al.  Generalized stochastic subdivision , 1987, TOGS.

[29]  Karl Entacher,et al.  Parallel streams of linear random numbers in the spectral test , 1999, TOMC.

[30]  Gregory M. Nielson,et al.  Terrain simulation using a model of stream erosion , 1988, SIGGRAPH.

[31]  Tucker R. Balch,et al.  Social potentials for scalable multi-robot formations , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[32]  R. Yager A NEW METHODOLOGY FOR ORDINAL MULTIOBJECTIVE DECISIONS BASED ON FUZZY SETS , 1993 .

[33]  Kot C. Alex,et al.  Using determinism to improve the accuracy of dead reckoning algorithms , 2000 .

[34]  Richard Bellman,et al.  Decision-making in fuzzy environment , 2012 .

[35]  Raimund Seidel,et al.  A Simple and Fast Incremental Randomized Algorithm for Computing Trapezoidal Decompositions and for Triangulating Polygons , 1991, Comput. Geom..

[36]  Pierre L'Ecuyer,et al.  Implementing a random number package with splitting facilities , 1991, TOMS.

[37]  Jeff Orkin,et al.  Applying Goal-Oriented Action Planning to Games , 2008 .

[38]  Sugih Jamin,et al.  Multiplayer game cheating prevention with pipelined lockstep protocol , 2002, IWEC.

[39]  Michael B. Dillencourt,et al.  Interest Management in Large-Scale Virtual Environments , 2000, Presence: Teleoperators & Virtual Environments.

[40]  Richard Fikes,et al.  STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving , 1971, IJCAI.

[41]  Maja J. Mataric,et al.  A general algorithm for robot formations using local sensing and minimal communication , 2002, IEEE Trans. Robotics Autom..

[42]  I. D. Hill,et al.  Correction: Algorithm AS 183: An Efficient and Portable Pseudo-Random Number Generator , 1982 .

[43]  Sandeep Kishan Singhal,et al.  Effective remote modeling in large-scale distributed simulation and visualization environments , 1996 .

[44]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[45]  Steve Benford,et al.  Collaborative virtual environments , 2001, CACM.

[46]  Jörn Loviscach,et al.  For Bees and Gamers: How to Handle Hexagonal Tiles , 2008 .

[47]  Timo Kaukoranta,et al.  Towards a Definition of a Computer Game , 2003 .

[48]  Jouni Smed,et al.  Three concepts for light-weight communication in multiplayer games , 2006 .

[49]  Stefano Ferretti,et al.  Cheating detection through game time modeling: A better way to avoid time cheats in P2P MOGs? , 2008, Multimedia Tools and Applications.

[50]  Mark O. Riedl,et al.  Narrative generation: balancing plot and character , 2004 .

[51]  Susanne Albers,et al.  Average Case Analyses of List Update Algorithms, with Applications to Data Compression , 1996, Algorithmica.

[52]  Timo Knuutila,et al.  Towards Swift and Accurate Collusion Detection , 2007, GAMEON.

[53]  Chris Greenhalgh,et al.  Awareness-based communication management in the MASSIVE systems , 1998, Distributed Syst. Eng..

[54]  Christer Carlsson,et al.  Fuzzy multiple criteria decision making: Recent developments , 1996, Fuzzy Sets Syst..

[55]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[56]  Steven Worley,et al.  A cellular texture basis function , 1996, SIGGRAPH.

[57]  Paul Bratley,et al.  A guide to simulation , 1983 .

[58]  Yahn W. Bernier,et al.  Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization , 2003 .

[59]  Hugh McCabe,et al.  A Survey of Procedural Techniques for City Generation , 2006 .

[60]  Paul Sharkey,et al.  The causal surface and its effect on distribution transparency in a distributed virtual environment , 1999, IEEE SMC'99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).

[61]  Pierre L'Ecuyer,et al.  Tables of linear congruential generators of different sizes and good lattice structure , 1999, Math. Comput..

[62]  Adrian Court,et al.  A Distributed Architecture for Multiplayer Interactive Applications on the Internet , 1999 .

[63]  Sebastian Zander,et al.  Covert channels in multiplayer first person shooter online games , 2008, 2008 33rd IEEE Conference on Local Computer Networks (LCN).

[64]  Shervin Shirmohammadi,et al.  An end-to-end communication architecture for collaborative virtual environments , 2001, Comput. Networks.

[65]  Ronald L. Graham,et al.  Concrete Mathematics, a Foundation for Computer Science , 1991, The Mathematical Gazette.

[66]  Masaru Kamada,et al.  Time-stamp service makes real-time gaming cheat-free , 2007, NetGames '07.

[67]  Timo Kaukoranta,et al.  Aspects of networking in multiplayer computer games , 2002, Electron. Libr..

[68]  Joel Zetterström A Legal Analysis of Cheating in Online Multiplayer Games , 2005 .

[69]  Mary C. Whitton,et al.  Statistical Methods for User and Team Identification in Multiplayer Games , 2008 .

[70]  Girish Keshav Palshikar,et al.  Collusion set detection using graph clustering , 2008, Data Mining and Knowledge Discovery.

[71]  P. Diaconis,et al.  SHUFFLING CARDS AND STOPPING-TIMES , 1986 .

[72]  Kajal T. Claypool,et al.  Latency and player actions in online games , 2006, CACM.

[73]  Katie Salen,et al.  Rules of play: game design fundamentals , 2003 .

[74]  George Marsaglia IMPROVING THE POLAR METHOD FOR GENERATING A PAIR OF NORMAL RANDOM VARIABLES , 1962 .

[75]  Robert Sedgewick,et al.  Permutation Generation Methods , 1977, CSUR.

[76]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[77]  John P. Fishburn Another optimization of alpha-beta search , 1983, SGAR.

[78]  Steve Benford,et al.  Supporting Cooperative Work in Virtual Environments , 1994, Comput. J..

[79]  R. Caillois,et al.  Man, Play and Games , 1958 .

[80]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[81]  Jonathan Cole Smith,et al.  A bracket assignment problem for the National Collegiate Athletic Association Men's Basketball Tournament , 2006, Int. Trans. Oper. Res..

[82]  Rafael Bidarra,et al.  BEHAVIORAL ASSUMPTION-BASED PREDICTION FOR HIGH-LATENCY HIDING IN MOBILE GAMES , 2005 .

[83]  S. Turner,et al.  ADAPTIVE DEAD RECKONING ALGORITHMS FOR DISTRIBUTED INTERACTIVE SIMULATION , 2001 .

[84]  Pierre L'Ecuyer,et al.  A search for good multiple recursive random number generators , 1993, TOMC.

[85]  Hyun-Jin Choi,et al.  Security issues in online games , 2002, Electron. Libr..

[86]  Petter Ögren,et al.  Formations with a Mission: Stable Coordination of Vehicle Group Maneuvers , 2002 .

[87]  Wentong Cai,et al.  An auto-adaptive dead reckoning algorithm for distributed interactive simulation , 1999, Proceedings Thirteenth Workshop on Parallel and Distributed Simulation. PADS 99. (Cat. No.PR00155).

[88]  Ye-In Chang A Simulation Study on Distributed Mutual Exclusion , 1996, J. Parallel Distributed Comput..

[89]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[90]  Bruce W. Ballard,et al.  The *-Minimax Search Procedure for Trees Containing Chance Nodes , 1983, Artif. Intell..

[91]  Judea Pearl,et al.  Fusion, Propagation, and Structuring in Belief Networks , 1986, Artif. Intell..

[92]  Hao Ying,et al.  Essentials of fuzzy modeling and control , 1995 .

[93]  Andrew Nealen,et al.  Physically Based Deformable Models in Computer Graphics , 2006, Comput. Graph. Forum.

[94]  Donald E. Knuth,et al.  The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm , 1981, ICALP.

[95]  Ian Parberry,et al.  From Artistry to Automation: A Structured Methodology for Procedural Content Creation , 2004, ICEC.

[96]  Peter Wonka,et al.  Procedural Urban Modeling in Practice , 2008, IEEE Computer Graphics and Applications.

[97]  J. Huizinga Homo Ludens: A Study of the Play-Element in Culture , 1938 .

[98]  A. Lindenmayer Mathematical models for cellular interactions in development. II. Simple and branching filaments with two-sided inputs. , 1968, Journal of theoretical biology.

[99]  Xiaoyun Wang,et al.  How to Break MD5 and Other Hash Functions , 2005, EUROCRYPT.

[100]  Albert L. Zobrist,et al.  A model of visual organization for the game of GO , 1899, AFIPS '69 (Spring).

[101]  Edsger W. Dijkstra,et al.  Letters to the editor: go to statement considered harmful , 1968, CACM.

[102]  Timo Kaukoranta,et al.  Networking and Multiplayer Computer Games - The Story So Far , 2003, Int. J. Intell. Games Simul..

[103]  Marc Cavazza,et al.  Generating Dynamic Storylines Through Characters' Interactions , 2002, Int. J. Intell. Games Simul..

[104]  Arthur L. Samuel,et al.  Some Studies in Machine Learning Using the Game of Checkers , 1967, IBM J. Res. Dev..

[105]  R.V. Yampolskiy Detecting and Controlling Cheating in Online Poker , 2008, 2008 5th IEEE Consumer Communications and Networking Conference.

[106]  Anthony Steed,et al.  Supporting scalable peer to peer virtual environments using frontier sets , 2005, IEEE Proceedings. VR 2005. Virtual Reality, 2005..

[107]  A. L. Samuel,et al.  Some studies in machine learning using the game of checkers. II: recent progress , 1967 .

[108]  J. Rashbass,et al.  Collusion detection in multiple choice examinations , 2002, Medical education.

[109]  Timo Knuutila,et al.  Can We Prevent Collusion in Multiplayer Online Games ? , 2006 .

[110]  Xiaoyu Zhang,et al.  Evaluation of a pre-reckoning algorithm for distributed virtual environments , 2004, Proceedings. Tenth International Conference on Parallel and Distributed Systems, 2004. ICPADS 2004..

[111]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[112]  Universitgtt des Saarlandes Fast Triangulation of the Plane with Respect to Simple Polygons , 2005 .

[113]  Jesse Schell,et al.  The Art of Game Design: A book of lenses , 2019 .

[114]  Yoon-Chul Choy,et al.  A dynamic message filtering technique for 3D cyberspaces , 2001, Comput. Commun..

[115]  Peter Auer,et al.  Finite-time Analysis of the Multiarmed Bandit Problem , 2002, Machine Learning.

[116]  B. Abramson The expected-outcome model of two-player games , 1990 .

[117]  Ruth Aylett,et al.  Being There: Participants and Spectators in Interactive Narrative , 2007, International Conference on Virtual Storytelling.

[118]  Jeff Yan,et al.  Security design in online games , 2003, 19th Annual Computer Security Applications Conference, 2003. Proceedings..

[119]  Carlo H. Séquin,et al.  Visibility preprocessing for interactive walkthroughs , 1991, SIGGRAPH.

[120]  Jie Wu,et al.  An efficient sorting algorithm for a sequence of kings in a tournament , 2001, Inf. Process. Lett..

[121]  Greg Costikyan,et al.  I Have No Words & I Must Design: Toward a Critical Vocabulary for Games , 2002, CGDC Conf..

[122]  Gary McGraw,et al.  Exploiting Online Games , 2007, USENIX Annual Technical Conference.

[123]  P. A. W. Lewis,et al.  A Pseudo-Random Number Generator for the System/360 , 1969, IBM Syst. J..

[124]  Fred W. Glover,et al.  Tabu Search - Part I , 1989, INFORMS J. Comput..

[125]  Paul Hudak,et al.  Conception, evolution, and application of functional programming languages , 1989, CSUR.

[126]  Guillaume Pitel,et al.  Urbi et Orbi: Unusual Design and Implementation Choices for Distributed Virtual Environments , 2000 .

[127]  J. Mark Keil,et al.  Decomposing a Polygon into Simpler Components , 1985, SIAM J. Comput..

[128]  Steve Benford,et al.  Understanding and constructing shared spaces with mixed-reality boundaries , 1998, TCHI.

[129]  T. A. Bray,et al.  A Convenient Method for Generating Normal Variables , 1964 .

[130]  William R. Hersh,et al.  Managing Gigabytes—Compressing and Indexing Documents and Images (Second Edition) , 2001, Information Retrieval.

[131]  Srinivasan Seshan,et al.  Donnybrook: enabling large-scale, high-speed, peer-to-peer games , 2008, SIGCOMM '08.

[132]  D. Michie GAME-PLAYING AND GAME-LEARNING AUTOMATA , 1966 .

[133]  P.M. Sharkey,et al.  A local perception filter for distributed virtual environments , 1998, Proceedings. IEEE 1998 Virtual Reality Annual International Symposium (Cat. No.98CB36180).

[134]  Jon Owen,et al.  Formation-Based Pathfinding With Real-World Vehicles , 2002 .

[135]  Emmanuel Frécon,et al.  DIVE: a scaleable network architecture for distributed virtual environments , 1998, Distributed Syst. Eng..

[136]  S. K. Park,et al.  Random number generators: good ones are hard to find , 1988, CACM.

[137]  Mingyu Lim,et al.  A scalable interest management scheme for distributed virtual environments , 2008, Comput. Animat. Virtual Worlds.

[138]  P. Sánchez,et al.  PRE-RECKONING ALGORITHM FOR DISTRIBUTED VIRTUAL ENVIRONMENTS , 2003 .

[139]  M. V. Velzen,et al.  Self-organizing maps , 2007 .

[140]  Hans W. Guesgen,et al.  A formal framework for weak constraint satisfaction based on fuzzy sets , 1994, Proceedings of ANZIIS '94 - Australian New Zealnd Intelligent Information Systems Conference.

[141]  Ken Perlin,et al.  Improving noise , 2002, SIGGRAPH.

[142]  Didier Dubois,et al.  Possibility theory in constraint satisfaction problems: Handling priority, preference and uncertainty , 1996, Applied Intelligence.

[143]  Andreas Ortmann,et al.  The Predictive Power of Three Prominent Tournament Formats , 2008, Manag. Sci..

[144]  Ronald R. Yager,et al.  On ordered weighted averaging aggregation operators in multicriteria decisionmaking , 1988, IEEE Trans. Syst. Man Cybern..

[145]  Jaime G. Carbonell,et al.  Interactive drama, art and artificial intelligence , 2002 .

[146]  Frederick P. Brooks,et al.  Towards image realism with interactive update rates in complex virtual building environments , 1990, I3D '90.

[147]  Przemyslaw Prusinkiewicz,et al.  The Algorithmic Beauty of Plants , 1990, The Virtual Laboratory.

[148]  Venkat Devarajan,et al.  2D structured mass-spring system parameter optimization based on axisymmetric bending for rigid cloth simulation , 2004, VRCAI '04.

[149]  Federico Peinado,et al.  Automatic Direction of Interactive Storytelling: Formalizing the Game Master Paradigm , 2007, International Conference on Virtual Storytelling.

[150]  P. Diaconis,et al.  Trailing the Dovetail Shuffle to its Lair , 1992 .

[151]  John P. Fishburn,et al.  Parallelism in Alpha-Beta Search , 1982, Artif. Intell..

[152]  Jon Watte Authentication for Online Games , 2008 .

[153]  C. Vallve-Guionnet Finding colluders in card games , 2005, International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II.

[154]  Tucker R. Balch,et al.  Behavior-based formation control for multirobot teams , 1998, IEEE Trans. Robotics Autom..

[155]  Sugih Jamin,et al.  Cheat-Proofing Dead Reckoned Multiplayer Games (Extended Abstract) , 2003 .

[156]  Jouni Smed,et al.  Preventing Look-Ahead Cheating with Active Objects , 2004, Computers and Games.

[157]  Jouni Smed,et al.  Realizing bullet time effect in multiplayer games with local perception filters , 2004, NetGames '04.

[158]  Bernard Chazelle Triangulating a simple polygon in linear time , 1991, Discret. Comput. Geom..

[159]  I. C. Wand,et al.  A.P.I.C. Studies in Data Processing , 1989 .

[160]  Paul Bettner,et al.  1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond , 2004 .

[161]  Jouni Smed,et al.  A Quest for Artificial Intelligence in Computer Games , 2005 .

[162]  John R. Spletzer,et al.  Convex Optimization Strategies for Coordinating Large-Scale Robot Formations , 2007, IEEE Transactions on Robotics.

[163]  David R. Cheriton,et al.  Amaze: A Multiplayer Computer Game , 1985, IEEE Software.

[164]  Alex Bateman,et al.  An introduction to hidden Markov models. , 2007, Current protocols in bioinformatics.

[165]  Donald S. Fussell,et al.  Computer rendering of stochastic models , 1982, Commun. ACM.

[166]  R. Prim Shortest connection networks and some generalizations , 1957 .

[167]  Chris Crawford,et al.  The Art of Computer Game Design , 1984 .

[168]  Tatsuhiro Yonekura,et al.  A Proposal of Dead Reckoning Protocol in Distributed Virtual Environment based on the Taylor Expansion , 2006, 2006 International Conference on Cyberworlds.

[169]  A. Lindenmayer Mathematical models for cellular interactions in development. I. Filaments with one-sided inputs. , 1968, Journal of theoretical biology.

[170]  Gerald A. Edgar,et al.  A fractal puzzle , 1991 .

[171]  Ivo Swartjes,et al.  Let's Pretend I Had a Sword: Late Commitment in Emergent Narrative , 2008, ICIDS.

[172]  Csaba Szepesvári,et al.  Bandit Based Monte-Carlo Planning , 2006, ECML.

[173]  Richard F. Paige,et al.  A Novel Approach to the Detection of Cheating in Multiplayer Online Games , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).