harmony-p2p-multiplayer
P2P multiplayer for web games
A recipe for small-group (2 to 4 player) online play where one player's game hosts the session and the others connect straight to it over WebRTC. No game server to run or pay for. A free signaling server introduces the peers, then the game traffic flows browser to browser.
The recipe covers real-time co-op, turn-based and shared-object games, and nothing in it
depends on one engine. The engine only has to give you a per-frame update and a way to spawn and
move objects. references/engines.md shows the glue for the common web engines. Unity and Godot games use the same room module through a
JavaScript bridge (the harmony-engines skill shows how); the protocol, security and sync rules
here apply unchanged, and those games are tested in their web build with two browser windows.
On Harmony. Harmony hosts the game and adds its overlay to every upload with no code, but
runs no game servers or invitation-sending service, so these rooms work the same there. The game needs
neither the Harmony SDK nor a Game ID: players type a name, and inviting is copying the room
code. A few things change: the game doesn't pause for the overlay during a session, and it runs
in a frame inside Harmony's page, where it can't read the clipboard. A game that already uses
the SDK can also start players with their Harmony name and open the overlay, where they can
paste the code in chat. Read references/harmony.md when the game is, or will be, on Harmony.