Inspiration We noticed a critical flaw in how coding is taught: students are trained to be "Syntax Architects"—great at writing code on a blank page, but terrified when it breaks. Traditional education ignores the reality that 80% of software engineering is debugging.

We wanted to transform the fear of error messages into a thrill. We asked: What if the only way to survive a haunted school was to fix the broken Python scripts controlling the doors? Thus, Exit 0 was born—shifting the focus from rote memorization to resilience.

What it does Exit 0 is a Pygame-based horror escape room where you debug your way to freedom.

The Premise: You are trapped in an abandoned school with your AI friend. Every door and machine is controlled by corrupted Python scripts.

The Companion: Unlike standard tutorials, you aren't alone. Your AI companion (powered by LangChain) is trapped with you. In their panic, they write buggy code to open the doors.

The Gameplay: You don't write code from scratch. You inspect your friend's messy code, identify logic errors (like mixing up = vs ==), and debug it together to unlock the next room.

How we would build it We strictly adhered to the mandatory Tech For Good stack:

Pygame (Core Engine): We built 5 atmospheric rooms (Detention, Library, etc.) with custom event handling for the "glitch" mechanics.

LangChain & Azure OpenAI: We engineered a "Peer Learner" agent. Instead of a teacher who knows everything, the AI acts as a supportive friend who gives scaffolded hints based on your specific syntax errors.

BeautifulSoup (In-Game Archives): We built a scraper that fetches real-time Python documentation and renders it as "Ancient School Records," teaching players how to read technical docs.

Sandboxed Execution: We used a restricted Python exec() environment to safely validate player code in real-time.

Challenges we ran into The "Helper" Paradox: Initially, the AI gave away answers too easily. We had to refine our system prompts to ensure the AI offered scaffolding (vague nudges) before solutions.

Visualizing Logic: Translating abstract concepts (like loops) into physical horror mechanics (e.g., a piano playing faster) was a design challenge.

Security: Safely running user-generated code via exec() required strict input sanitization to prevent infinite loops from crashing the game.

Accomplishments that we're proud of The "Hand-in-Hand" Dynamic: We successfully moved away from the "God-mode" tutor AI. Our AI feels like a teammate, creating a psychological safety net for failure.

Atmospheric Learning: We proved that learning doesn't have to be dry. Turning a syntax error into a spooky room glitch makes the feedback loop instant and memorable.

What we learned Error Messages are Narrative Gold: We learned that raw Python error logs can be translated into narrative clues. IndexError isn't just a crash; it's a ghost trying to reach a room that doesn't exist.

Resilience over Rote: Students engage far more when the stakes are "survival" rather than just a checkmark.

Built With

Share this project:

Updates