Inspiration
We wanted to turn coding from a traditionally isolated activity into something social, competitive, and genuinely fun. Most coding platforms focus on solving problems alone, getting a score, and moving on to the next question. Real software development, however, is completely different. Developers work together, review each other’s code, debug unexpected problems, communicate under pressure, and have to decide whether they can trust the people they are working with.
Games like Among Us showed us how powerful trust, deception, observation, and teamwork can be as game mechanics. We wanted to combine those mechanics with something developers already understand: code.
That led to Devception, where every line of code can become evidence, every teammate can become a suspect, and debugging becomes part of a social deduction game.
What it does
Devception is a multiplayer social deduction coding game for 4 to 10 players.
Players enter a shared game room, choose a programming language and difficulty, and receive a secret role. Most players become Developers while one or more players secretly become Imposters.
The Developers have to work together on a real programming challenge, complete objectives, fix bugs, and finish the code before the timer runs out. At the same time, the Imposter secretly tries to sabotage the code, introduce bugs, mislead other players, and avoid being detected.
All players can see code changes happening in real time, making every edit potential evidence. Players can call Emergency Meetings when they become suspicious, discuss what happened, accuse other players, and vote to eliminate someone.
The Developers win by completing the mission or identifying the Imposter. The Imposter wins by successfully sabotaging the team while remaining undetected.
How we built it
We built Devception as a real time multiplayer web game centered around a shared coding environment.
The game uses a synchronized multiplayer architecture so that players can see code changes, player actions, and game events happening in real time. The core experience combines multiplayer rooms, synchronized code editing, role assignment, coding challenges, individual tasks, sabotage mechanics, emergency meetings, voting, and game state management.
The website and game experience were designed around a futuristic developer operations theme to make the player feel like they are entering an active coding mission rather than simply opening another programming platform.
For the shared editor and multiplayer experience, we explored technologies such as Next.js, Socket.IO and Yjs to handle real time communication, synchronization and collaborative editing. The architecture is designed around server controlled game state so that important actions can be validated and synchronized between players.
Challenges we ran into
The biggest challenge was making collaborative coding work as a game rather than simply creating another multiplayer code editor.
Synchronizing multiple players editing the same code in real time is difficult because several people can modify the same part of a file at almost the same moment. We had to think about conflict resolution, synchronization, reconnection and maintaining a consistent state for every player.
Another major challenge was designing sabotage mechanics that feel fair. The Imposter needs enough freedom to actually deceive the team, but the Developers also need enough information to identify suspicious behavior. If sabotage is too obvious, the game becomes predictable. If it is too subtle, players may feel that they had no way to detect the Imposter.
We also had to balance the coding difficulty with the social deduction mechanics. The game should reward programming ability without making less experienced players feel completely excluded.
Finally, designing the game loop itself was challenging because coding, communication, suspicion, emergency meetings and voting all need to happen within a short match while still feeling natural.
Accomplishments that we're proud of
We are proud that we transformed the concept of collaborative coding into an actual multiplayer game mechanic rather than simply adding gamification to a coding platform.
The most important part of Devception is the combination of real code and social deduction. Players are not solving artificial quizzes or trivia questions. They are working with actual programming challenges while simultaneously trying to understand the behavior of the people around them.
We are also proud of the real time collaborative experience, where players can see changes happening in the shared code and use those changes as evidence during the game.
The role system, sabotage mechanics, Emergency Meetings and voting system create a completely different experience from traditional coding platforms.
Most importantly, we are proud of the identity we have created for Devception. It is designed to feel like a game first, while naturally encouraging players to read code, debug, collaborate and reason about what other players are doing.
What we learned
We learned that making something educational does not mean it has to feel educational.
Instead of telling players that they need to practice debugging or collaboration, we can make those skills naturally necessary for winning the game.
We also learned that multiplayer game design introduces an entirely different set of engineering problems. Real time synchronization, shared state, reconnection, conflict resolution and game state management become just as important as the actual coding challenge.
Another important lesson was that the social layer can make technical problems much more interesting. A bug is no longer just a bug. Players start asking who introduced it, why it appeared, whether it was intentional and whether they can trust the person who changed that code.
That is the core idea behind Devception.
What's next for Devception
Our next goal is to make Devception more polished, scalable and replayable.
We want to introduce more programming languages, more coding scenarios, additional sabotage mechanics, better matchmaking and progression systems. We also want to expand the variety of missions so that every match can feel different.
We plan to improve the AI driven aspects of the game so that players can eventually practice against intelligent opponents when they do not have a full group of friends available.
We also want to introduce player statistics, rankings, achievements and competitive seasons to give players a reason to keep coming back.
Long term, we see Devception becoming a multiplayer gaming platform built around programming, where developers can compete, collaborate, deceive each other and improve their real world engineering skills without feeling like they are sitting through another coding practice session.
Built With
- css
- express.js
- html
- monacoeditor
- next.js
- node.js
- react
- socket.io
- tailwindcss
- typescript
- websockets
- yjs
Log in or sign up for Devpost to join the conversation.