Scramble is inspired by various fast-paced mini-games like Wario Ware and Mario Party series.
The server pairs clients into and starts a random mini-game between the two clients. Depending on the mini-game, it may end by a set timer or whichever client finishes their game first.
We built our back-end in Express.js, which has a single route to serve our static files. In addition, the server also watches for various socket emitters from each of the clients, and acts accordingly. As for the front-end, we used React.js to dynamically update the DOM when receiving information from the sockets and user input.
Since sockets work in an asynchronous matter, there were various server-client misalignment when working with socket data.
We have a fully working demo; it is hosted on a cloud instance and has modern intuitive design.
We've gained experience about working with sockets (with React.js), asynchronous data flow, and efficient collaborative programming under stress.
More mini-games, observe opponent's progress and improve performance of the site.
npm iin the top level directory to install all dependencies- Go into
client/,npm ito install dependencies and build then react filesnpm run build - Finally, go back up into the top-level server directory and
npm start