Webcam Dynamic Difficulty for Games
ISEF Category: Technology Enhances the Arts
Ready to Turn This Idea Into a Real Project?
This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.
For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
Subcategory: Games · Difficulty: Advanced · Setup: University Lab · Time: Full Year
The Hook
Most games guess your skill from score alone. Your face gives away more than that. A bored player, a frustrated player, and an engaged player do not need the same challenge. If your game can read those signals, it can change difficulty before the player quits.
What Is It?
This project asks a simple question with a tricky answer: can a game notice how you feel and adjust itself while you play? A dynamic difficulty adjuster, or DDA, is a system that changes challenge on the fly. Think of it like a coach who watches your expression and changes the drill before you get stuck or bored.
Your version uses webcam-based facial-affect estimation. Facial affect means clues from your face that suggest frustration, boredom, or engagement. The system can turn enemy speed, spawn rate, damage, or reaction time up or down. You then compare that adaptive version with a fixed-difficulty version to see which one players enjoy more, finish more often, or rate as more fair.
This is not about perfect mind reading. It is about whether simple signals, like facial movement patterns, can help a game stay in the sweet spot between too easy and too hard.
Why This Is a Good Topic
This makes a strong science fair topic because you can test a clear input, a clear output, and a real human response. You can measure whether the adaptive system changes player experience, performance, or session length compared with a fixed game. The topic connects to game design, human-computer interaction, and machine learning, and you can learn how to build a model, run an A/B test, and analyze player data.
Research Questions
- How does webcam-based adaptive difficulty affect player enjoyment compared with fixed difficulty?
- What is the effect of facial-affect-based adjustment on player completion rate in a platformer?
- Does a frustration-triggered difficulty drop improve player retention more than score-based adjustment?
- To what extent do players report that adaptive difficulty feels fairer than fixed difficulty?
- Which enemy AI parameter, such as speed, spawn rate, or attack frequency, responds most strongly to affect-based tuning?
- How does the accuracy of simple facial-affect classification change when lighting or camera position changes?
Basic Materials
- Laptop or desktop computer with webcam.
- Godot game engine installed.
- Python installed.
- OpenCV computer vision library.
- Basic facial-affect model or rule-based classifier.
- Survey form tool, such as Google Forms, for player feedback.
- Headphones or speakers.
- Quiet room with stable lighting.
- Player consent form and data log sheet.
Advanced Materials
- Computer with webcam and external lighting control.
- Godot project with script access for enemy AI parameters.
- Python environment with OpenCV, MediaPipe, or a facial-expression model.
- Pretrained affect-estimation model or custom classifier.
- Spreadsheet software for analysis.
- Statistical software or Python libraries for A/B testing and effect sizes.
- Screen recording software for session review.
- Optional external camera for comparison trials.
- Institutional review or teacher approval documents, if needed.
Software & Tools
- Godot: Builds the platformer and lets you expose difficulty variables for real-time control.
- OpenCV: Captures webcam frames and processes face landmarks or expression cues.
- MediaPipe: Detects face landmarks that can help you estimate expression changes.
- Python: Connects the camera input, the affect logic, and the game control script.
- Google Sheets: Organizes trial data, survey scores, and basic summary charts.
Experiment Steps
- Define the one player signal you will classify first, such as engagement, boredom, or frustration.
- Choose the game variables your system can change without breaking play, such as enemy speed or spawn rate.
- Build a baseline version with fixed difficulty so you have a fair comparison.
- Design a simple adaptive rule or classifier that maps face signals to difficulty changes.
- Plan controls that keep level design, player skill, and play order from biasing the result.
- Set up your outcome measures, such as enjoyment rating, completion rate, and time survived.
Common Pitfalls
- Training on facial signals that are too noisy, which makes the model react to random movement instead of player state.
- Changing too many difficulty parameters at once, which makes it impossible to tell what caused the player response.
- Using a webcam in unstable light, which shifts the image and breaks expression detection.
- Letting the adaptive version also change level layout, which confounds difficulty with content differences.
- Measuring success only by score, which misses whether players felt engaged, bored, or frustrated.
What Makes This Competitive
A strong version of this project does more than prove that adaptive difficulty feels nice. It tests whether the system beats a fixed baseline across multiple player types, not just one small group. It also separates the effect of the model from the effect of the game rules, then uses sound statistics to compare outcomes. If you can explain when the system helps, when it fails, and why, your project gets much stronger.
Project Variations
- Use eye-gaze or head-pose cues instead of expression to estimate engagement during play.
- Test the same adaptive system in a different genre, such as a rhythm game or endless runner.
- Compare a handcrafted rule-based difficulty controller with a small machine learning model.
Learn More
- MIT OpenCourseWare 6.034 Artificial Intelligence: Search for lectures on decision making and machine learning basics that can inform adaptive game logic.
- Google Scholar: Search for review articles on dynamic difficulty adjustment and player modeling in games.
- PubMed: Search for papers on facial-expression analysis, affect detection, and human-computer interaction methods.
- IEEE Xplore: Search for peer-reviewed papers on adaptive games and real-time player state estimation.
- Godot Documentation: Read the engine docs for scripting, signals, and game state control.
- NIH PubMed Central: Search for open-access full-text articles on affect recognition and usability studies.
Technology Enhances the Arts Category Guide
How to Do Real Technology Enhances the Arts Research at Home: A High School Student’s Guide to Free Tools, Affordable Kits, and Public Databases →For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub →
