Albert Chen
Software Development
«
Real Time Adaptive Difficulty Artificial Intelligence for a Procedurally
Generated Bullet Hell Game
For my thesis, I created Crucible, a 2D
The system analyzes gameplay metrics
director that procedurally generates and
are in turn used by the Judge to make
vertical scrolling shooter game with an AI
adjusts gameplay variables to properly
challenge the player. The goal of my thesis
is to design a system that can challenge
judgements on what gameplay values
should be adjusted.
players of all skill levels. The bullet hell
Adaptive AI Systems, such as Left 4
novice and advanced players, making it
allow for challenging, fair, and interesting
genre has a significant skill gap between
an ideal framework to use.
Crucible is written using Warlockery, my
custom C++ game engine. The game was
designed to best showcase the Adaptive
AI system. The content in the game is
loaded in from XML files at game start
up. This allowed for rapid iteration on
enemies, bullets, bullet patterns, feats,
flight paths, items, and the user interface.
The purpose of the Adaptive AI System
is to provide a challenging, fair and
interesting experience for the player.
28
to determine satisfaction values, which
SOFTWARE DEVELOPMENT
Dead’s AI Director, or Skyrim’s Radiant AI,
gameplay to be procedurally generated
given collected metrics and a set of rules
to work with. I learned a great deal about
designing Adaptive AI and Gameplay
Metric systems as well as creating a
procedural generation framework for
future work in the bullet hell genre. I
found that my system adjusted slower
than necessary to provide a worthy level
of challenge to some players. Despite
that, the encounters generated were
interesting, and players found the overall
game to be fun and the difficulty curve to
feel natural.