Inspiration

Learning object-oriented programming usually happens through small assignments or isolated coding problems. While those are useful, they don’t really capture the collaborative and chaotic nature of real programming environments.

At the same time, social deduction games like Among Us are fun because they mix teamwork, communication, and suspicion. We thought it would be interesting to combine those ideas and see if programming practice could be turned into a multiplayer experience.

That idea became Code Sus — a game where players solve coding tasks together while trying to figure out who is secretly sabotaging the code. A new fun way for you and your friends to practice for coding interviews!

What it does

Code Sus is a multiplayer social deduction game where players complete real coding challenges while trying to identify a hidden hacker.

3–8 players join a room, choose a codename and avatar color, and start a match together. Players are assigned one of two roles:

Codemates work together to complete object-oriented programming tasks such as inheritance, polymorphism, and encapsulation.

The Hacker pretends to help but secretly sabotages the system by corrupting code or triggering disruptions.

Players move around a 2D ship map with different coding stations like Inheritance Bay, Polymorphism Lab, and Encapsulation Vault. When a player interacts with a station, they open a shared code editor where teammates can see each other typing in real time.

The Hacker sees fake task interfaces and can trigger sabotage events like blackouts or corrupted code to slow everyone down.

Players can call emergency meetings to discuss suspicious behavior and vote someone out.

The match ends when:

Codemates complete all coding tasks

Codemates successfully vote out the Hacker

The Hacker overwhelms the crew through sabotage or reaches player parity

How we built it

We built Code Sus as a real-time multiplayer web game.

The frontend is built with React and Vite. It handles the game interface, player movement, the shared code editor, and meeting screens.

The backend runs on Node.js with Express and Socket.IO. This server keeps track of the game state and synchronizes player movement, roles, task progress, sabotage events, and voting so that everyone sees the same thing in real time.

We also built a separate AI agent service in Python using FastAPI. This service runs several AI-powered agents that help generate coding tasks, verify solutions, and analyze player behavior during meetings.

The AI system is powered by Railtracks and Gemini, which allows the game to dynamically generate new coding challenges and provide feedback after matches.

Challenges we ran into

One of the biggest challenges was handling real-time multiplayer state.

Movement, meetings, sabotage events, and code editing all needed to stay synchronized across multiple players. Making sure everyone saw the same game state required careful server-side event handling and testing.

Another challenge was designing coding tasks that were challenging but still playable in a fast-paced game setting. We had to balance learning concepts with keeping the gameplay fun.

Accomplishments that we're proud of

We’re proud that we managed to build a fully playable multiplayer game during the hackathon.

Players can move around the map, collaborate on real coding tasks in a shared editor, sabotage each other, and hold meetings to vote someone out.

We also successfully integrated an AI agent system that can generate coding challenges and analyze gameplay, which makes every match feel a little different.

What we learned

This project gave us a lot of hands-on experience with real-time systems and multiplayer architecture.

We learned how to manage shared state between many players, how to structure game logic on the server, and how to integrate AI agents into a live application.

We also learned that turning programming concepts into gameplay mechanics is harder than it sounds — but when it works, it makes learning much more engaging.

What's next for Code Sus

There are a lot of directions we could take this project next.

Some ideas we’d like to explore include:

  • imposters/hackers sabotage already completed/accepted code to make the game harder

  • difficulty level (i.e. beginner, intermediate, advanced)

  • adding more programming topics like other coding languages, data structures for interviews and various debugging tasks

  • expanding the map and adding new sabotage mechanics

  • allowing instructors to create custom task sets for students

  • adding better analytics on player solutions and learning progress

Our goal is to keep developing Code Sus into a multiplayer environment where people can practice programming concepts while actually enjoying the process.

Built With

Share this project:

Updates