Inspiration

Corruption is often taught through boring lectures and thick law books, yet it remains a pervasive global issue. We realized that people don't choose corruption because they lack knowledge; they choose it because they succumb to pressure.

We wanted to answer a terrifying question: "If I were in their shoes—buried in debt, pressured by superiors, and offered a suitcase full of cash—would I have the strength to say no?"

The Corruptor was born from the desire to shift corruption education from passive reading to active experiencing. We wanted to gamify the "slippery slope" of morality, proving that corruption rarely starts with a bang, but with a whisper.

What it does

The Corruptor is a high-stakes political simulation game where players assume the roles of government officials (e.g., a Prosecutor, a Party Chairman).

Unlike a standard visual novel, the game features a Dynamic Consequence Engine. Every decision involves a trade-off between three critical resources:

  1. 💰 Personal Wealth: Can you survive without the bribe money?
  2. 📢 Public Trust: Will the people support your policies?
  3. ⚖️ Investigation Risk: How close are you to being caught?

Players navigate complex scenarios where the "right" choice often leads to poverty or political suicide, forcing them to balance their integrity against their survival.

How we built it

We adopted a Modern Decoupled Architecture to ensure scalability and separation of concerns:

  • The Brain (Backend): We used Python (FastAPI) for its high performance and strict data validation with Pydantic. This handles the game logic, state management, and probability calculations for the "Risk" mechanic.
  • The Face (Frontend): Built with React.js and Vite, styled with Tailwind CSS. We utilized a "Glassmorphism" aesthetic with dark tones to create a serious, noir-political atmosphere.
  • The Heart (Data Engine): We engineered a custom JSON-based Narrative System. This allows our narrative designers to write complex, branching storylines in simple JSON files without touching a single line of code. The frontend dynamically renders these stories, making the content infinitely expandable.

Challenges we ran into

  • Balancing the "Risk" Algorithm: We struggled to make the game fair but punishing. Initially, players were getting arrested too easily. We had to fine-tune the math so that the tension rises gradually, mimicking the real-world psychological pressure of hiding a crime.
  • State Management Complexity: Tracking the domino effect of choices (e.g., a choice in Chapter 1 affecting an outcome in Chapter 5) required a robust state management system between the React frontend and the Python backend.
  • Narrative Branching: Writing a story that branches exponentially is difficult. We had to ensure every path felt meaningful and didn't lead to dead ends too quickly.

Accomplishments that we're proud of

  • The UI/UX Design: We are incredibly proud of the atmospheric interface. The HUD responsiveness and the visual feedback when "Risk" increases really sell the tension.
  • The Modular Engine: We successfully separated the story data from the application logic. This means we can add 100 new characters/scenarios tomorrow just by uploading JSON files, without redeploying the backend.
  • Cross-Discipline Collaboration: Merging a complex Python backend with a reactive Frontend while coordinating with narrative design was a huge learning curve that we conquered.

What we learned

  • Psychology of Choice: We learned that when you put players in a desperate situation, they often justify "small evils." It validated our hypothesis that gamification is a powerful empathy tool.
  • Full-Stack Integration: We gained deep insights into RESTful API patterns, specifically how to handle game sessions and persistent states securely.
  • The Power of Pydantic: Using strict typing in Python saved us from countless bugs during the data parsing process.

What's next for The Corruptor

  • 🤖 AI-Powered Profiling: We plan to integrate Machine Learning to analyze player choices and generate a "Corruption Profile" (e.g., " The Opportunist" vs. "The Mastermind") at the end of the game.
  • 🌍 Global Leaderboard: A system to compare "Integrity Scores" worldwide.
  • 📱 Mobile Adaptation: Porting the React frontend to React Native to make this educational tool accessible to students everywhere via smartphones.

Link The Corruptor : https://corrupt-production.up.railway.app/

Built With

Share this project:

Updates