Skip to content

What you can build ​

You'll learn: what a plot is, how players meet your game, and which kinds of games fit.

The landscape in one picture ​

Inventery is one shared, blocky world. Players own plots: claimed pieces of it. Your code runs a plot.

A player's monument plot on Inventery's map: its green border and chunks, its monument and name, lobby l1's players inside, a near onlooker in the ring round it, a far onlooker at the Spawn's protected square (which is not a plot), someone else's red plot and a blue creator plot

A plot on the map: a player's monument plot out in the Wild, with players inside and onlookers near and far. Walking past, you see the plot (its featured lobby); approaching, a lobby is chosen for you; crossing the border, you're in, playing in that lobby. Everything the plot draws (blocks, glTF props, mesh terrain, entities, lights, particles) is drawn for everyone; each lobby is its own room of play. The Spawn's square, by contrast, is protected land, not a plot. See the mental model.

Three things make a plot different from a game on its own server:

  1. It's visible from outside. Everything a plot draws is in formats the world renders for passers-by: blocks, cuboid models, glTF meshes, lights, particles. Your arena is part of the skyline.
  2. You join by walking in. No prompt, no loading screen: the plot's assets preload as you approach. You cross the boundary and you're in. Leave is always one tap away: "Leave {plot}", the first item of the settings menu.
  3. It's sandboxed. Your code runs in a wasm sandbox on the room server (the referee). It can only reach your plot, through a small API. It can't follow players outside or touch their real items without consent.

And it's still Inventery inside: the base game's blocks, combat, items and hunger run in your plot by default, and your code filters and adds to them. A game that wants to be its own server turns those base rules off by category.

Two ways to build ​

The Minecraft layerThe raw layer
Formost plots: blocks, items, recipes, mob types, kits, scoreboardscustom games: meshes, custom cameras and controllers, your own UI
Feels likea Fabric or Bedrock add-onwriting a game against a renderer and a network library
Code@inventery/minecraft and a few hooks@inventery/host, or any language that compiles to wasm

You can mix them: blocks and chat from the Minecraft layer, a custom gravity controller from the raw layer. The Minecraft layer is the easiest path; the raw layer is never harder than writing the game in wasm from scratch.

Nine games that fit ​

These are the plots we designed the platform against. Each one is a real check that the rules allow it.

GameWhat it usesGuide
A story dungeonthe Minecraft layer, NPC dialogue, a locked lobby per party, saved progressguide
Bedwars with lobbiesa game mod on the reusable Team Minigame runtime (lobbies of 16 locked per round, the start countdown, stashed items and kits), the base game's beds, PvP and pickup, per-lobby block editsguide
Top-down Risk in blocksblocks as the board, a top-down camera, orders by buttons or your own mapnotes
Among Usvisibility sets for roles and kills, meetings as full-screen UInotes
A Mario Galaxy gravity gameplanets as mesh terrain, custom gravity movementnotes
A shooter (CS, Risk of Rain)30 to 60 Hz ticks, lag-compensated hits, any HUDguide
A Skyriman open world, NPC dialogue, either its own gear or your real gearnotes
Horrordarkness, scares aimed at one player, full-screen effectsnotes
An imported 3D levelglTF straight in, collision and LODs made for youguide

What's out of scope (for now) ​

  • Anything outside your plot. No reaching other plots, the network, accounts, the device or real money.
  • Taking a player's real items without asking. Only a plot that doesn't stash items, with a player who chose to keep their items.
  • Twitch fighting games need client-side prediction (predictStep) with rollback. Client code and the rollback relay are In progress (they run in the plots dev page). Shooters work today with server-side lag compensation.

Next ​