Artificial Intelligence: Tools and Libraries
Abstract: My 2008 Game Developers Conference lecture was titled Structure vs. Style, wherein I analyzed how we solve what I call "hard interactive problems". This lecture became mildly famous in game Artificial Intelligence circles because in it I posit we will eventually have a Photoshop of AI, whatever that means! The lecture talks about the characteristics I think a tool like this will need to possess to be worthy of the name, but it's very hard to know what it really means, or how to get there.
Structure vs. Style (Photoshop of AI)
Abstract: AI is an effective tool for analyzing gameplay. This article uses case studies of two popular casual games, Minesweeper and Sudoku, to show how small amounts of AI can illuminate what core gameplay actually is. This can be most easily applied to casual games. Writing such AI leads to new gameplay concepts. A potential two-player Minesweeper from that case study is shown. Demonstration software for both games is included.
AI as a Gameplay Analysis Tool
Abstract: This chapter describes the workflow and data structures used for scripting behaviors in the Abstract State Machine (ASM) framework. ASMs are introduced in the context of a behavior system for game agents. The focus of the paper is on how object-oriented extensions to ASM, Command Port integration of the Behavior Editor with Autodesk Maya, and a dual XML file format contribute to the usability of the behavior editor. The chapter also describes how offline manipulation of ASM definitions enabled the addition of parameters and referencing for behaviors without modifying the run-time code of the AI system.
Building a Behavior Editor for Abstract State Machines
Abstract: Interactive Storytelling techniques are attracting much interest for their potential to develop new game genres but also as another form of procedural content generation, specifically dedicated to game events rather than objects or characters. However, one issue constantly raised by game developers, when discussing gameplay implications of Interactive Storytelling techniques, is the possible loss of designer control over the dynamically generated storyline. Joint research with industry has suggested a new potential use for Interactive Storytelling technologies, which stands precisely as an assistance to game design. Its basic philosophy is to generate various/all possible solutions to a given game level using the player character as the main agent, and gameplay actions as the basic elements of solution generation. We present a fully-implemented prototype which uses the blockbuster game HitmanTM as an application. This system uses Heuristic Search Planning to generate level solutions, each legal game action being described as a planning operator. The description of the initial state, the levelís objective as well as the level layout, constitute the input data. Other parameters for the simulation include the Hitmanís style, which influences the choice of certain actions and privileges a certain style of solution (e.g. stealth versus violent). As a design tool, it seemed appropriate to generate visual output which would be consistent with the current design process. In order to achieve this, we have adapted original HitmanTM storyboards for their use with a generated solution: we attach elements of storyboards to the planning operators so that a complete solution generates a comic strip similar to an instantiated storyboard for the solution generated. We illustrate system behaviour with specific examples of solution generation.
Automatic Generation of Game Level Solutions as Storyboards
Abstract: Artificial intelligence systems in games have become so complex that often one engineer cannot write the entire structure alone. Using the Basketball Artificial Intelligence Tool (BAiT) we were able to integrate the artificial intelligence for NBA 2007 based entirely upon designer data entry and manipulation. While this approach has many positives there are also some drawbacks to implementing a system like this. There are also some necessary precautions that one should take before even attempting this process.
Custom Tool Design for Game AI
Abstract: While presentation aspects like graphics and sound are important to a successful commercial game, it is likewise important that the gameplay, the non-presentational behaviour of the game, is engaging to the player. Considerable effort is invested in testing and re.ning gameplay throughout the development process. We present an overall view of the gameplay management problem and, more concretely, our recent research on the gameplay analysis part of this task. This consists of an active learning methodology, implemented in software tools, for largely automating the analysis of game behaviour in order to augment the abilities of game designers. The SAGA-ML (semi-automated gameplay analysis by machine learning) system is demonstrated in a real commercial context, Electronic Arts' FIFA'99 Soccer title, where it has identi.ed exploitable weaknesses in the game that allow easy scoring by players.
Semi-Automated Gameplay Analysis by Machine Learning
Abstract: This article looks at providing newcomers to SAPI an easy-to-follow breakdown of how to get a simple SAPI application working. It looks briefly at setting up SAPI, how to construct the XML grammar files, handling SAPI messages and using the SAPI text-to-speech functionality. All these concepts are tied together using an demonstration application designed to make learning SAPI simple yet entertaining.
SAPI: An Introduction to Speech Recognition
Abstract: This article extends upon the previous one by discussing concepts like dynamic grammar, additional XML grammar tags, altering voices and more SAPI events. The chapter uses a simple implementation of Go Fish! to demonstrate the concepts presented.
SAPI: Extending the Basics
Abstract: This article describes invaluable techniques that real developers use to tweak, test, and diagnose their AI during the development cycle. We describe literally dozens of specific ways you can instrument your AI to help you tweak and test it more quickly and figure out what's wrong when your AI breaks.
Building an AI Diagnostic Toolset
Designing a GUI Tool to Aid in the Development of Finite State Machines
Abstract: This article introduces the Free Fuzzy Logic Library (FFLL), an open source library that can load files that adhere to the IEC 61131-7 Fuzzy Control Language (FCL) standard. FFLL provides a solid base of code that you are free to enhance, extend, and improve. Whether used for rapid prototyping or as a component in an AI engine, FFLL can save significant time and money. The entire library and a sample program is included on the book's CD.
An Open Source Fuzzy Logic Library