Skip to content

tjholm/multiboy

Repository files navigation

MultiBoy

A multiplayer gameboy powered by WebRTC and Nitric.

The emulator used in this project was not authored by me and is located here. Have made minor tweaks to it for streaming audio.

NOTE: All WebRTC communication is Peer to peer with no relays (TURN servers). If you have any issues connecting to a peer it is likely that a TURN server will be required.

Game Modes

This game can be hosted in three modes:

Chaos

A chaos game accepts all player input (as if all players were holding the same gameboy).

Shuffle

Controls are divided amongst all players on a random basis every 60 seconds.

Hotseat

Controls are passed between players every 60 seconds.

Development

Requirements

To run the project locally you can simply run yarn dev. If you have any issues raise one against this repo.

Deployment

Requirements

If you have AWS credentials and Pulumi configured on your machine, you should simply be able to run yarn deploy.

See architecture section below to see what will actually be deployed to your account.

Architecture

MultiBoy Architecture

The application backend consists of a simple API for managing assets and creating new games, and a websocket API to act as a signalling server for negotiating RTC connections.

Code for defining the backend is found here

Code for AWS deployment can be found here

About

A multiplayer gameboy powered by WebRTC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published