Inspiration

Behind the Alias was inspired by the idea of turning ordinary conversations into a social deduction game. We wanted to create something simple to understand, fun to play with friends, and unpredictable every round. The core question was: how well can you identify someone when their name and identity are completely hidden?

What it does

Behind the Alias is a real-time multiplayer game where players join a private room using their real names, receive random anonymous aliases, and are secretly paired with another player.

Each pair gets a limited amount of time to chat while trying to hide their identity and gather clues about the other person. When time runs out, players guess who they think their partner really was.

Players earn points for correctly identifying their partner and for successfully fooling the other player. The game continues across multiple rounds with new aliases and different pairings before displaying a final leaderboard and awards.

How we built it

We built Behind the Alias using Node.js, Express, JavaScript, HTML, CSS, and Socket.IO.

Express handles the backend and room management, while Socket.IO enables real-time features such as lobby updates, private messaging, synchronized game phases, timers, and player reconnects.

The server controls important game state including player identities, anonymous aliases, matchmaking, guesses, scoring, timers, and round progression. This prevents clients from accessing hidden information before the reveal.

The frontend was designed as a responsive multiplayer game interface that works across both desktop and mobile devices.

Challenges we ran into

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

We had to ensure that private messages only reached matched players, timers stayed synchronized across different devices, refreshes did not restart games, and reconnecting players returned to the correct game state.

Another challenge was preventing hidden information from leaking to the browser. Alias mappings, real identities, pairing information, guesses, and scoring had to remain server-authoritative until the appropriate stage of the game.

Handling disconnects, repeated events, multiple rounds, and avoiding repeated pairings also required careful state management.

Accomplishments that we're proud of

We are especially proud that Behind the Alias became a complete multiplayer game rather than just a prototype.

Some of the features we successfully implemented include:

  • real-time private rooms
  • anonymous identity generation
  • random matchmaking
  • private pair-only chat
  • synchronized server-controlled timers
  • guessing and reveal phases
  • competitive scoring
  • multiple rounds
  • repeat-pair prevention
  • final leaderboards and awards
  • reconnect and disconnect recovery
  • host reassignment
  • responsive UI and sound effects

We are also proud that the server remains the source of truth throughout the game, which makes the experience much more reliable and difficult to manipulate from the client.

What we learned

This project taught us how much coordination is required behind even a seemingly simple multiplayer game.

We learned how WebSockets and Socket.IO enable real-time communication, how to manage temporary game state on the server, and why multiplayer applications need strict phase validation and server-side authority.

We also learned the importance of building incrementally. Instead of generating the entire application at once, we developed and tested the game feature by feature, which made debugging and improving the system much easier.

What's next for Behind the Alias

Next, we want to make Behind the Alias even more replayable by introducing additional game modes and customization.

Possible future features include secret missions, bluff cards, custom aliases, conversation challenges, rematches, player profiles, persistent statistics, game history, and larger party modes.

We also want to improve deployment scalability so multiple game servers can support larger numbers of simultaneous rooms while preserving real-time state reliably.

Built With

Share this project:

Updates

Submission history