Ship a multiplayer game this weekend.
You write gameplay โ€” we ship everything else.

Identity, friends, leaderboards, real-time PvP rooms, in-game shop and distribution โ€” all included with a 9-method SDK. One HTML file is a complete game.

Included
Everything around your game, prebuilt

๐ŸŽญ Identity & privacy

Players arrive with a per-game shadow ID, name and avatar. You never touch real accounts โ€” privacy is enforced by the platform, not by your diligence.

โš”๏ธ Multiplayer rooms

Create, invite, turns, reconnection, disconnect walkovers, mutually-attested results โ€” a full PvP backbone via 9 SDK calls. The platform relays; your payloads stay yours.

๐Ÿ† Friends & leaderboards

Friends-circle and global boards, rendered-ready entries with ranks and avatars. Social distribution built in: invites land in real chats.

๐Ÿ“ฑ Real-device testing

Others hand you a simulator. HOOP runs your draft on a real phone with the full production bridge โ€” real friends, real rooms, real shop โ€” before you ship.

๐Ÿ›’ Shop (soon: revenue share)

Sell game items through the platform wallet. Revenue sharing for developers is on the roadmap.

๐Ÿš€ Instant updates

Your game is a hosted H5 page. Push an update, players get it on next open โ€” no app-store review, no reinstall.

Start
Zero to multiplayer in five steps
  1. Copy the template. template-race21/ implements the whole integration guide with section-by-section annotations.
  2. Develop in your browser. One script tag gives you a mock platform: fake identity, friends, boards, and a bot opponent.
  3. Apply in the HOOP app. Settings โ†’ Developer Center โ†’ claim your game id.
  4. Test on a real phone. Point the Developer Center at your machine's IP โ€” your draft runs with the full production bridge.
  5. Submit. One review, then your game is live in the Game Center for every HOOP user.
<script src="../hoop-mock.js"></script>   <!-- dev: mock platform; auto-disabled in the app -->
<script>
  hoop.room.on(onRoomEvent);        // receive everything
  hoop.room.create();               // make a room
  hoop.room.invite(friendId);       // invite a friend
  hoop.room.action(myMove);         // play
  hoop.room.result({winner: me});   // report โ€” both sides attest, the platform records
</script>