NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

28
THE GROWTH OF THE NPC NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer

description

Genetic Algorithm (GA) a) Create random population (set of chromosomes) b) Evaluate each chromosome using fitness function c) Select best n to continue into next generation d) Perform genetic operations - Mutation - Crossover e) Repeat from b until desired fitness is achieved

Transcript of NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Page 1: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

THE GROWTH OF THE NPCNPC Adaptation in Interactive Fiction

By: Ryen WilkinsAdviser: Dr. C. David Shaffer

Page 2: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Introduction Description:

- Can Interactive Fiction (IF) take advantage of machine learning to build a more compelling story?

Implementation:- Focus on Genetic Algorithm- Limited story with learning character(s)- TADS 3 Interactive Fiction authoring system- Rock, Paper, Scissors

Page 3: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Genetic Algorithm (GA)a) Create random population (set of chromosomes)b) Evaluate each chromosome using fitness functionc) Select best n to continue into next generationd) Perform genetic operations- Mutation- Crossovere) Repeat from b until desired fitness is achieved

Page 4: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Interactive Fiction Story in which the reader interacts with

characters or items, typically impacting the story line.

Several genres exist There are several IF authoring systems:

Inform, TADS, Adrift, Quest… None include support for machine

learning

Page 5: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

TADS 3 Dialogue Example

Page 6: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

TADS 3 Similar in appearance to C++, Java and

Javascript. Prototype-based language. Standard object library (Adv3 library). Built in random generator. Debugging tool. Replay function. Vectors.

Page 7: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Incorporating GA in TADS 3 Used Object-Oriented Implementation of

Numerical Methods by Didier Besset Convert from class-based OOL to

prototype-based OOL. Deal with differences in library, random

generator, collections, iteration, etc.

Page 8: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Incorporating GA in TADS 3 Pre-test: Partition Problem Vector of weights. Each must be assigned to

a left or right scale. Goal is to get as close to balanced as

possible. Chromosome: Vector of 1s (left) and 0s

(right) Results: Simple test shows genetic algorithm

is capable of being implemented in TADS 3

Page 9: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Next Step Can I get a character in the story to

react to the reader’s decisions? Need a setting.

- Reader is a wizard trapped in a dungeon.- Discovers that he will be released from the dungeon if he can defeat a guard in a game of rock, cloth, knife.

Page 10: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Rock, Cloth, Knife Chromosome: Probabilities that this guard

will select rock, cloth or knife. Initial population size: 100 From reader: 5 sets of 5 rounds each Fitness: Number of sets in which the

chromosome defeats the player. (50 iterations per set.)

Compared with system where rock, cloth and knife have equal probability (uniform).

Page 11: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Mutation and Crossover Mutation:

- New random value.- Mutate two at a time.

Crossover: - Cross and switch multiple values across two members.- Add both.

Page 12: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Initial Results “Good” members were lost in mutation. Adding both crossover members could

trap algorithm when too many poor members were made because of it.

Page 13: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Mutation and Crossover revisited Creep mutation – Small amount added

or subtracted to a value. More even results and don’t lose “good” members.

Crossover over one value and only add a single new member.

Page 14: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Uniform PlayerRCK Results (50 iterations/set – 5 generations)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Total Wins

Trial #

Page 15: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Rock focused player (75%)50 iterations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 16: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Cloth focused player (75%)50 iterations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 17: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Knife focused player (75%)50 iterations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 18: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

25-50-25 – 50 iterations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 19: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Me (R: 11 C: 8 K: 6) 50 iterations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 20: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Conclusions Genetic algorithm creates better

opponents for specialized strategies than a uniform strategy, the only option built in with TADS 3.

Results can be used to create a character(s) that will seem to react to how the reader plays the game.

Page 21: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Second level (uniform)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 22: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Uniform – 50 generations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 23: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Uniform – 100 generations

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 24: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Second level (25-50-25)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 25: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Second level (25-50-25 50 generations)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 26: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Second Level (me)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 27: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Second level (me – 50 generations)

1 2 3 4 5 6 7 8 9 100

50

100

150

200

250

GAUniform

Page 28: NPC Adaptation in Interactive Fiction By: Ryen Wilkins Adviser: Dr. C. David Shaffer.

Future Work Expand to a more difficult game:

- Waving Hands: http://www.gamecabinet.com/rules/WavingHands.html