Our main inspiration was 'JackBox Games', where many players connect to a game server and take part in games with simple controls per player, viewable from some main screen. The simple game controls allow for a casual and yet very engaging and intuitive experience.

What it does

A node.js server hosts a number of games that can be selected between and played by all connected players, from a single website. One device, preferably a computer with a large enough screen, connects to the server and acts as the man view for the game.

Any other devices connect to the website as 'players' - they are greeted with a very minimal control scheme, mainly 2 buttons for left/right, up/down etc., depending on the game.

Players compete in any game they choose - the server currently has 3 playable games but its modular structure allows for any number of games to be written and added to the pool.

How we built it

Player connections communicate with the node server via socket connections, and communicate when any of their controls are pressed. Player connections are 'dumb' i.e. they do not receive traffic from the server. The server then processes and forwards these events to a 'game' object running on the 'view' screen, with which it updates its state accordingly, and displays these changes.

The games themselves are written using a combination of Matter.js, giving realistic physical properties to game objects; and p5.js, which provides great ease and flexibility in drawing the games.

Accomplishments that we're proud of

The class-based structure of the game file allows for new games to be easily written and implemented into the game pool - the server and its connections are abstracted away from the game state.

What we learned

That vertically-aligning HTML elements is difficult.

What's next for This Game Matters

We hope to continue to make more games for it to host, and to generally improve the server's structure to provide further abstraction between itself and the game object.

Built With

Share this project: