
Card game
Real-time multiplayer card sample
A four-player real-time card game where the server owns every deal, with a full live-service layer around it.
A two-player PvP collectible card game where the server runs every rule and both browsers replay the same C# actions.
Sticky Paws is a two-player card game that runs in your browser. You build a deck from your collection and take it into a ranked or a practice match. Ranked matches pair you with another visitor, or a bot if nobody else is around. Every card you own has a rank, and ranked matches put those ranks on the line, because the winner takes a rank from one of the cards the loser played. Cards you lock before the match are safe.
The part worth studying is how that rank moves from one player to the other. The server takes it from the loser and gives it to the winner exactly once, and quitting doesn't help, because a bot takes over and finishes the match. Each player's hand stays hidden on the server, so nobody can see the other player's cards. The cards and rules are kept minimal on purpose, because the game is built as a technical foundation to demonstrate the mechanics.
A showcase of the core Metaplay features this sample is built around, screen by screen.
Each system in the game maps to a Metaplay feature. The label under each card names it and links to its page in the Metaplay docs.
Each match is a multiplayer entity on the server. Every rule is an action the server issues, and both players' browsers run the same action on their own copy of the match, with a checksum that catches any difference.
Multiplayer entities(Metaplay docs, opens in a new tab)Each player's hand and the deck order are kept in server-only state that the SDK never sends to a client, and each player receives only their own cards. It uses an SDK change coming in a future release, and the sample includes a preview of it.
Server-only state(Metaplay docs, opens in a new tab)A browser only asks to play a card. The server checks the turn, the hand and the rules, then plays it or refuses with a reason the player sees.
Server-authoritative game logic(Metaplay docs, opens in a new tab)When a ranked match ends, the match tells both players' accounts what to apply, server to server and loser first. Each account applies a result once per match, so a retry never moves a rank twice.
Entity messaging(Metaplay docs, opens in a new tab)A matchmaker running on the server pairs players by rating and deck strength, and seats a labelled bot when nobody suitable is around.
Service entities(Metaplay docs, opens in a new tab)The player page on the LiveOps Dashboard is extended with each player's collection and saved decks, and shows card names instead of card ids.
Dashboard extensions(Metaplay docs, opens in a new tab)Two steps and your coding agent has this sample running locally and can walk you through how it fits together, from the shared game logic to the game configs and the LiveOps Dashboard.
Prefer to run it by hand? The README has the commands.
$ brew tap metaplay/homebrew-tap
$ brew install metaplay$ scoop bucket add metaplay https://github.com/metaplay/scoop-bucket
$ scoop install metaplay$ bash <(curl -sSfL https://metaplay.github.io/cli/install.sh)The Sticky Paws sample is at https://github.com/metaplay-shared/samples/tree/main/Samples/CollectibleCardGame. Clone https://github.com/metaplay-shared/samples, go into Samples/CollectibleCardGame and run metaplay skills install there to install the Metaplay Agent. Open a playable version of the game locally in my browser so I can try it, then walk me through how the sample is put together.
Every sample is built in-house by a small team or a single person, with the same SDK and tools that ship with Metaplay.
Read the build story→Antti Hätälä
Tech Director
Sticky Paws is a one-on-one collectible card game modelled on Skyweaver, an NFT-era Hearthstone clone that was one of my favourite games a few years back and sadly no longer exists. I built it on Metaplay so that the match, the matchmaking and the player's card collection all run on one shared C# model in the same game server.

Card game
A four-player real-time card game where the server owns every deal, with a full live-service layer around it.

Sports management
A head-to-head football manager league for 20 friends, with the meta of a top-grossing casual game around it.

Merge puzzle
A merge-2, story-driven Unity sample that uses the core Metaplay systems.