100% found this document useful (10 votes)
42 views

Artificial Intelligence for Computer Games An Introduction 1st Edition John David Funge (Author) All Chapters Instant Download

Introduction

Uploaded by

arzkichazzo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (10 votes)
42 views

Artificial Intelligence for Computer Games An Introduction 1st Edition John David Funge (Author) All Chapters Instant Download

Introduction

Uploaded by

arzkichazzo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Download Full ebookname - Read Now at ebookname.

com

Artificial Intelligence for Computer Games An


Introduction 1st Edition John David Funge (Author)

https://ebookname.com/product/artificial-intelligence-for-
computer-games-an-introduction-1st-edition-john-david-funge-
author/

OR CLICK BUTTON

DOWLOAD EBOOK

Discover More Ebook - Explore Now at ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Biologically Inspired Artificial Intelligence for Computer


Games 1st Edition Darryl Charles

https://ebookname.com/product/biologically-inspired-artificial-
intelligence-for-computer-games-1st-edition-darryl-charles/

ebookname.com

Artificial Intelligence 2nd Edition David L. Poole & Alan


K. Mackworth

https://ebookname.com/product/artificial-intelligence-2nd-edition-
david-l-poole-alan-k-mackworth/

ebookname.com

Machine Learning An Artificial Intelligence Approach 1st


Edition Ryszard S. Michalski

https://ebookname.com/product/machine-learning-an-artificial-
intelligence-approach-1st-edition-ryszard-s-michalski/

ebookname.com

A View of the History Literature and Religion of the


Hindoos Volume 4 Including a Minute Description of their
Manners and Customs and Translations from their Principal
Works 1st Edition William Ward
https://ebookname.com/product/a-view-of-the-history-literature-and-
religion-of-the-hindoos-volume-4-including-a-minute-description-of-
their-manners-and-customs-and-translations-from-their-principal-
works-1st-edition-william-ward/
ebookname.com
Project Manager Mastering the Art of the Delivery First
Edition Richard Newton

https://ebookname.com/product/project-manager-mastering-the-art-of-
the-delivery-first-edition-richard-newton/

ebookname.com

Strategies for Technical Communication in the Workplace


2nd Edition Laura J. Gurak

https://ebookname.com/product/strategies-for-technical-communication-
in-the-workplace-2nd-edition-laura-j-gurak/

ebookname.com

Media in Hong Knong Press Freedom and Political Change


1967 2005 Routledge Media Culture and Social Change in
Asia Series Carol Lai
https://ebookname.com/product/media-in-hong-knong-press-freedom-and-
political-change-1967-2005-routledge-media-culture-and-social-change-
in-asia-series-carol-lai/
ebookname.com

MTEL Earth Science 14 Teacher Certification Test Prep


Study Guide 2nd Edition XAM MTEL Sharon Wynne

https://ebookname.com/product/mtel-earth-science-14-teacher-
certification-test-prep-study-guide-2nd-edition-xam-mtel-sharon-wynne/

ebookname.com

The Bible Knowledge Commentary An Exposition of the


Scriptures by Dallas Seminary Faculty New Testament
Edition John F. Walvoord
https://ebookname.com/product/the-bible-knowledge-commentary-an-
exposition-of-the-scriptures-by-dallas-seminary-faculty-new-testament-
edition-john-f-walvoord/
ebookname.com
Child Abuse 3rd Edition Brian Corby

https://ebookname.com/product/child-abuse-3rd-edition-brian-corby/

ebookname.com
Artificial Intelligence
for Computer Games
Artificial Intelligence
for Computer Games
An Introduction

John David Funge


CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2004 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed on acid-free paper


Version Date: 20160916

International Standard Book Number-13: 978-1-56881-208-3 (Hardback)

This book contains information obtained from authentic and highly regarded sources. Reason-
able efforts have been made to publish reliable data and information, but the author and publisher
cannot assume responsibility for the validity of all materials or the consequences of their use. The
authors and publishers have attempted to trace the copyright holders of all material reproduced in
this publication and apologize to copyright holders if permission to publish in this form has not
been obtained. If any copyright material has not been acknowledged please write and let us know so
we may rectify in any future reprint.

Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information
storage or retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access www.
copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc.
(CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organiza-
tion that provides licenses and registration for a variety of users. For organizations that have been
granted a photocopy license by the CCC, a separate system of payment has been arranged.

Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and
are used only for identification and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
Dedicated to David and Patricia.
Contents

Preface vii
v

1 Introduction 1
1.1 Computer Game Characters . . . . . . . . . . . . . . . . . 1
1.2 Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Artificial Intelligence . . . . . . . . . . . . . . . . . . . . 7
1.5 Game AI . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Acting 15
2.1 Tag Game . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Game-State . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Controllers . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Possible Actions . . . . . . . . . . . . . . . . . . . . . . . 33

3 Perceiving 35
3.1 Renderer . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Simulated Perception . . . . . . . . . . . . . . . . . . . . 37
3.3 Character-Specific Percepts . . . . . . . . . . . . . . . . . 39
3.4 Partial Observability . . . . . . . . . . . . . . . . . . . . 41
3.5 Predictor Percepts . . . . . . . . . . . . . . . . . . . . . . 45

4 Reacting 51
4.1 Definition of a Reactive Controller . . . . . . . . . . . . . 52
4.2 Simple Functions of Percepts . . . . . . . . . . . . . . . . 55
4.3 Reactive Production Rules . . . . . . . . . . . . . . . . . 57

iii
4.4 Decision Trees . . . . . . . . . . . . . . . . . . . . . . . 58
4.5 Logical Inference . . . . . . . . . . . . . . . . . . . . . . 61

5 Remembering 65
5.1 Definition of a Controller . . . . . . . . . . . . . . . . . . 66
5.2 Memory Percepts . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Belief Maintenance . . . . . . . . . . . . . . . . . . . . . 70
5.4 Mental State Variables . . . . . . . . . . . . . . . . . . . 74
5.5 Communicating . . . . . . . . . . . . . . . . . . . . . . . 78
5.6 Stochastic Controllers . . . . . . . . . . . . . . . . . . . . 80

6 Searching 83
6.1 Discrete Tag Game . . . . . . . . . . . . . . . . . . . . . 83
6.2 Controllers that Use Search . . . . . . . . . . . . . . . . . 84
6.3 Searching Further Ahead . . . . . . . . . . . . . . . . . . 88
6.4 Searching in Continuous Domains . . . . . . . . . . . . . 91
6.5 Waypoints . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.6 Adversarial Search . . . . . . . . . . . . . . . . . . . . . 97
6.7 Rendering a Search . . . . . . . . . . . . . . . . . . . . . 102
6.8 General Goal Action Planning . . . . . . . . . . . . . . . 105

7 Learning 107
7.1 Simulated Learning . . . . . . . . . . . . . . . . . . . . . 107
7.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3 Rewards . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.4 Remembering . . . . . . . . . . . . . . . . . . . . . . . . 114
7.5 Reinforcement Learning . . . . . . . . . . . . . . . . . . 116

A Picking 125
A.1 Picking the Most Likely . . . . . . . . . . . . . . . . . . . 125
A.2 Picking Randomly . . . . . . . . . . . . . . . . . . . . . 126

B Programming 129

Bibliography 131

Index 141
Listings

2.1 Part of the game-state class declaration. . . . . . . . . . . 17


2.2 Part of the declaration of the base class for all objects in
the game. . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Part of the class declaration for characters in the game. . . 20
2.4 Part of the controller base class declaration. . . . . . . . . 28
3.1 Part of the declaration of the perception class for the tag
game. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Definition of percept to calculate the distance to my near-
est character. . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Simple pursuit and evasion controller for the tag game. . . 55
4.2 Controller that gives priority to avoiding collisions. . . . . 57
5.1 Decide who to chase. . . . . . . . . . . . . . . . . . . . . 70
5.2 Stochastically calculate if NPC is angry. . . . . . . . . . . 81
6.1 Example of a simple one-step search. . . . . . . . . . . . . 86
6.2 Setting the game-state back to how it was. . . . . . . . . . 87

v
Preface

This is the second book I have written about Artificial Intelligence (AI)
and computer games. My first book was closely based on my PhD thesis
and although it was therefore quite specialized it was well received. I
was pleased by the compliments I received from some well-known game
developers who told me they had enjoyed reading it and found it helpful.
This new book is more accessible than the last one and should appeal to
an even wider audience. I believe it should be useful to anyone looking
to become a game AI programmer, as well as those already working in
the field.
I also hope that this book will spark new interest among academics
in AI research for computer games. There is a tendency to assume that
games are just another application area for AI and as such they deserve no
special attention. While it is true that many general purpose AI algorithms
are applicable to games, there is also a wealth of opportunity for more
specialized study.
There are already several interesting books available that are either
solely or partially dedicated to AI and games. Those other books tend to
take the form of compendiums of articles by different authors about a wide
range of AI-related topics. Instead of trying to compete, in this book I take
a complementary approach that presents a more unified overview of AI in
games. In particular, the unifying theme of this book is of a Non-Player
Character (NPC) and the capabilities that can be built into it.
There are also an enormous number of books on the subject of AI in
general. The wonderful thing about the existence of all these books is that

vii
viii Preface

it provides such a firm foundation to build upon. There is no need for


subsequent books on AI (like this one) to rehash all the same ideas and
algorithms. Instead, this book is free to concentrate solely on the applica-
tion of AI to games and to give references for introductory material that
is readily available elsewhere. At the other end of the spectrum, this book
also provides a jumping-off point to many advanced topics in AI that are
relevant to games.
In this day and age there are also many game- and AI-related resources
online that provide lots of detailed information about algorithms and tech-
niques. This book does, of course, contain a comprehensive bibliography
that includes some web sites, but a traditional bibliography is limited and
soon becomes out of date. There is therefore a companion web site for this
book at www.ai4games.org that you will be referred to throughout the
text for additional resources and information.
Since my first book, I have been working in the games industry de-
veloping AI technology. The experience has given me a much clearer un-
derstanding of game AI, and a perspective that I think many academics
lack. For example, many academics will make efficiency arguments for
why their AI is good for games. But AI programming is not usually such a
significant part of the cost of a game that, from a business point of view, it
would justify the risk of using a new technique. What the business people
in the games industry do care about, however, is new effects that can help
differentiate their game from the competition.
Typically new effects have come from the graphics industry, for exam-
ple, the move to three-dimensions, texture maps, and lately, real-time pro-
cedural shading languages. That is why new games are constantly pushing
the envelope for graphics while they often languish in the past with their
AI. Until AI has some new exciting effects to offer the mainstream game
player, this will continue to be the case.
Sooner or later graphics is going to run out of steam as a driving force
behind games. Already the law of diminishing returns makes it hard for
the casual gamer to tell the difference between this year and last year’s
graphics. AI has the potential to become the new driving force behind
computer game innovation. With the right technology, whole exciting new
game genres could be developed. I hope this book will help you think
about new AI effects for your games that will generate enthusiasm for AI
among game designers and players.
Preface vix

Acknowledgments

I am currently working at a startup which I cofounded that develops AI


technology for the entertainment industry. It is one of my hopes that this
book, by promoting a common framework and terminology, will make
it easier for game developers to interact with AI middleware companies.
At the time of writing, we are still being secretive about the technology
we have developed so I have been careful not to include any confidential
information in the writing of this book. Nevertheless many of my ideas
about the general topic of game AI have been shaped and heavily influ-
enced by my experiences at work and by the people with whom I work. I
am therefore indebted to many of my current and former colleagues: Brian
Cabral, Wolff Dobson, Nigel Duffy, Michael McNally, Ron Musick, Stuart
Reynolds, Xiaoyuan Tu (cofounder), Ian Wright, and Wei Yen (CEO and
cofounder).
Wei Yen is a remarkable person to whom I am grateful for giving me
the opportunity to work for him in such an educational and interesting
environment. Ian, Michael, and Wolff have all developed successful com-
mercial games and their experience has been invaluable to me in under-
standing how AI is applied in the real world of game programming. Ian
also proofread the book and provided numerous suggestions on style and
content throughout the writing process that have significantly improved the
book. Michael has taught me a great deal about programming and about
good ways to organize a game’s architecture. Ian and Brian have also im-
proved my knowledge of programming. Nigel and Ron have taught me an
enormous amount about AI, and Stuart has taught me a lot about reinforce-
ment learning in particular. Xiaoyuan has been at the heart of developing
our core technology and has helped me develop a deeper understanding of
AI. Dale Schuurmans and Stuart Russell also deserve special mention for
it was they who helped provide me with a more modern perspective on AI.
Thanks also to Benjamin Funge who helped out with some proofreading.
I have also benefited from numerous conversations with people in the
games industry over the years, too many to list, but I am thankful to them
too. While much of the credit for the ideas in this book therefore lies with
other people, the responsibility for any errors or omissions is obviously
my own.
x Preface

Xiaoyuan is my colleague and also my wife. At home, I am grate-


ful for her love, kindness, and support. On the subject of home, I would
also like to express my appreciation to Pung Pung and Willow for their
companionship.
Finally, I would like to thank Alice Peters and all the staff at A K Pe-
ters for their support, understanding, and encouragement throughout the
writing of this book. Special thanks to Jonathan Peters and the people at
Garage Games for contributing their time and artwork to produce such a
wonderful front cover.

John Funge
Sunnyvale, CA
USA
Chapter 1

Introduction

Computer games, or perhaps more accurately, video games, began with the
invention of “Tennis for Two” in 1958. It was not until the 1970s that Atari
introduced a wider audience to computer games with the successful con-
sole game Pong. Since then computer games have become a multibillion-
dollar industry with countless titles published every year. Despite the large
number of individual game titles, there is a relatively small set of differ-
ent game genres. The exact list of genres is debatable, and just like with
movies, people argue about which genre(s) a particular game belongs to.
This book’s companion web site (www.ai4games.org) has links to sites
that provide a comprehensive list of genres and example games from each.
There are also additional links to interesting information on the history and
status of computer games.

1.1 Computer Game Characters


Lara Croft, Mario, and Pac-Man are all well-known computer game char-
acters. Each of them is an example of a player character. A player charac-
ter is a character whose behavior is controlled by a human player through
some input device like a joystick. For example, the player presses the A
button and the character jumps, presses the B button and it punches, pushes
up on the thumb pad and it walks forward, and so on. Player characters
often play the hero in a game and Non-Player Characters (NPCs) play the
other roles such as villains, side-kicks, and cannon-fodder. Wario (Mario’s

1
2 Chapter 1. Introduction

evil brother), Blinky, Pinky, Inky, and Clyde (the four ghosts in Pac-Man)
are some rare examples of characters who originally became famous as
NPCs.
The distinction between player characters and NPCs is not always
straightforward. For example, some games allow the player to control
different characters at different times. In such cases, which characters are
player characters and which are NPCs is constantly changing. In games
where the player controls a party of characters (a team or squad) the switch
between player character and NPC can be so fluid that the distinction be-
comes blurred. That is, the NPCs behave autonomously until the player
intercedes to give them a direct order. They then carry out the order, after
which they revert to behaving autonomously.
Within a game, NPCs also take on the role of camera person, lighting
technician, commentator, and even director. Of course, there is (usually)
no little person rendered into the scene who is holding a camera, moving
lights around, providing commentary, or directing the other NPCs. There
is, however, a piece of code that is controlling the camera, lighting, com-
mentary, direction, etc. It is convenient to think of these pieces of code
as NPCs as they share many properties with their on-screen counterparts.
Most of techniques in this book therefore apply equally well to NPCs be-
hind the camera as to those in front.

1.2 Behavior
Every character in a game has at least one controller associated with it and
controllers can be shared between different characters. A controller acts as
the character’s brain, its inputs are information about the state of the game
world, and the outputs are the action choices that affect the game world
and produce the associated NPC’s behavior.1
In other publications, the term “controller” is sometimes used to refer
to the player’s input device. In this book, “controller” is used exclusively
in the sense of the character’s brain. The term “joystick” is used for the
player’s input device.
1
When it is obvious from the context, the term “NPC’s associated controller” is often
just replaced with “NPC”. For example, “the NPC chooses to jump” is understood to mean
“the NPC’s associated controller chooses to jump”.
1.2. Behavior 3

For player characters the controller consists of a mechanism for inter-


preting the player’s various joystick presses. Of course, the human player’s
brain is also technically part of the player character’s controller because
that is where decisions about how to behave originate.
For NPCs the controller can take many forms and have various ca-
pabilities. The possible forms and capabilities of an NPC’s controller is
specifically what this book is all about.
Most players do not care what underlying mechanism is being used to
create the appearance, movement, or behavior of the NPCs. The player is
simply concerned about the end result. For behavior that means whether
the NPCs are behaving “rationally”. Rationality has to be defined with
respect to what the NPC is trying to achieve because, from a wider per-
spective, its goals can be irrational. For example, it is not really rational
for an NPC to run out from its hiding place and attack the player charac-
ter who is usually much stronger and has just wiped out all of the NPC’s
comrades.
An NPC’s ultimate goal is to be entertaining, but that goal is usually
implicit. Instead, the NPC’s controller will have been given lower-level
tasks, such as trying to stop the player character at all costs. The tasks are
those that the game designer hopes will lead to exciting game play.
What specifically counts as rational depends on the game, the diffi-
culty level the game is being played at, the context within the game, and
even the the player’s expectations. Nevertheless, there are many common
and easily-recognized examples of irrational behavior caused by bugs in a
controller, for example, two NPCs continuously butting heads as they both
try and go up a ladder at the same time or a battalion of NPCs charging
across a battlefield in single file so that they can be easily mowed down by
a single machine gunner.
Compared to the capabilities of humans, there are presently a huge
number of technical limitations on an NPC’s possible capabilities. But
since it is only the behavior that counts, the game developer has a great
deal of flexibility in choosing which of the possible capabilities a con-
troller, and by extension the associated NPC, should have. Often two sim-
ilar looking behaviors can be created in completely different ways. For
example, consider the problem of getting an NPC to figure out how to get
from one location to another. This is called path planning. One way to
implement path planning is to use a controller that includes a map and a
4 Chapter 1. Introduction

path planning algorithm. This approach is described in detail in Chapter


6. Another approach is to simply have someone (often a level designer) go
through and annotate the game world with “signposts”. The signposts are
not visible to the human player, but the NPC can use them. Whenever an
NPC wants to get somewhere its underlying controller simply follows the
corresponding signposts. From the player’s perspective the behavior of the
NPC can seem more or less identical in both cases.
Adding signposts to a map can (depending on the size and complexity
of the map) be laborious, time-consuming, and error-prone. Moreover,
if the map ever changes, or there are new maps, some or all of the map
annotation must be re-generated. In contrast, the path planning approach
is general across different maps. It should even work on maps created by
the player, for example, a “mod”. Nevertheless, the signpost approach is
appealing in its simplicity and the high degree of fine-grained control it
affords over behavior. It is also less demanding of hardware requirements
and programming skills. Both methods are therefore legitimate and each
has relative pros and cons that are a microcosm of the often lively debate
about which capabilities an NPC really needs.
In general, the answer to the question about what capabilities an NPC’s
controller must, should, or could have will be determined on a case by
case basis. The decision will depend on the capabilities of the underly-
ing hardware, availability of software, level of expertise, familiarity with
techniques, and personal preferences.

1.3 Overview
Figure 1.1 is a system architecture diagram for a typical game that shows
the major components and their interactions. The architecture is just one
possible software architecture. Alternatives will, however, all share roughly
the same components. Briefly, the role of each component is:

Game-state. The game-state represents the current state of the world. It


knows about all the objects in the world and provides access to them
so that they can be queried by all the other components for informa-
tion about their current state.

Simulator. The simulator encodes the rules of how the game-state changes,
i.e. the game’s “physics”. Together with a set of animations it is the
1.3. Overview 5

updates

Game−State information Simulator

information information actions

Renderer Controllers

Figure 1.1. Architecture overview.

simulator that is therefore responsible for generating a character’s


movement in response to the actions chosen by the associated con-
troller.

Renderer. Together with a game’s geometry and texture maps, the ren-
derer is responsible for rendering a depiction of the game-state. The
output usually consists of images and sounds.

Controllers. Each character in the game has at least one controller asso-
ciated with it. The controller is responsible for selecting actions.
For player characters the controller interprets joystick presses. For
NPCs the controller is the AI and low-level control that make up the
character’s brain.

To be able to influence the game world through its action choices an


NPC needs to be embodied in the game. Chapter 2 therefore describes
how the the game-state, the simulator, and the controllers work together to
enable an NPC to act within the game world.
Just as fundamental as the capability to act in the game, is the ability
for an NPC to perceive its world. Otherwise the associated controller can-
not know which action is appropriate, or what effect its actions have, and
the character is just stumbling around in the dark. For the player charac-
ter, for which the human is an integral part of the controller, the renderer
6 Chapter 1. Introduction

provides the necessary feedback on what is happening in the game world.


NPCs can instead just query the game-state directly to find out the informa-
tion they need. It is easier, however, to write controllers if the unimportant
details (from an AI perspective) can be abstracted away. A more abstract
representation emphasizes the crucial similarities between game-states and
allows controllers to be written in a more general fashion. Chapter 3 there-
fore describes some common and useful transformations of information
from the game-state, and explains how to limit access to the game-state so
an NPC perceives its world in a way that matches the intuitive expectations
of the human player more closely.
Once an NPC can perceive its world, it needs to be able to make de-
cisions about how to act. These decisions are contingent on the infor-
mation it receives. Therefore, Chapter 4 describes how to write reactive
controllers that can pick actions in reaction to the current perceived state
of the game world.
Reactive controllers can be used to create a wide range of useful be-
havior. But without the ability to remember, controllers can end up going
around in circles (literally and figuratively) as they are unable to realize
when they have been in a similar situation before. Chapter 5 therefore de-
scribes how to add internal state to an NPC’s controller that can be used
to remember the past. NPCs thus have the capability to make decisions
that depend not only on what is currently occurring, but on what occured
before. An NPC with a controller that has the capability to remember (an
arbitrary amount of) the past and act accordingly can be programmed to
perform any computable behavior.2
Effective and powerful controllers can be written to achieve their goals
by blindly following a set of preprogrammed rules. However, Chapter 6
explains that if a controller is given explicit goals, it can instead automat-
ically search for actions that achieve these goals. To do so, a controller
needs access to a model of its world that it can use to predict the outcome
of action sequences before it executes them. The model of its world can be
provided by giving the controller access to the game simulator. However,
it is often sufficient, and faster, just to give a controller an approximate
model of its world. Although searching is a powerful technique, it is also
one that can consume a lot of CPU and memory resources.
2
This is because it is Turing complete. That is, it is theoretically equivalent to a Turing
machine, which is a mathematical model of what it means for something to be computable.
1.4. Artificial Intelligence 7

Beyond the simple capability to remember past events, an NPC’s con-


troller can also be given the capability to learn from past events. The idea
of learning something implies some ability to generalize from past expe-
rience to new unseen cases. This is different from simply remembering
what happened in the past and regurgitating it. There are many possible
ways learning can be used inside controllers; Chapter 7 focuses on how a
controller can be automatically learned by trial and error.
By the end of the book you should be able to recognize which tech-
niques might have been used to generate the behavior you see in the com-
puter games you play. You will also be able to decide which capabilities
are appropriate for the NPCs in your game. Together with the references,
and online resources available from this book’s companion web site, you
should also be able to implement controllers for NPCs with the capabilities
you choose.
There are many other capabilities, not covered in this book, that an
NPC’s controller could be given. For example, if an NPC had access to
a camera that looked out upon a game player’s world it could be given
the capability to see. With a microphone, the capability to understand and
generate speech also becomes important. Cameras and microphones are an
as yet small but growing part of computer games (see [Mar01, LDG03]).

1.4 Artificial Intelligence


Many of the potential capabilities of an NPC’s controller are made pos-
sible thanks to the academic field of AI. AI began as a research field in
the 1940s. There were some early successes and this led to great opti-
mism about how quickly computers could become as intelligent as hu-
mans. Researchers, however, soon realized that many AI problems were
much harder than they first appeared. In the 1980s expert systems emerged
as a knowledge based approach to solving AI problems. The idea behind
an expert system is that the knowledge of human experts is encoded into a
Knowledge Base (KB). The KB can then be used to answer questions and
solve problems.
Expert systems have had many well-known successes both in the aca-
demic and commercial world. They do, however, suffer from the serious
drawback of having to create a KB that can cover all possible cases in ad-
vance. The problem with creating a KB is that the amount of knowledge
8 Chapter 1. Introduction

required to solve even simple problems can be enormous. Creating the KB


can therefore be time-consuming, expensive, and error-prone. This has
led to the criticism that expert systems are brittle and only applicable to
so-called “toy problems”.
To reduce the size of the required KB, logical reasoning (and the closely
related subject of planning) have been widely studied throughout the his-
tory of AI. The idea is that logical consequences of the KB can be inferred
rather than represented explicitly. For example, a KB might contain “All
plumbers have mustaches” and that “Mario is a plumber”, but not explic-
itly “Mario has a mustache”. Instead, a reasoning engine can use logical
deduction to answer “yes” to the question: “Does Mario have a mustache?”
There are two criticisms that are commonly leveled at logical reasoning:
first, for propositional logic there are problems that require an exponential
amount of time to solve and for first-order logic there are problems that are
uncomputable; and second, that the real world contains much uncertainty
but logical inference is better suited to dealing with precise mathematical
concepts.
A breakthrough in expert systems that addresses the uncertainty present
in the real world has been the development of so called graphical models.
Bayes nets and Hidden Markov Models (HMMs) are two well-known ex-
amples of graphical models. Efficient algorithms for probabilistic reason-
ing have been developed for graphical models and they have been success-
fully applied to many real-world problems like medical diagnosis and spam
filtering. They are a manifestation of an important and well-established
trend in modern AI research to use mathematical probability as the correct
way to handle uncertainty.
When many labeled examples of a problem exist (or can be gener-
ated), an alternative to manually creating a KB is to create one automati-
cally. Automatically acquiring knowledge is the domain of machine learn-
ing. Machine learning has a long tradition in AI, but many of the early
approaches lacked firm theoretical underpinnings and neglected the im-
portance of real-world empirical results. In contrast, a great anecdote that
demonstrates the promise of modern statistical machine learning to auto-
matically create useful KBs is provided by the FlipDogTM story. FlipDog
was founded in 2000 as a spin-off from WhizBang! LabsTM . FlipDog used
machine learning techniques to allow their webbot to learn to recognize
job postings on the Internet. The webbot then trawled the Web and in less
1.5. Game AI 9

than a year acquired over 600,000 jobs from more than 50,000 employers
in more than 3,500 locations. FlipDog was set to quickly eclipse the older
and more established Monster.comTM as the market leader. Monster.com
had been relying on more conventional means to build a KB of job post-
ings. Monster.com quickly realized that FlipDog represented the future
and acquired the company for an undisclosed sum.
The standard reference on AI is [RN02]; it has clear, incisive, and in-
depth coverage on most of the important areas of AI. What that book does
not cover, and what this book therefore focuses on, is the application of
AI to games. Nevertheless, it is inevitable that this book must frequently
venture into AI topics not specific to games. On those occasions (unless
there is something specific to add) this book provides references, but does
not attempt to go over the same material.

1.5 Game AI
The term “game AI” is sometimes used to distinguish AI used in computer
games from academic AI. In particular, AI used in computer games does
not have to be general purpose. The goal is not (necessarily) to advance
human understanding by writing a technical paper. Often a solution is ac-
ceptable as long as a character’s behavior appears to be plausible over some
narrow range of situations. There are, however, clear economic advantages
to generating solutions that are as general as possible.
The ease with which some problems could be solved in unconventional
ways led to some initial misplaced optimism about the prospects of AI
in games. For example, some people were led to make bold claims that
AI techniques derived from games would soon surpass the capabilities of
academic AI. It is interesting to note that in the early days of AI research
similar enthusiasm was expressed by academics who were buoyed by their
early successes on toy problems.
Aside from the degree of required generality, another disconnect be-
tween game AI and academic AI is the scope of what is considered AI. In
particular, academic AI often has a different focus than game AI and there
is an adage that once an AI problem is solved, it is no longer considered AI.
Game AI is often used to refer to any kind of control problem in a game,
some of which are more traditionally in the domain of control theory. For
10 Chapter 1. Introduction

example, trying to figure out the joint angles so that a character’s hand
moves to a specified point is sometimes thought to be a game AI problem.
Outside of games it would be recognized as an inverse kinematics problem
that has been well studied in robotics and control theory. This book em-
phasizes the problem of generating higher-level behavior, more in line with
the traditional academic use of the term AI. There are numerous books on
control theory that the interested reader can consult. A classic reference is
[DB04]. There are also many papers on the application of control theory
and AI techniques to low-level control problems in game-like worlds; see
[GT95, HP97, LvdPF00, FvdPT01, LCR03].
The typical approach to creating high-level behavior in games can be
largely characterized as the brute force approach of creating a controller
that contains lots of knowledge about how to behave. This corresponds to
building a controller that is an expert system; a game-specific expert sys-
tem for deciding what the NPC should do next. As an expert system, the
controller will suffer from all the scalability problems that plague expert
systems in general, which often manifests itself as brittle AI. In particular,
the enormous task of trying to anticipate all the situations that might arise
inevitably means that some (possibly many) possibilities get overlooked.
When one of the unanticipated situations does arise the NPC behaves in-
appropriately and can end up looking stupid.
If an AI bug is noticed in time it can be fixed by adding a new bit of
knowledge to tell the controller what to do in the previously unanticipated
situation. This gets to the heart of why expert systems can be problem-
atic. The real world is so complicated that this process of adding new
knowledge is potentially neverending. Only in toy problems is there any
reasonable hope of finishing the task. That is why the expert system ap-
proach can be, and has been, successful in games. Many game worlds are,
by definition, toy problems. If the game world is simple enough an expert
system might therefore be appropriate. Games also have the advantage that
the AI does not have to be perfect. The game can probably ship when the
process of adding more knowledge offers diminishing returns. If there are
still a few infrequent AI bugs then, provided they are not too glaring and it
does not affect the overall enjoyment of the game, no one will mind. The
same cannot be said of an AI medical diagnosis program!
Nevertheless, as game worlds become ever more sophisticated and less
toy-like, the expert system approach will struggle to keep pace. To date,
Discovering Diverse Content Through
Random Scribd Documents
Il entra, rouge, un peu haletant d’être monté si vite. Son arrivée
fut la diversion joyeuse. Il baisa le front de sa mère, serra la main de
son oncle et du chanoine ; les deux jeunes filles lui tendirent le bout
de leurs doigts. Désirée, la cuisinière, présenta sur la table une
dorade friande que Mme Élise découpa ; et, tandis que Jérôme
expliquait son retard, le Père lui demanda comment s’était passée
l’ordination :
— Les ordinands, je le suppose, ne brillaient guère par le
nombre…
— Oui, répondit Jérôme, ils sont trop peu. C’était beau, quand
même. J’ai vu de près l’onction des mains ; je n’en avais aucune
idée.
— Autrefois, observa son oncle, si un prêtre était noté d’infamie,
il subissait le rite opposé. L’évêque, pour le dépouiller du pouvoir de
consacrer et de bénir, lui raclait les mains avec un couteau ou un
morceau de verre.
Antoinette soupira :
— Elles devaient être en sang !
— Rassurez-vous, Mademoiselle, intervint l’érudit chanoine.
L’Église ne fut jamais inhumaine. Le Pontifical recommandait à
l’évêque de les racler doucement, légèrement, sine effusione
sanguinis.
Agnès examinait les mains du chanoine et celles du Père. Elle
murmura cette remarque étrange :
— Les prêtres portent donc un signe sur les mains ?
— Je le croirais, dit Jérôme, et même je me demande si, dans
certains cas, le signe ne devient point un héritage de famille.
Mme Élise se prit à rire, le chanoine hocha la tête, et le Père
fronça les sourcils comme en face d’un paradoxe inquiétant. Jérôme
poursuivit :
— Je vous étonne ; mais je pense à mon ami Montcalm. Un soir,
nous étions tous les deux, seuls dans notre cagna ; il se mit à
genoux, pria longuement ; ensuite il me confia que, s’il rentrait vivant
au pays, il serait prêtre ; et il me révéla le motif, un des motifs de sa
vocation. Montcalm ne s’appelait pas Montcalm ; son vrai nom était
Brindeau ; allié par sa mère aux Sainte-Flaive, une ancienne famille
du Bocage qui possédait quelques terres près de chez nous. Son
grand-père, me dit-il, avait changé de nom pour cacher une honte.
Pendant la Terreur, le baron de Sainte-Flaive émigra ; sa femme et
sa fille, n’ayant pu le suivre, furent jetées en prison, à Nantes. Elles
plurent au geôlier ; il leur offrit de s’enfuir avec elles, de s’embarquer
pour l’Espagne. Il ne posa qu’une condition : la jeune fille
l’épouserait. Mme de Sainte-Flaive consentit ; ce geôlier était un bel
homme ; il sut abuser la demoiselle, après avoir ébloui la mère. Le
ménage eut trois fils ; plus tard, on sut que l’ex-geôlier, c’était un ci-
devant prêtre. Eh bien ! Montcalm pensait qu’il devait réparer le
sacrilège de l’aïeul. Et il concluait : « J’ai dans les veines du sang
d’un prêtre ; quelque chose de plus fort que moi me porte au
sacerdoce. » Il a réparé avec son propre sang…
Jérôme s’étonna d’avoir ainsi parlé ; en dévoilant, à cette heure,
le secret de Montcalm, il semblait se mettre sur le chemin d’avouer
la suprême injonction du mort, celle dont il demeurait chargé. De
celle-là, il croyait bien que jamais l’aveu n’échapperait à ses lèvres.
Un silence succéda où il put écouter l’écho de son récit prolongé
jusqu’au fond des cœurs, comme la chute d’une pierre rebondissant
le long des parois d’un puits. Mais le chanoine, théologien
scrupuleux, éprouva le besoin de commenter :
— La vocation, chez votre ami, et l’onction des mains reçue par
le ci-devant prêtre, ces deux faits n’ont entre eux aucun lien formel.
— Qu’en savez-vous ? contredit le Père, enclin à scruter les
choses qui se perdent dans l’insondable.
La brusque révélation de Jérôme sur Montcalm avait choqué Mme
Élise. Pourquoi son fils ne lui avait-il rien dit, à elle d’abord, de cette
bizarre confidence ?
Elle poussa l’entretien vers un sujet où le Père et le chanoine
n’auraient pas, croyait-elle, occasion de se heurter. L’abbé Langevin,
quelques mois auparavant, avait fait un séjour à Rome ; elle se disait
curieuse de le suivre aux catacombes. Il raconta que, dans celles de
Saint-Calixte, le Trappiste qui le guidait l’avait arrêté devant un petit
bas-relief en marbre figurant des Amours ailés montés, comme des
coureurs, sur des chevaux lancés à toute bride : « Quoi de chrétien
dans ce motif ? » avait-il interrogé. Et le Trappiste avait répondu :
« Païen, mais beau. »
— En France, continua l’abbé, on n’imagine guère un Trappiste ni
même personne d’entre nous osant pareille phrase. Au fond de nos
mœurs et de nos préjugés survit un jansénisme incurable.
— Le jansénisme avait du bon, protesta le Père avec une moue
agressive. C’était un bastion contre la veulerie des mœurs. J’aime
mieux ça que nos dévotions de camelote, l’illusion du salut au
rabais, du salut qui ne coûte rien.
Le chanoine, d’un ton poli, se rebiffa :
— Alors, comment expliquez-vous, mon Père, que partout où
s’implantèrent des évêques et un clergé jansénistes, la foi ait décliné
plus promptement qu’ailleurs ?
Par-dessus la tête de Mme Élise une controverse, entre les deux
ecclésiastiques, s’aiguisa, un croisement de fer que la modération
du chanoine maintint courtois. Antoinette, silencieuse, effacée,
observait le choc de leurs arguments ; Agnès et Jérôme s’isolaient
dans une causerie à mi-voix :
— Païen, mais beau ! reprenait Jérôme. J’aime cette largeur de
vues. Après tout, la nature est l’œuvre de Dieu, et la chair n’est point
maudite, ni l’amour de la beauté, un crime.
— Je pense comme vous, dit Agnès ; ou plutôt je pense très peu.
Pour moi, les êtres existent, les idées, à peine. Tout à l’heure,
questionnez encore le chanoine sur l’Italie. Je voudrais tant
connaître Rome, et, je ne sais pourquoi, la Sicile. Je rêve de Malte,
de l’Afrique. Je me figure, dans les pays du Sud, la vie plus divine et
simple. Vivre, oh ! vivre !…
— Je crois vous comprendre, dit Jérôme, ému de sa confiance,
surpris de ces velléités nostalgiques. Mais enfin, vivre, qu’est-ce
donc pour vous ?
Les paupières aux cils bruns d’Agnès eurent un léger battement ;
une rougeur vague anima ses joues, et sa tête se détourna comme
dans une fuite charmante. Après une pause brève elle répondit
pourtant :
— Je n’en sais rien au juste ; je désire parce que j’ignore…
Elle faillit lui retourner sa question : « Et vous, sous le mot vivre,
que mettez-vous ? » Elle n’osa, pas plus qu’il n’osa la presser
davantage.
Mais, en ces minutes d’intimité, pour la première fois il reçut le
contact réel de sa présence. Apercevoir qu’elle avait un teint
diaphane, des yeux pers que la courbure des cils rendait caressants,
des lèvres minces un peu renflées aux commissures, un profil dont
le nez pointu relevait les contours alanguis, une main svelte, une
voix hésitante et veloutée qui semblait sortir d’un rêve nonchalant,
ce n’était pas la connaître. Mais elle venait d’entr’ouvrir son âme ;
Jérôme fut avide soudain de la pénétrer.
Il ne se croyait point amoureux d’Agnès ; il ne pensait trouver en
elle qu’une agréable amie. Cependant saurait-il s’arrêter à une
sympathie éphémère ? S’il n’avait rien démêlé, chez la sœur
d’Antoinette, de plus profond, il se fût tenu en garde contre de vains
élans. La noblesse et le péril, pour lui, d’une telle amitié, c’en était
l’ingénuité catholique. Un cœur formé à l’absolu de l’amour le
transporte dans les sentiments profanes. Il ne pouvait aimer à demi,
ne livrer qu’une parcelle de lui-même. Agnès lui témoignait une sorte
de furtif abandon ; son premier mouvement fut un trouble
voluptueux. Mme Élise la définissait « une dormeuse qui attend
l’heure de s’éveiller. » Jérôme pouvait se croire la cause ou
l’occasion de l’éveil. Et l’appel d’Agnès répondait, en lui, au
frémissement d’une jeunesse jusqu’alors contenue par de chastes
disciplines. Car il avait traversé les hasards de la guerre et les
promiscuités de l’arrière-front sans être une seule fois victime des
occasions charnelles. Montcalm, là encore, l’avait protégé, Montcalm
qui, à la veille d’une offensive, lui déclarait : « Si je meurs, tu sais, je
meurs vierge. »
Dans la naïve sentimentalité d’Agnès il trouvait néanmoins une
part de factice, de suranné. Il refusait d’en être dupe. Volontiers, il
l’aurait avertie : « Vivre, ce n’est pas exiger le bonheur pour soi ;
vivre, c’est se donner… » Mais il avait horreur de paraître pédant, de
faire le moraliste. Et de quel droit la prêcher ? N’inclinait-il pas,
autant qu’elle, à ménager entre Dieu et le monde un compromis où
la part cédée à Dieu restait infime ?
Ces idées graves n’effleurèrent qu’un instant son attention,
comme se mêle à l’air d’une rue l’odeur d’encens d’une église,
quand on ouvre les portes et qu’on les referme aussitôt. Sa
conscience se dissipa dans les menus faits du dehors.
Le déjeuner fini, comme le chanoine disposait encore d’un
moment, Mme Élise lui proposa de visiter le jardin ; elle aurait plaisir à
lui en faire les honneurs. Elle gardait la passion de planter,
d’aménager ; le seul luxe où elle se divertissait était celui des fleurs,
des arbres, de la basse-cour.
La maison qu’elle avait achetée, pendant la guerre, voulant
suivre Jérôme jusqu’au terme de ses études, se dressait au bord
d’un promontoire, à l’endroit que jadis occupa le château des princes
de Beauveau-Craon, bombardé, ruiné, en 1871, par les obus
allemands.
Le jardin, au-dessous, dévalait sur la pente, et s’appuyait à la
lisière des bois qui, jusqu’à la crête de Buzenval, couvrent la courbe
aimable du coteau. Quelques têtes d’arbres se hérissaient encore
nues ; mais le vert sortait partout, frais, le long des branches noires,
comme une pluie lustrale. Les cerisiers, les poiriers d’un blanc
cotonneux, les lilas, les pêchers tremblants sous leur floraison
frileuse avaient l’air de reposoirs fragiles disposés pour une grande
fête.
— L’enchantement du Samedi Saint, dit Antoinette à Jérôme.
Il fermait la marche ; le chanoine précédait, accompagné
d’Antoinette et d’Agnès. Mme Élise allait en avant, légère et pimpante
avec son chapeau de paille aux rubans mauves. Quant au Père, il
s’était retiré dans sa chambre, mécontent du chanoine, parce qu’il
n’avait su, au terme de leur discussion, le contraindre à rendre les
armes ; il conservait, d’ailleurs, des pays chauds, l’habitude d’une
sieste après midi où il réparait, assez mal, des nuits sans sommeil.
Mme Élise s’égayait à célébrer au bon abbé Langevin les
promesses de ses poiriers :
— Voici mes William, mes Doyenné du Comice, mes Tour Eiffel…
— Des Tour Eiffel ! s’exclama le jovial chanoine. Il faudra, pour
les avaler, le secret du trou de l’aiguille par où passe un chameau.
— Eh bien ! dit-elle, à l’automne, je vous en ferai goûter. Vous
verrez, Monsieur le Chanoine, qu’elles passeront très bien.
Elle l’emmena vers le jardin français dessiné d’après ses plans.
Les ronds des pelouses, les rectangles, les lignes triangulaires se
combinaient en rythmes séduisants. Sur les longues bandes de
gazon, des ifs coniques, sans paraître s’ennuyer trop, se faisaient
vis-à-vis. Une vasque d’un galbe pur régnait au centre d’un parterre
qu’entouraient des rosiers. Les plus précoces des roses étaient à
peine en boutons. Avec discernement le chanoine salua certaines
étiquettes :
— Oh ! La rose soleil ! Le bouquet de la mariée !
Il suivit Mme Élise à droite, parmi les choux du potager, auprès de
la basse-cour. Les poules étaient logées par espèces, entre de clairs
treillages ; un sable fin garnissait leur parc. Dans une cabane proche
on entendit la voix amicale d’une chèvre ; deux chevreaux
s’élancèrent en galopant comme des fous. Ils se poursuivaient l’un
l’autre, sautaient sur un banc de bois, en redescendaient. Leur mère
les rejoignit, une chèvre syrienne, grise, au poil soyeux, qui vint
contre la grille coller son museau gourmand. Tandis que Mme Élise et
Antoinette lui présentaient des bouts de pain, les petits grimpaient
sur son dos, s’insinuaient entre ses jambes, la queue frétillante, pour
tirer ses pis énormes ; puis ils repartaient, cabriolant, et, tout d’un
coup, s’arrêtaient, ahuris, mutins, capricieux, ivres de bon lait, ivres
d’être au monde.
Mme Élise s’amusait, Antoinette et le chanoine aussi, de leurs
gambades ingénues. Les âmes simples retrouvent auprès des
animaux innocents quelque chose qui remémore la joie du premier
Paradis.
Mais Jérôme et Agnès les avaient devancés auprès du « chenil ».
Mme Élise dénommait ainsi, en badinant, l’enclos où vivaient
séparés, d’un côté, un ménage de petits dogues, de l’autre, un jeune
chien-loup, à poil fauve moucheté de noir, nerveux de membrure,
avec les oreilles en cornet, des yeux cerclés de jaune, la mine
agressive et fougueuse. Celui-ci allait et venait, derrière les grillages,
le cou tendu, à pas allongés, comme un léopard dans sa cage.
— Mob ! appela Jérôme.
Le chien s’étira, bâilla, vint flairer les mains de son maître. Mais,
voyant approcher la soutane du chanoine qu’il ne connaissait pas, il
se ramassa brusquement, prêt à bondir, et poussa des aboiements
furieux. Les dogues, à plein gosier, firent chorus.
— Ce molosse, plaisanta le bon abbé, promet d’être anticlérical.
— N’y voyez pas d’intention personnelle, répliqua Mme Élise.
Mais, comme disait Désirée, il n’est pas commode, le bestiau.
— Je me demande, réfléchit tout haut Jérôme, pourquoi la
brutalité de ce chien m’attire. J’aime jusqu’à ses fureurs et à son
envie de mordre. Au fond, je ne crois qu’à la force.
Le chanoine, qui exigeait des idées nettes, rectifia d’une voix
paisible :
— Vous le dites, mon cher ami ; le pensez-vous ? La force n’est
point la brutalité. Les Livres Saints ont raison : « La sagesse vaut
mieux que la force. »
Antoinette, en riant, vint à la rescousse, appuya :
— Et vous m’oubliez ! La charité ? qu’en faites-vous ?
— La charité ! s’écria Jérôme, mais c’est la suprême force.
J’adore le Christ parce qu’il a vaincu la mort, parce qu’il reviendra en
triomphateur à la fin des temps…
Il jeta sa réplique avec une pointe de jactance juvénile. Agnès le
regarda ; elle crut voir autour de son visage cette clarté glorieuse qui
ceint le front des héros ; et vivement elle abaissa ses paupières, de
peur qu’on ne s’aperçût qu’elle l’admirait.
Le chanoine s’excusa de prendre congé si vite. Tous le
raccompagnèrent jusqu’au bas du jardin. Il s’extasia encore sur
l’ampleur et l’aménité du site ; rien de plus doux que ces bois de
Buzenval et leurs feuillées vaporeuses sous le fin soleil du
printemps. Si, vers la droite, les coteaux de Saint-Cloud, les collines
plus hautes de Meudon fermaient d’une ligne sévère l’étendue, à
l’est elle semblait illimitée comme la mer ; par delà le rebord de la
vallée, Paris, au loin, s’étalait, vague autant qu’une nécropole en
ruines : des tas de pierre compacts, coupés de taches noires, de
masses boisées. Une flaque d’eau qui était la Seine, les tours d’une
église, un dôme se dégageaient du plan indistinct ; l’immensité se
fondait en brume, sans ligne d’horizon.
Le bruit des routes d’en bas grondait à peine sourdement. Des
cris d’oiseaux égayaient l’espace. Des avions invisibles peuplaient
l’éther d’un ronflement profond, tel qu’un murmure d’orgue ou la
rumeur d’une ville dans le ciel.
— Le calme des hauteurs ! exprima encore le chanoine avant de
quitter Mme Élise. Vous vivez un rêve désirable.
— N’est-ce qu’un rêve ? s’étonna-telle en lui disant adieu.
Tandis qu’elle remontait, elle s’arrêta près d’un parterre pour lier
à son tuteur une tige de rosier qui s’affaissait. Antoinette était partie
en avant ; Mme Élise suivit d’un coup d’œil Jérôme et Agnès
marchant côte à côte, tous deux souples, élancés, gracieux, elle
moins grande que lui, indolente d’allure ; et ils s’entretenaient d’un
air fraternel.
— Ces deux enfants feraient un beau couple ; mais sont-ils nés
l’un pour l’autre ?
III

En retenant sous son toit les sœurs orphelines, Mme Élise n’avait
songé d’abord qu’à un bon office d’amitié. Ensuite elle s’était dit :
« Si Agnès et Jérôme s’aimaient, j’aurais une bru exquise. »
Elle ne ressemblait pas à ces mères qui exposent aux pires
désordres la jeunesse de leur fils, abritées contre tout reproche par
le vieux sophisme : « Avant de penser au mariage, il faut être assuré
d’une situation. » Elle visait à fixer Jérôme dans un sage
attachement, prélude des noces bénies. Mais elle observait les deux
jeunes gens, en silence, sans les induire à se déclarer. De subtils
indices lui dévoilèrent, chez Agnès, une inclination que la jeune fille,
de son mieux, dissimulait. Jérôme, au contraire, ne paraissait
éprouver qu’un sentiment tranquille, proche de la simple
camaraderie. Mme Élise différait de l’interroger : « Te plaît-elle ? »
Une réponse négative l’aurait trop déçue. Elle voyait Agnès selon
son penchant à colorer d’illusions généreuses tout ce qui
l’approchait. Dans le palais enchanté qu’elle préparait à son fils elle
intronisait une Agnès ornée de multiples dons, de ceux qu’une belle-
mère peut concéder à sa belle-fille ; elle n’admettait pas qu’un
simple mot vînt abattre ses espérances.
Elle savait pourtant la fragilité des bonheurs. Le sien, après son
mariage, avait duré deux ans à peine. Elle avait vu son mari,
foudroyé par une rupture d’anévrisme, expirer entre ses bras dans
un moment où la mort était à mille lieues de leurs pensées
communes. Un de ces chocs dont l’ébranlement se prolonge toute
une vie ; certaines choses sont impossibles à recommencer, parce
qu’un souvenir affreux en défend les approches. Jeune et riche
d’ardeurs instinctives, de tendresses réprimées, courtisée, assaillie
d’hommages, elle repoussa les plus séduisants partis. Elle évita le
monde où son charme la vouait à des sollicitations. Une ferme
santé, une piété vraie l’aidèrent à soutenir ce détachement. Mais ce
fut un détachement joyeux, actif, une expansion inlassable vers les
œuvres qui lui promettaient l’oubli d’elle-même. Pendant la guerre,
elle avait assumé, à Saint-Cloud, la direction d’un hôpital. Du matin
au soir, quand elle avait assisté à la messe du Père — il la disait
dans une chambre disposée en oratoire, — entre la surveillance de
son ménage, son jardin, les lettres qu’elle écrivait à ses métayers,
les courses à Paris, des visites charitables, les travaux d’aiguille où
elle excellait, peu d’instants lui restaient pour se préoccuper de sa
personne et interroger son cœur. Elle ne lisait que durant les veillées
d’hiver ou les jours de pluie. Le Père la blâmait d’habiter trop peu
« son arrière-boutique ».
— Vous êtes Marthe jamais assise ; et nous cherchons Marie.
A quoi elle répondait :
— Je serai Marie, lorsque le Seigneur m’aura emmenée dans
son repos… Le plus tard possible, osait-elle ajouter, avec son rire
éclatant, demeuré frais et joli comme le son des girandoles de cristal
d’un lustre qu’on remue et qui scintille.
L’étrange était qu’optimiste, résolue à créer partout de la joie
autour d’elle, elle tolérât le voisinage quotidien d’un malade
quinteux, d’un homme obsédé par l’imminence des fléaux, d’un
voyant d’Apocalypse, prompt à s’exaspérer si l’on doutait de ses
prévisions. Ou plutôt il fallait, pour n’en pas être excédée, l’humeur
folâtre de Mme Élise, sa bravoure insouciante et sa bonté calme.
Son beau-frère lui rendait obscurément l’image de son mari. M.
Philippe Cormier avait été, comme l’était son frère, un vendéen de
forte race, « une tête carrée », quelqu’un de loyal, de batailleur,
d’autoritaire, même, pour parler le langage du pays,
« d’haricotier » [1] ; tendre sous une assez rugueuse écorce, il avait
idolâtré sa femme, il était mort de la trop aimer.
[1] Chicaneur.

En son beau-frère Gaston, Mme Élise retrouvait jusqu’aux traits


du défunt, et son timbre de voix, son écriture, une certaine façon de
hausser les sourcils ou de croiser les bras dans une posture de
défense. Convictions intraitables, hauteur chevaleresque, besoin de
dominer, ces deux hommes se continuaient au point qu’on les eût
pris quelquefois pour le même homme.
Mme Élise écartait les troublantes réminiscences, bien plus
qu’elle ne s’y attardait. Celui qu’elle appelait le Père, elle l’aimait
d’une affection filiale ; elle vénérait ses vertus, non sans critiquer ses
points faibles. Au début de son veuvage, ses conseils l’avaient
dirigée ; il l’avait confirmée dans sa décision de ne se remarier
jamais :
« Vous êtes née, lui écrivait-il, pour la sainteté des veuves. »
Il l’exhortait à une vie parfaite, certain de lui transmettre l’appel
d’en haut. Peut-être suivait-il un peu l’inconsciente jalousie d’une
amitié despotique ; il ne voulait pas que la femme de son frère devînt
l’épouse d’un autre, qu’Élise fût à personne, sinon à Dieu.
Son lien avec elle datait des années où les lettres de la jeune
veuve lui portaient en Chine, tous les deux mois, le parfum du pays
natal, la figure de la France et la présence vivace du frère qu’il ne
reverrait point. Il l’avait aimée, âme lointaine, la seule qui sût
comprendre son isolement. Plus tard, consumé par des fièvres,
perclus de douleurs, disputant « son cadavre » à trois ou quatre
maladies, il avait retrouvé sa belle-sœur florissante, enchanteresse
et sage. Elle l’accueillit, le soigna, le réconforta ; elle pansa toutes
ses meurtrissures avec l’huile du bon Samaritain ; elle sacrifiait à ses
manies une part de son indépendance ; elle dorlotait jusqu’à son
sommeil ; car, pendant la sieste du Père, la maison devenait un
tombeau, les visiteurs étaient avertis de ne point tirer la grosse
cloche du portail.
Il s’imaginait gouverner sa belle-sœur ; elle n’offensait pas
souvent de front ses volontés ; elle prenait à revers la position,
l’enlevait avant qu’il s’en aperçût. S’il se mettait à tourner comme un
vieux lion dans la cage de ses idées sinistres, au lieu de bousculer la
cage, elle le divertissait, jusqu’à ce qu’il oubliât de tourner. Elle
savait la puissance de la douceur ; un sourire d’elle suffisait, mieux
que tous les arguments, à désarmer l’ascète grincheux.
En vain, sans craindre de la froisser, lui redisait-il : « Hors le ciel
que j’espère, rien ne compte plus pour moi » ; ses attentions, le seul
aspect de sa personne le réconciliaient avec l’exil terrestre.
Il avait vu, sans déplaisir, s’installer à Garches les deux jeunes
filles. Antoinette lui lisait les Révélations de Sainte Brigitte, l’ouvrage
du baron de Novaye, Demain ? abrégé des prophéties où se répète,
depuis le Moyen-Age, l’annonce de la fin des temps. Elle subissait
patiemment, comme il seyait à une future sœur de la Charité, ses
diatribes contre « l’ignominie moderne ». Agnès le questionnait sur
les religions de la Chine. Il lui reprochait de mortifier trop peu son
imagination, d’être « romantique ». A son idée, elle ne serait guère la
femme qui rendrait heureux Jérôme. L’inquiétude de Mme Élise :
« Sont-ils nés l’un pour l’autre ? » venait en partie des réflexions du
Père. Néanmoins il ne restait pas insensible à l’attrait singulier
d’Agnès :
« Une intuitive, jugeait-il, une passionnée ; si l’amour divin la
saisissait, elle pourrait faire des merveilles. »
Il eût préféré pour son neveu un autre mariage ; mais il souhaitait
que Jérôme se mariât, et tôt ; le vendéen soucieux de la
permanence d’une race, le prêtre qui veillait sur la droiture du jeune
homme s’accordaient à vouloir cet événement familial. La pensée ne
lui venait pas que Jérôme fût prédestiné au sacerdoce. Il le sentait
attiré « par le siècle », esclave du monde et de ses idoles. Et
Jérôme, à lui moins qu’à personne, eût révélé le mot d’ordre de
Montcalm : « Prends ma place. »
Dom Estienne avait eu beau lui certifier qu’il n’était point tenu, en
conscience, à l’exécution d’une volonté qui, sans mandat, disposait
de son avenir ; la chose paraissait trop certaine : dès l’instant où le
Père connaîtrait la concordance des paroles proférées par Montcalm
et de sa mort, il les interpréterait comme un signe céleste ; Jérôme
devrait obéir ; l’oncle le harcèlerait jusqu’à ce qu’il se rendît.
Or, était-il sûr de ne pas se rendre ? Sa réponse à Montcalm :
« Si Dieu l’exige, vieux, c’est promis », impliquait un engagement
sous condition. Malgré tout, il ne désirait point que la voix de Dieu se
fît entendre ; d’avance, il cherchait des raisons contre elle.
Le jour de Pâques était passé. Le matin du lundi, il avait lu dans
l’Évangile des disciples d’Emmaüs :
« Est-ce que notre cœur ne brûlait pas en nous, tandis qu’il
parlait sur la route et nous ouvrait les Écritures ? »
— Mon cœur à moi, reconnaissait-il, se défend de brûler, du
moins pour le Christ. Mais l’amour est un don ; la souffrance même
de ne pas aimer, un don. Si je reste dans le troupeau des chrétiens
quelconques, c’est que Dieu ne m’a pas élu pour un état supérieur.
Qu’y puis-je ?
Le fragile, l’humiliant et le piteux de cette dialectique étaient si
manifestes qu’il ne put s’y arrêter. Il jugea plus loyal de conclure, au
moins provisoirement :
— Je ne veux pas entrer dans les Ordres. Voilà le vrai. Plus tard,
nous verrons…
Avec un autre caractère, Jérôme eût abouti à la plus dure des
perplexités. Mais à l’insouciance de son âge il ajoutait celle qui lui
venait de Mme Élise ; le préjugé soldatesque : « ne pas s’en faire »
avait aussi déteint quelque peu sur lui.
Il crut donc emmurer le vœu de Montcalm dans cette geôle de
silence, pleine de regrets et de désirs liés, que tout homme cache au
fond de soi. Il repoussa comme chimérique la possibilité des
exigences divines ; il ferma « l’œil intérieur » pour ne pas voir de
quelles cimes il glissait ; et il ne songea plus qu’à « vivre » au sens
où l’entendait l’ignorante Agnès.
Ce même lundi de Pâques, comme la journée était splendide,
Mme Élise décida qu’on irait à pied, par les bois de Rueil, jusqu’à la
Malmaison. Jérôme, dans l’illusion d’être heureux, accompagna sa
mère et ses deux amies.
IV

Derrière la villa, sur le plateau, une avenue de tilleuls


s’approfondissait, double colonnade de troncs aux ramilles aiguës,
emmantelés déjà de feuilles claires. L’allée qu’ombragent ces arbres
menait jadis au château disparu. Antoinette l’appelait « mon cloître. »
Agnès l’aimait parce qu’à ses deux bouts fuyait la campagne
indéfinie.
Ils longèrent, au delà, les prairies du golf, encloses de chênes et
de peupliers. Des barrières peintes en blanc les divisaient. Le
velours dru des immenses gazons semblait faire le ciel plus léger,
moelleux. Des joueurs épars, après avoir longuement visé, du coup
sec d’un de leurs maillets, projetaient dans un sillon, au loin, une
petite balle.
Jérôme eût volontiers appris les éléments de ce jeu puéril et
malaisé. La faiblesse de son bras droit l’en privait. Antoinette et
Agnès négligeaient les sports ; elles maniaient correctement une
raquette de tennis ; mais elles préféraient, l’une, lire son office et
dessiner ; l’autre, jouer du violoncelle et rêver.
Jérôme, en devisant, contemplait tour à tour sa mère et les deux
jeunes filles, avec une joie paisible. Sa mère lui rappelait ces
princesses radieuses qu’on voit, sur les tapisseries flamandes,
marcher au milieu d’une futaie de roses, entre des oiseaux
emparadisés.
Les clartés de l’espace et les couleurs des champs, les rires
modulés des merles dans les cognassiers en fleurs, tout vibrait
autour des chers visages.
Il se répétait, devant celui d’Antoinette, ce que disait d’elle, non
sans malice, Agnès : « Une aurore sur une colline de neige. » Ni le
blond cendré des cheveux n’arrêtait son attention, ni la fierté
virginale des prunelles, ni la candeur du front bombé, la finesse des
lèvres, le timbre cristallin de la voix. Chez elle, l’âme dévorait les
apparences ; sa tournure svelte et intelligente parlait moins aux yeux
qu’à l’esprit. Jérôme la vénérait, sœur élue impossible à perdre,
distante de la terre comme le serait une forme d’ange de l’herbe où
elle semblerait poser ses pieds.
Elle appartenait pourtant à ce bas monde et n’en souffrait point.
Plus d’un menu défaut la dénonçait fille d’Ève : ses aptitudes à
diriger se tournaient en minuties parfois taquines ; le sens du parfait
lui rendait choquantes les imperfections des autres ; elle s’oubliait à
relever les ridicules même de gens qu’elle respectait ; elle excellait
aux caricatures, et quelque vanité se mêlait au plaisir d’exercer son
enjouement. Tout à l’heure, ne comparait-elle pas le vieux curé de
Garches, rond, bedonnant dans sa chaire, avec son crâne pointu et
rose, « à un œuf dans un coquetier » ?
Cette innocente facétie avait mis passagèrement Agnès en gaîté.
A présent elle retombait dans un silence mélancolique. Songeait-elle
à sa mère ? Son deuil n’était pas vieux de plus de trois mois ; sans
doute l’ombre de la morte se levait dans l’allégresse du ciel et
tendait sur ce jour de fête un crêpe.
Mme Élise lui avait donné, pour se distraire, un vieux roman
français, la princesse de Clèves ; ce livre l’ayant autrefois charmée,
parce qu’il l’aidait à sentir l’inanité des passions. Antoinette aussi
l’avait parcouru. Jérôme lui demanda ce qu’elle en pensait.
— La fin me plaît, répondit-elle. Mme de Clèves pourrait être,
selon le monde, heureuse ; elle choisit la voie où l’on renonce. C’est
très bien.
Agnès, sortie de son reploiement, contesta :
— Le beau mérite ! Elle assure sa tranquillité. Le courage lui
manque en face d’un avenir où des risques seraient possibles. Elle
n’a que la sagesse des cœurs pauvres, la sagesse des vieilles
dames sans enfants qui mettent tout en viager…
— Détrompez-vous, ma chère Agnès, interrompit Mme Élise ;
sacrifier un grand bonheur exige plus de courage que s’y
abandonner.
— Mme de Clèves, opina Jérôme, n’est pas bien à plaindre. Deux
hommes l’ont chérie d’un grand amour ; pour finir, elle se donne à
Dieu. Agnès, voulez-vous permettre qu’on vous en souhaite autant ?
— Oh ! non, par pitié ! Ne me rêvez pas un mari insipide comme
M. de Clèves, un bonnet de nuit, un Monsieur tellement raisonnable
que j’aurais honte de moi-même en sa présence. J’aimerais cent fois
mieux mourir vieille fille.
Jérôme faillit oser cette question : « Quel mari souhaiteriez-vous
donc ? » Mais il devait à son éducation de savoir ce qu’on peut dire
ou taire. Il poursuivit d’un ton cavalier :
— Ce n’est pas Mme de Clèves qui m’intéresse, c’est M. de
Nemours. Je trouve en ce personnage quelque chose que la guerre
a exalté chez moi : le goût du danger. Je n’admets que les héros
aventureux. Ce matin, je me suis mis à lire la Vie de Benvenuto
Cellini écrite par lui-même. Voilà un homme !
— Un forban ! s’écria Mme Élise. Je l’ai feuilletée au hasard ; je
suis tombée sur un passage !… Je ne comprends pas, mon enfant,
quel plaisir tu peux avoir en si mauvaise compagnie.
Jérôme défendit son admiration. On ne devait pas juger
Benvenuto dans les récits de « fredaines » qu’exagère sa forfanterie.
Le vaillant toujours prêt à se battre seul contre dix, l’artiste fier et qui
sent sa force, maîtrisant, pour créer ses œuvres, les événements et
les hommes coalisés, amplifiant toutes les puissances de son art,
chrétien aussi, capable de magnifiques ferveurs et même d’humilité
pénitente, c’était grand, cela.
— Un caractère, avouez-le, maman, tel qu’on n’en fait plus. Il
nous change des platitudes où l’après-guerre, déjà, nous renfonce.
Je voudrais être ainsi trempé, agir au lieu de désirer.
Mme Élise n’insista point. Les fils, quand ils argumentent contre
leur mère, croient la convaincre, si elle cesse de les contredire. En
fait, la mère de Jérôme, l’entendant qualifier de « fredaines » les
débordements d’un Cellini, conclut que la jeunesse folle commençait
à lui troubler le cerveau, qu’il faudrait le suivre avec plus de
vigilance, et le marier, comme pensait le Père, promptement.
Ils arrivaient à l’orée des bois. De jeunes bois qui gardaient un
peu de leur livrée d’hiver. Des feuilles rouillées pendaient encore aux
plus hautes branches des chênes. La jonchée de l’automne couvrait
le sol des clairières ; mais l’herbe neuve trouait ce tapis de choses
mortes ; elle mariait son odeur acide à celle, plus âpre, des écorces
travaillées par la sève. S’il y avait, dans les taillis, des creux
grisâtres, on eût dit qu’entre les lignes entrecroisées des troncs une
fée tissait le rideau des verdures. Le soleil les touchait de ses doigts
errants. Les feuillages, où chantaient des nids, s’élançaient, enivrés,
vers la grande Main qui emplissait la terre de sa bénédiction.
Mme Élise et Antoinette goûtaient le silence méditatif des arbres.
« Ils écoutent passer Dieu, » comme Antoinette disait. Les bois, pour
elles, continuaient l’église. Agnès, d’ordinaire, éprouvait, en les
traversant, un malaise, presque une aversion. Ils lui pesaient à la
façon d’un toit cachant l’espace. Elle croyait y respirer moins
librement. Pourquoi, ce jour-là, fut-elle ravie de s’engager dans le
mystère des routes, marchant à la découverte d’un château dont elle
ne savait rien, sinon qu’une femme très éprise, avant d’être
délaissée, y connut des temps heureux ?
Le plus imprévu des accidents allait rompre cette promenade. Ils
descendaient par un sentier creux où les pluies avaient laissé des
ornières boueuses. Mme Élise s’avançait, précédant Antoinette.
Agnès, pour ne point gâter ses bottines, grimpa sur le talus, et, en
chemin, elle se baissait, cueillait dans l’herbe des pâquerettes.
Attardée, elle redescendit, en courant, le long du talus raide, vers le
sentier. Mais, la terre étant molle, elle glissa, sauta d’un saut
brusque plutôt que de s’affaisser dans la boue, et, avec son haut
talon, se tordit le pied gauche si violemment que la douleur la cloua
sur place.
Jérôme, qui l’entendit, se retourna, l’aperçut pâlir et réprimer une
grimace de souffrance, tandis qu’elle essayait de faire quelques pas.
— Me voilà bien, dit-elle ; je crois m’être déboîté le pied… Tout de
même, je n’ai pas lâché mon bouquet.
Mme Élise et Antoinette disparaissaient, loin déjà, derrière une
haie bouillonnante d’aubépines. Il les appela, elles accoururent.
Soutenue par Antoinette, Agnès tenta un nouvel effort ; Jérôme lui
offrit son bras. Mais elle clopinait lamentablement ; elle se vit
ridicule ; elle s’arrêta. Et il fallait marcher un quart d’heure avant
d’atteindre la route où une voiture pourrait venir la prendre.
— Nous allons vous porter, Antoinette et moi, proposa Mme Élise.
De leurs mains entrelacées elles firent un tabouret où elles
assirent Agnès. Mais Antoinette, au bout de cinq minutes, fut
exténuée. Agnès dut reposer sur le sol son pied endolori.
— Allons, dit Jérôme, c’est moi qui vous porterai. Un vieux poilu
n’est jamais embarrassé…
— Non, se défendit-elle. Je suis trop lourde !
Avant qu’elle pût réfléchir, il entoura sa taille du bras qui lui restait
vigoureux, et, l’attirant avec l’autre, il l’enleva comme un danseur
rustique saisit à plein corps sa danseuse. Elle ne résista point ; il prit
son élan sur la montée rude. Tout d’abord, elle n’osait se pendre à
son cou ; elle pesait ainsi davantage.
— N’ayez point peur, enjoignit-il ; serrez-moi fortement.
Elle obéit, noua ses deux mains au cou de Jérôme et s’appuya
contre sa joue ; il sentait le frôlement de ses cheveux et le souffle de
ses lèvres. Mais il n’avait qu’une idée : ne pas faiblir, la porter
jusqu’au bout.
— Je vous fatigue ; laissez-moi, supplia-t-elle, s’apercevant qu’il
se raidissait.
— Vous vous moquez, Agnès ; une sylphide serait moins légère.
— Vous savez donc le poids d’une sylphide ?
Il tint bon et la déposa doucement sur l’herbe, au bord de la
route.
Pendant qu’Antoinette et Mme Élise examinaient le pied blessé, il
courut à Garches quérir une automobile, prévenir un médecin.
Agnès, au retour, plaisanta sur son mal ; sa cheville n’était pas
déboîtée ; elle en serait quitte pour une quinzaine de chaise-longue.
Elle pensait déjà moins à son entorse qu’à la hardiesse de Jérôme.
Cette petite aventure ouvrait devant son imagination des
perspectives. L’impétueuse galanterie du jeune homme touchait ce
qu’il y avait en elle de naïf et de romanesque. Mais devait-elle y voir
l’élan vrai d’une passion ? Et, surtout, avait-elle bien fait de
s’abandonner si facilement entre ses bras ? Antoinette, quand, seule
à seule, elles en parlèrent, trancha, en fille avisée, ce cas de
conscience :
— Je n’aurais pas, moi, consenti. J’aurais attendu de pouvoir
marcher ou qu’on me transportât sur une civière. Mais toi, et avec
Jérôme, c’est différent…
— Pourquoi dis-tu : Et avec Jérôme ?
— Parce qu’il revient de la guerre, parce que c’est un camarade,
un très bon garçon, parce que…
— Eh bien ! Parce que ?…
— Parce qu’il a peut-être des vues sur toi.
Agnès partit d’un rire fébrile, se prit la tête entre les mains, et, sur
un ton énervé qui la trahissait :
— Tu t’abuses, Toinon, tu t’abuses. Il a voulu se prouver à lui-
même qu’il est un héros aventureux…
Mme Élise ne fit, en présence des deux sœurs, aucune allusion à
l’acte irréfléchi de Jérôme. Elle croyait maladroit même d’excuser sa
« vivacité ».
En plaisantant, elle l’avertit :
— Jérôme, tu n’y vas pas de main morte. Tu enlèves les
demoiselles comme un meunier un sac de farine.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like