Adaptive Shooter

2012
C++ ClanLib 2.4 Lua Scripting Dynamic Difficulty Adaptivity M.Sc. Research

Overview & Research

Adaptive Shooter is a 2D shoot'em up game specifically designed and developed for my Master's in Computer Science dissertation at PUC-Rio. It implements an experimental dynamic difficulty adaptivity (DDA) system that continuously monitors player performance in real time and automatically balances enemy parameters to match perceived player skill.

The game models player challenge levels without explicit manual difficulty selection, ensuring players neither get bored from excessive ease nor frustrated by insurmountable difficulty. Further findings and formal evaluations are published in the research section of this portfolio.

"Dynamic difficulty adaptivity systems bridge player intent and game challenge, tailoring the feedback loop to individual proficiency curves."

Architecture & Implementation

The core engine was built from scratch in C++ utilizing ClanLib 2.4 for graphics rendering, audio playback, and input handling. Enemy wave configurations, spawn behaviors, and player difficulty categories are flexibly declared and manipulated via Lua scripts, decoupling game balancing logic from the native C++ engine pipeline.

Adaptive Shooter in debug mode showcasing real-time variables and hitboxes

Real-time debug mode rendering observed performance variables, bounding boxes, and collision layers.