Master's Thesis ~ Ara: The Second World - CrucibleReal time Adaptive Difficulty AI in a Procedurally Generated Bullet Hell Gameby Mew77Ara: The Second World - Crucible is a 2D vertical scrolling shooter game with an AI director that procedurally generates and adjusts gameplay variables to properly challenge the player. The goal of the thesis is to design a system that can challenge players of all skill levels. The bullet hell genre has a significant skill gap between novice and advanced players making it an ideal framework to use.
Story: None yet, the idea was that the Crucible was the final test for aspiring battle mages.
Game ControlsArrow Keys = Movement
Z = Primary Shot
Hold Shift = Focus Mode
X = Activate Barrier
1-6 or Cursor = Select Feat
Debug ControlsF4 = Draw Game Debug
F5 = Draw Collision Debug
F6 = Draw AI Debug, and enable AI logging.
MechanicsFocus Mode: 50% player move speed, show hitbox and slow enemies and enemy bullets by 15%.
Barrier: 20 mana to conjure a barrier that lasts for 10 seconds or 2 hits, whichever comes first.
The primary shot is changed with powerups rather than the traditional touhou style.
The player collects XP orbs based on the relative difference between the player and enemy level. Every 100 XP grants 1 Lv.
The player gains Feats when leveling up, feats are permanent upgrades to your character. There are a few feats that will always be in the list if selectable, otherwise the AI system will recommend feats to the player based on how they are doing.
Adaptive Difficulty AI SystemThe Adaptive Difficulty AI looks at gameplay metrics and makes judgements every 10 seconds to adjust gameplay variables to create a challenging but fair experience for all skill levels. Press F6 to enable AI debug and AI logging.
Final ThoughtsThe game has just one procedurally generated stage consisting of 20 encounters and is meant to be a 10 minute test for the Adaptive AI System.
Notes
I wrote the engine on a WIndows 7 PC, and honestly probably used C++ calls that are windows specific. Please let me know if it does not run on other PCs as I have not done proper compatibility testing on this.
Added a means for the system to adjust bullet patterns and bullets, with the means of adjustment in the XML.
Any feedback will be helpful, also of anyone can help me out with sprites, sounds or whatever that would be great, most of the current enemy sprites are stolen lovingly from Touhoumon and then color shifted in photoshop. The character sprite is taken from CTC, which needs to change too. I do hope to develop this into a full commercial bullet hell game one day, so any help will be appreciated.
Download Game (Win32 Application): https://www.dropbox.com/sh/tdow0dldnqsje89/AADPTmZhl-Kua8ff0hLqkBkGa?dl=0