AI Game Programming Wisdom 4
Total Page:16
File Type:pdf, Size:1020Kb
AI Game Programming Wisdom 4 Edited by Steve Rabin Charles River Media A part of Course Technology, Cengage Learning Australia • Brazil • Japan • Korea • Mexico • Singapore • Spain • United Kingdom • United States Publisher and General Manager, Course © 2008 Course Technology, a part of Cengage Learning. Technology PTR: Stacy L. Hiquet Associate Director of Marketing: Sarah ALL RIGHTS RESERVED. No part of this work covered by the copyright Panella herein may be reproduced, transmitted, stored, or used in any form or by any means graphic, electronic, or mechanical, including but not limited to Manager of Editorial Services: Heather photocopying, recording, scanning, digitizing, taping, Web distribution, Talbot information networks, or information storage and retrieval systems, except Marketing Manager: Jordan Casey as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the publisher. Acquisitions Editor: Heather Hurley Project Editor: Dan Foster, Scribe Tribe CRM Editorial Services Coordinator: For product information and technology assistance, contact us at Jennifer Blaney Cengage Learning Customer & Sales Support, 1-800-354-9706 Copy Editor: Julie McNamee For permission to use material from this text or product, Interior Layout Tech: Judith Littlefield submit all requests online at cengage.com/permissions Cover Designer: Mike Tanamachi Further permissions questions can be emailed to [email protected] CD-ROM Producer: Brandon Penticuff Indexer: Broccoli Information Management Library of Congress Control Number: 2007939369 Proofreader: Mike Beady ISBN-13: 978-1-58450-523-5 ISBN-10: 1-58450-523-0 eISBN-10: 1-305-40610-9 Course Technology 25 Thomson Place Boston, MA 02210 USA Cengage Learning is a leading provider of customized learning solutions with office locations around the globe, including Singapore, the United Kingdom, Australia, Mexico, Brazil, and Japan. Locate your local office at: international.cengage.com/region Cengage Learning products are represented in Canada by Nelson Education, Ltd. For your lifelong learning solutions, visit courseptr.com Visit our corporate website at cengage.com Printed in the United States of America 1 2 3 4 5 6 7 11 10 09 08 Contents Preface . ix About the Cover Image . xiii Acknowledgments . xv About the Contributors. xvii SECTION 1 GENERAL WISDOM . 1 1.1 Situationist Game AI . 3 Adam Russell 1.2 Artificial Personality: A Personal Approach to AI . 17 Benjamin Ellinger, Microsoft 1.3 Creating Designer Tunable AI . 27 Borut Pfeifer, Electronic Arts 1.4 AI as a Gameplay Analysis Tool . 39 Neil Kirby, Bell Laboratories 1.5 Ecological Balance in AI Design . 49 Adam Russell SECTION 2 MOVEMENT AND PATHFINDING . 59 2.1 Company of Heroes Squad Formations Explained . 61 Chris Jurney, Kaos Studios 2.2 Turning Spaces into Places . 71 Adam Russell 2.3 Dynamically Updating a Navigation Mesh via Efficient Polygon Subdivision . 83 Paul Marden, DigiPen Institute of Technology Forrest Smith, Gas Powered Games 2.4 Intrinsic Detail in Navigation Mesh Generation . 95 Colt “MainRoach” McAnlis, Ensemble Studios James Stewart, Stormfront Studios iii iv Contents 2.5 Navigation Mesh Generation: An Empirical Approach . 113 David Hamm, Red Storm Entertainment 2.6 Navigation Graph Generation in Highly Dynamic Worlds . 125 Ramon Axelrod, AIseek 2.7 Fast Pathfinding Based on Triangulation Abstractions . 143 Doug Demyen, BioWare Corp. Michael Buro, University of Alberta 2.8 Automatic Path Node Generation for Arbitrary 3D Environments . 159 John W. Ratcliff, Simutronics Corporation 2.9 Risk-Adverse Pathfinding Using Influence Maps. 173 Ferns Paanakker, Wishbone Games B.V. 2.10 Practical Pathfinding in Dynamic Environments . 179 Per-Magnus Olsson, Linköping University 2.11 Postprocessing for High-Quality Turns . 191 Chris Jurney, Kaos Studios 2.12 Memory-Efficient Pathfinding Abstractions. 203 Nathan Sturtevant, University of Alberta SECTION 3 ARCHITECTURE . 219 3.1 A Flexible AI Architecture for Production and Prototyping of Games 221 Terry Wellmann, High Voltage Software, Inc. 3.2 Embracing Declarative AI with a Goal-Based Approach . 229 Kevin Dill, Blue Fang Games 3.3 The MARPO Methodology: Planning and Orders . 239 Brett Laming, Rockstar Leeds 3.4 Getting Started with Decision Making and Control Systems. 257 Alex J. Champandard, AiGameDev.com 3.5 Knowledge-Based Behavior System—A Decision Tree/Finite State Machine Hybrid . 265 Nachi Lau, LucasArts 3.6 The Emotion Component: Giving Characters Emotions. 275 Ferns Paanakker, Wishbone Games B.V. Erik van der Pluijm Contents v 3.7 Generic Perception System . 285 Frank Puig Placeres 3.8 Peer-To-Peer Distributed Agent Processing . 295 Borut Pfeifer, Electronic Arts 3.9 AI Architectures for Multiprocessor Machines . 305 Jessica D. Bayliss, Ph.D., Rochester Institute of Technology, Information Technology Department 3.10 Level Up for Finite State Machines: An Interpreter for Statecharts . 317 Philipp Kolhoff, KING Art Jörn Loviscach, Hochschule Bremen 3.11 Building a Behavior Editor for Abstract State Machines . 333 Igor Borovikov, FrameFree Technologies, Inc. Aleksey Kadukin, Electronic Arts 3.12 Multi-Axial Dynamic Threshold Fuzzy Decision Algorithm. 347 Dave Mark, Intrinsic Algorithm LLC SECTION 4 TACTICS AND PLANNING . 359 4.1 RTS Terrain Analysis: An Image-Processing Approach . 361 Julio Obelleiro, Enigma Software Productions Raúl Sampedro, Enigma Software Productions David Hernández Cerpa, Enigma Software Productions 4.2 An Advanced Motivation-Driven Planning Architecture. 373 David Hernández Cerpa, Enigma Software Productions Julio Obelleiro, Enigma Software Productions 4.3 Command Hierarchies Using Goal-Oriented Action Planning . 383 David Pittman, Stormfront Studios, Inc. 4.4 Practical Logic-Based Planning. 393 Daniel Wilhelm, California Institute of Technology 4.5 Simulation-Based Planning in RTS Games . 405 Frantisek Sailer, University of Alberta Marc Lanctot, University of Alberta Michael Buro, University of Alberta 4.6 Particle Filters and Simulacra for More Realistic Opponent Tracking . 419 Christian J. Darken, The MOVES Institute Bradley G. Anderegg, Alion Science and Technology Corporation vi Contents 4.7 Using Bayesian Networks to Reason About Uncertainty . 429 Devin Hyde 4.8 The Engagement Decision. 443 Baylor Wetzel, Brown College SECTION 5 GENRE SPECIFIC . 455 5.1 A Goal Stack–Based Architecture for RTS AI. 457 David Hernández Cerpa, Enigma Software Productions 5.2 A Versatile Constraint-Based Camera System . 467 Julien Hamaide, 10Tacle Studios Belgium/Elsewhere Entertainment 5.3 Seeing in 1D: Projecting the World onto a Line. 479 Andrew Slasinski 5.4 Reaction Time with Fitts’ Law . 485 Baylor Wetzel, Brown College 5.5 Enabling Actions of Opportunity with a Light-Weight Subsumption Architecture. 493 Habib Loew, ArenaNet Chad Hinkle, Nintendo of America Inc. 5.6 Toward More Humanlike NPCs for First-/Third-Person Shooter Games . 499 Darren Doherty, National University of Ireland Galway Colm O’Riordan, National University of Ireland Galway 5.7 Stop Getting Side-Tracked by Side-Quests . 513 Curtis Onuczko, University of Alberta Duane Szafron, University of Alberta Jonathan Schaeffer, University of Alberta SECTION 6 SCRIPTING AND DIALOGUE . 529 6.1 Spoken Dialogue Systems . 531 Hugo Pinto, University of Sheffield Roberta Catizone, University of Sheffield 6.2 Implementing Story-Driven Games with the Aid of Dynamical Policy Models . 551 Fabio Zambetta, School of Computer Science & IT, RMIT University Contents vii 6.3 Individualized NPC Attitudes with Social Networks. 571 Christian J. Darken, The MOVES Institute John D. Kelly, U.S. Navy 6.4 Scripting Your Way to Advanced AI . 579 Alistair Doulin, Auran Games 6.5 Dialogue Managers . 593 Hugo Pinto, University of Sheffield SECTION 7 LEARNING AND ADAPTATION . 605 7.1 Learning Winning Policies in Team-Based First-Person Shooter Games . 607 Stephen Lee-Urban, Lehigh University Megan Smith, Lehigh University Héctor Muñoz-Avila, Lehigh University 7.2 Adaptive Computer Games: Easing the Authorial Burden . 617 Manish Mehta, Georgia Institute of Technology Santi Ontañón, Georgia Institute of Technology Ashwin Ram, Georgia Institute of Technology 7.3 Player Modeling for Interactive Storytelling: A Practical Approach. 633 David Thue, University of Alberta Vadim Bulitko, University of Alberta Marcia Spetch, University of Alberta 7.4 Automatically Generating Score Functions for Strategy Games . 647 Sander Bakkes, Universiteit Maastricht Pieter Spronck, Universiteit Maastricht 7.5 Automatic Generation of Strategies . 659 Pieter Spronck, Maastricht University, The Netherlands Marc Ponsen, Maastricht University, The Netherlands 7.6 A Practical Guide to Reinforcement Learning in First- Person Shooters . 671 Michelle McPartland, University of Queensland About the CD-ROM . 685 Index . 687 This page intentionally left blank Preface elcome to the fourth, all-new volume of AI Game Programming Wisdom! Inno- Wvation in the field of game AI continues to impress as this volume presents more than 50 new articles describing techniques, algorithms, and architectures for use in commercial game development. When I started this series over six years ago, I felt there was a strong need for AI game programmers to share their advances and expertise with each other. What I did- n’t anticipate is how successful this series would be. At nearly 250 articles across all four volumes, I’m extremely impressed with the generosity of these authors in sharing their valuable ideas,