Procedural Rhythm Games and Flow State
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: Home Setup · Time: 1 to 2 Months
The Hook
A song can hide a lot more than a melody. With the right algorithm, you can turn beats, accents, and tempo changes into a playable game level. Then you can test whether players feel more focused, more challenged, or more bored. That makes this a rare project that mixes music, code, and human behavior.
What Is It?
This project asks a simple question with a cool twist: can a computer hear a song and build a rhythm game level that feels good to play? Your program listens for onsets, which are sudden sound starts, and beat tracking, which estimates the pulse of the song. Then it places notes or actions on top of that timing map.
Think of it like a dance partner that learns the song on the fly. A hand-authored chart is made by a person who decides where every note goes. A procedural chart is made by rules and data. You can also fit the difficulty curve to a player's past session telemetry, such as hit accuracy, reaction time, and miss streaks, so the game gets easier or harder in a way that matches that player.
The research side is not just about making the chart. You also measure how people feel while playing. Flow state means that sweet spot where a task feels challenging but still manageable. You can compare flow ratings, performance, and preference scores for auto-authored levels versus human-made ones.
Why This Is a Good Topic
This is a strong science fair topic because you can test one clear system, change one part at a time, and collect real data from players. It connects to music games, adaptive difficulty, human-computer interaction, and player experience, which gives it real-world relevance. You can learn signal processing, basic machine learning ideas, experimental design, and statistics without needing a wet lab.
Research Questions
- How does auto-authored chart timing based on beat tracking affect player flow ratings compared with hand-authored charts?
- What is the effect of difficulty curves fitted to prior session telemetry on hit accuracy and miss rate?
- Does onset-detection accuracy change the match between chart timing and a song's perceived rhythm?
- To what extent do different song genres produce different quality scores for auto-generated levels?
- Which telemetry features, such as reaction time or combo breaks, best predict the next session's ideal difficulty?
- How does note density affect player preference when the song and charting method stay the same?
Basic Materials
- Laptop or desktop computer with enough power to run audio analysis and the game.
- Python installed with audio analysis and data handling libraries.
- Headphones or speakers with consistent volume.
- A set of songs with clear tempo and beat structure.
- Web form or survey tool for flow-state ratings.
- Spreadsheet software for logging gameplay data.
- Basic game engine or simple Python framework for building the prototype.
Advanced Materials
- Access to a computer with a GPU for faster model testing if needed.
- Microphone for optional live response testing.
- Multiple input devices, such as keyboard, controller, or touchscreen, for comparing play styles.
- External audio interface for stable playback and recording.
- Statistical software or Python notebooks for mixed-effects analysis.
- Audio annotation tool for checking beat and onset labels.
- Version control software for tracking chart-generation changes.
Software & Tools
- Python: Runs your audio analysis, chart generation, and data processing.
- librosa: Extracts onsets, beats, tempo, and other music features from audio files.
- Pandas: Organizes player telemetry and survey results for analysis.
- Jupyter Notebook: Helps you inspect charts, plots, and performance metrics step by step.
- Google Forms: Collects flow-state ratings and preference responses from players.
Experiment Steps
- Define the exact game outcome you want to measure, such as flow rating, accuracy, or replay preference.
- Choose one chart-generation rule set first, then decide which music features will drive note placement.
- Build a comparison condition, such as a hand-authored chart or a simple random chart, so you have a fair baseline.
- Plan the telemetry you will log, including input timing, misses, streaks, and session history, so difficulty adaptation has real data.
- Design a rating system for player experience that is short, repeatable, and tied to each song session.
- Set up the analysis plan before collecting data, including how you will compare players, songs, and chart types.
Common Pitfalls
- Using songs with weak or messy beats, which makes beat tracking fail and hides whether the charting method worked.
- Changing volume, latency, or input device between sessions, which makes player telemetry hard to compare.
- Letting chart density vary too much across songs, which confounds difficulty with song structure.
- Collecting too few play sessions, which leaves flow ratings too noisy to support a strong conclusion.
- Comparing auto-generated charts to hand-authored charts that do not match in overall challenge, which makes the experiment unfair.
What Makes This Competitive
A competitive version of this project goes beyond making a fun prototype. You would test whether your charting system generalizes across different songs, player skill levels, and genres. Strong projects also use careful controls, such as matched difficulty baselines and repeated measures with the same players. If you add a smart analysis of telemetry and show why one adaptation rule works better than another, your project starts to look like real human-computer interaction research.
Project Variations
- Test how auto-generated charts perform on fast electronic music versus slower acoustic songs.
- Compare beat-tracked charts with onset-only charts to see which one gives better player flow.
- Analyze whether adaptive difficulty works better for new players than for experienced rhythm game players.
Learn More
- librosa documentation: Search the official librosa docs for beat tracking, onset detection, and tempo estimation.
- MIT OpenCourseWare, Introduction to Computer Science and Programming in Python: Find the course materials for Python basics and data handling.
- NIH PubMed: Search review articles on flow state, attention, and human-computer interaction in games.
- IEEE Xplore: Search for papers on procedural content generation, rhythm games, and adaptive difficulty.
- Jupyter Documentation: Learn how to run notebooks for plots, metrics, and analysis code.
- Game Accessibility Guidelines: Read the nonprofit guidelines to think about player input, timing, and fair testing.
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 →
