If you want to try it out, let us know so we can run the game. In demo mode, matches are started manually.
Our work does a rock paper scissors bracket every year at the holiday party. We wanted to build that into an automated game that scales with any number of players.
What it does
RPMMO throws everyone into a bracket, and people match off until there is only one person left in the bracket. Rock paper scissors is a simple and surprisingly fun game to play in this manner.
How we built it
We built a server-authoritative backend in Node and a dumb client in Vue that receives and emits game state events over Socket.io
Challenges we ran into
State management in vue is easy but reasoning about the minimal game state the client needed was hard. Designing the backend was also challenging as it's essentially a cluster of dynamically instantiated state machines but they're all completely asynchronous.
Accomplishments that we're proud of
Our UI is great and the game is a lot of fun.
What we learned
We learned a lot about working with Socket.io, and we learned a lot about game state management.
What's next for Rock Paper MMO
Deploying and scaling to multiple brackets happening at the same time to handle more than ~50 people at a time.