An Open Ontologies demo

Asset Passport

People are merging games with AI this autumn: Minecraft inside Elden Ring, Call of Duty with skateboarding. Nothing checks what a sword should become on the other side. Here are two small games of our own, a block-building game and a creature battler, with a border between them. Send a thing from one game into the other: drag it across, or press its Send button. The border works out what it is, converts it under the receiving game's rules, and checks a proof before it gets in. Then it shows you what it does.

Blockcraft

Border desk

Everything that crosses stops here first.

  1. SignaturewaitingThe game it comes from signed this passport, checked against the key that game publishes.
  2. Digest and proofwaitingThe passport is unchanged, and this machine's Lean checker accepts its proof.
  3. Published ruleswaitingThe rules inside the passport are the source game's published rules.
  4. ClosurewaitingThis machine works out what the thing is, and the passport left nothing out.
  5. Border contractwaitingThe receiving game's SHACL contract, run on two evaluators that must agree.

Loading the engine's verdicts…

Pocket Battlers

Forge your own

Write a thing in either game's terms and send it through the live engine. Nothing here is precomputed: the live engine named below works out what it is, Lean checks the proof, and the receiving game's contract decides.

Each game's border, quoted from its contract file:

Try one of these, or write your own:

Smuggle a Capture Orb into Blockcraft

Blockcraft refuses capture devices: nothing in Blockcraft can own a mob. Several forgers tried to get Pocket Battlers' Capture Orb across anyway. The first few have no Pocket Battlers key. The rest are Pocket Battlers itself, signing with its real key. Each attempt below was run against the real engine when this page was built.

How the border works

Each game publishes a profile: its health scale and a mapping of its own words into one shared Game Asset ontology. A Blockcraft Blast Block is a ga:Explosive. A Pocket Battlers Capture Orb is a ga:CaptureDevice. With one hub, each new game adds one mapping. Without a hub, every game would need a conversion of its own into every other game, one for each direction of each pair.

Work out what it is

The engine reasons over the thing with OWL rules and writes a certificate of every step. Blockcraft's profile says "anything made of crystal is Rock-typed", so the Crystal Sword's type is a conclusion, not a label someone typed. The receiving game runs its own copy of a Lean checker over the certificate.

Convert it

The receiving game declares how foreign numbers become its own. Here both declare the same policy: damage and healing keep their share of a player's health. A Crystal Sword's attack keeps its share of Blockcraft's health when it becomes a Pocket Battlers move. This is a policy, not a fact. The rule is published next to the games' profiles, so anyone can run it again on a passport.

Know who sent it

Each game signs the passports it issues, and publishes its public key in its profile. The receiving game checks the signature against its own copy of that profile, never against a key that arrives with the passport. A signature says who issued a passport and that nobody changed it since. It does not say the issuer told the truth, and the last Capture Orb card above shows exactly that.

Let it in, or not

The receiving game's border is a SHACL contract, run on Open Ontologies' SPARQL-compiling evaluator and on its verified evaluator, and a thing crosses only when both agree. Losses are warnings: it enters, and its passport names what had nowhere to go.

Each game maps its own words into one shared hub ontology and keeps its own border contract. Blockcraft profile crystal ⊑ Rock Battlers profile Orb ⊑ CaptureDevice Game Asset core ga:Weapon · ga:Creature · … Blockcraft border Battlers border