Metaplay AI
SamplesPricing
Sample 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.

Built by Teemu Haila and Petri Kero
Genre
Card game
Client
Blazor WebAssembly
Core Metaplay features
  • Multiplayer entities
  • Matchmaking
  • Server-only state
  • Leagues
  • Economy & IAP
  • LiveOps events
  • Game configs
01

How this card game sample works

Four players compete in fast trick-taking hands of about 45 seconds each, and you can join a table straight from your browser. Card games are a good test for a backend because every hand has to stay secret, so the shuffle and the hands stay on the server and each player only receives their own cards.

It's worth exploring if you're building a real-time multiplayer game with a live-service layer. Matchmaking is set up so a table never waits, with bots taking any seats that players haven't filled. The game also has daily rewards, missions, events, cosmetics, server-validated purchases and a seasonal tournament on Metaplay Leagues, all managed from the standard LiveOps Dashboard without any custom dashboard code.

02

Core Metaplay features in the game

A showcase of the core Metaplay features this sample is built around, screen by screen.

03

What it shows about Metaplay

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.

Real-time matchmaking with bots

The matchmaker forms a table as soon as four players are waiting, or after five seconds, and seats bots in any empty chairs. Bots are marked as computer players but play at a human pace.

Matchmaking and multiplayer entities(Metaplay docs, opens in a new tab)
Hidden hands on the server

The shuffle, the deal and every hand stay on the server, and each player only receives their own cards, so a modified client has nothing to peek at.

Server-authoritative game logic(Metaplay docs, opens in a new tab)
Seasonal tournament on Metaplay Leagues

A free weekly points race that players opt into. Metaplay Leagues runs the season schedule, the player groups, the standings and the end-of-season rewards.

Leagues(Metaplay docs, opens in a new tab)
Weekly LiveOps events

A themed, week-long points challenge built on Metaplay LiveOps Events. Every match you finish scores points, one per trick taken plus a bonus for winning, towards one target and one reward.

LiveOps events(Metaplay docs, opens in a new tab)
Segmented offers and server-validated purchases

Offers are targeted at player segments defined in the game configs. Purchases go through Metaplay's in-app purchase flow, and the server validates each receipt before anything is granted.

Offers, segmentation and IAP validation(Metaplay docs, opens in a new tab)
Load testing with bots

The bot client plays the same loop as a person over the same connection, so load tests exercise the real matchmaking and matches.

Bot client(Metaplay docs, opens in a new tab)
04

Explore this sample

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.

  1. macOS, with Homebrew
    $ brew tap metaplay/homebrew-tap
    $ brew install metaplay
    Windows, with Scoop
    $ scoop bucket add metaplay https://github.com/metaplay/scoop-bucket
    $ scoop install metaplay
    Linux
    $ bash <(curl -sSfL https://metaplay.github.io/cli/install.sh)
  2. 02Paste this into your coding agentFrom an empty directory. It clones the sample, installs the Metaplay Agent, runs the game locally and walks you through how it works.

    The Table Stakes sample is at https://github.com/metaplay-shared/samples/tree/main/Samples/TableStakes. Clone https://github.com/metaplay-shared/samples, go into Samples/TableStakes 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.

05

The people behind it

Every sample is built in-house by a small team or a single person, with the same SDK and tools that ship with Metaplay.

Teemu Haila

Teemu Haila

Co-founder & CPO

I wanted Table Stakes to carry the meta layer a real live game ships with. Daily rewards, missions, events, offers and a seasonal tournament all run on standard Metaplay features, and most of the tuning lives in game configs. Change a value, publish, and the running game picks it up with no client build.

Petri Kero

Petri Kero

CEO & Co-founder

A game like Table Stakes is a natural fit for Metaplay. The match runs on the server so every hand stays secret, bots fill any empty seats, and Metaplay Leagues runs the competition around it. Those are the parts you'd otherwise build yourself.

06

More samples

All samples→
Turn-based PvP collectible card sample gameplay

Collectible card game

Turn-based PvP collectible card sample

A two-player PvP collectible card game where the server runs every rule and both browsers replay the same C# actions.

Blazor WebAssemblyExplore→
Async PvP football sample gameplay

Sports management

Async PvP football sample

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

Blazor WebAssemblyExplore→
Config-driven merge-2 story sample key art

Merge puzzle

Config-driven merge-2 story sample

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

UnityExplore→