<aside>
🙂 Eternal Privacy Playgrounds
1 - Why your game needs hidden information
2 - An ontology of hidden information mechanics
3 - An ontology of trustless privacy techniques
4 - Knitting our ontologies together
</aside>
Suppose you’re designing a game from scratch. Let’s introduce the concept of a world map, and individual players, into your game. Then we can start to pose the following questions:
- In your game, do players know where other players are, on the map?
- Do players know what the entire map looks like? Is there a fog of war?
- Does the fog of war conceal everything about the map? Or does the fog of war just hide some things, such as live player locations? Multiplayer fog of war has a lot of variations depending on (a) who (b) can see what under (c) which conditions.
- Does the map contain hidden treasure? How is this treasure discovered by players?
Now, let’s introduce the concept of player stats, such as ❤️ health, ⚔️ attack points, 💰 wealth and 🎤 charisma.
- Are player stats public?
- How do some players find out about other players’ stats?
Let’s introduce items into our game, such as 🛡️ shields and 🧭 compasses. These also have their own stats.
- Are item stats public?
- Are player inventories public?
Let’s introduce NPCs into our game.
- Are NPC stats public?
- What about their internal logic? Their motivations? Are there particular items that an NPC likes? Do they have any particular weaknesses?
We can ask many questions about our game.
- Are social agreements between players public or can they be private? Can players conceal their guild membership or otherwise obfuscate their intentions?
- Are type systems (e.g. water beats fire, fire beats grass, grass beats water) public knowledge, or must players discover them over time? What about the upper rungs of skill trees? Of tech trees?
At this point, it’s fair to wonder what sorts of things can be hidden in your onchain game, and how this might be possible given that blockchain state is default public, all of the time. We find it helpful to clarify some basic terminology and draw some distinctions to better navigate the murky world of hidden information.