🤫 [this information is hidden] | Skill Tree #34
Player Ranks in Competitive Games
Rankings shown to players (e.g. Gold, Diamond, Platinum) are different than the actual data used for matchmaking
Reasons
at the start, the game only has a small sample size → low statistical confidence in ranking → put in rank they are sure the player is not below with xy% confidence (lower bound) → player moves up the ranking over time as confidence increases (without the player really getting better)
games often include artificial progression as well: sure player is gold but put them in silver as a motivation and have them move up over time to fake mastery to increase retention
often goes hand in hand with rank inflation: higher percentage of players moves into upper tiers. New tiers get added
The Recipe for Strong Gacha
Depth
how long the gacha lasts
have enough contnt and make players feel like they progress
model max drops (drop = single item; e.g. a chest can have multiple drops)
variables: content, duplicates use, quantity and drop rates of rarities, pool changes (add/remove content from gacha)
how to increase depth
add content (depends on rarity type)
low drop rates for higher tier (but slows down progression)
opening up pool over time (e.g. new cards)
give duplicates meaning aside from converting to dust
dust = baseline of progress but low speed (→ lower depth)
make duplicates reuired to progress makes them more meaningful and adds depth
Width
incentivite players to have a wide collection
all content should feel relevant
mechanics
loadout size: e.g. deck building, COD (equip perks, weapons, attachments etc)
explicit strengths and weaknesses e.g. element system
implicit counters drives meta
game modes that reward large quantity e.g. more heroes → survive longer → higher rewards
Desire
gacha needed to progress in the game
there may be other progression systems that interfer with the usefulness of the gacha
is skill needed to see the gacha as helpful?
Hidden Information in (Onchain) Games
Why games need hidden information
Make games fun and engaging by introducing mystery into decision-making
That also means decisions can’t be optimized, which is key to having a balanced economy
It’s a testing ground for bringing privacy tech to the social online world
Taxonomy
Information: World State, Player State (e.g. health)
Who is it hidden to: Nobody knows, someone knows
Trustless privacy techniques
Commit-reveal schemes
two phases: commitment (value is chosen), reveal (value is revealed to receiver and authenticated)
two properties: binding (sender cannot cheat by changing the commited value), hiding (receiver cannot open the commitment before sender allows it)
dimensions
public vs private reveal (only some player receive the info)
complete vs partial reveal (only some piece of information is revealed e.g. via merkle trees)
limitations
can’t be used for a generalizable solution
computationally inefficient as information complexity increases
ZK Proofs
proving the validity of a statement without revealing the statement itself
in gaming: proof is generated client-side e.g. dice rolls as public input, the secret input is Alice’s local character sheet, and the output proof testifies only to whether or not the action is successful
can be combined with commitment schemes like merkle trees to extend functionality e.g. for mixers (anonymously prove membership in a set)
limitations
can’t be used for secrets nobody knows (need to know what to prove)
Multi-Party Computation
methods to jointly compute a function over inputs while keeping those inputs private
types
Oblivious Transfer and Private Information Retrieval
Threshold Schemes and Secret Sharing: secret is divided into n pieces from which it can be computed. impossible with n-1 or fewer pieces
Secret Sharing in Commutative and Homomorphic Encryption-based Protocols
limitations
slow compared to centralized processing
Trusted Execution Envrionment (TEE)
area on the main processor of a device that is separated from the main OS → data is stored, processed and protected in a secure environment (end-to-end security)
allows for fully confidential, tamper-proof compute by an untrusted server (e.g. cloud provider). Alternative to MPC but more centralised
Can combine TEE + MPC
limitations
physical access as an attack vector
rely on a few hardware manufacturers for security
Functional encryption (FE)
restricted keys: key holder an lean a specific function of the data but nothing else e.g. output based on a specific input
solution for shared private state, similar to MPC and TEE
limitations
rely on authority who hold master key
can combine with MPC and TEE
Fully Homomorphic Encryption (FHE)
Homomorphic encryption allows computations to be performed on encrypted data without first having to decrypt it
Use cases
Hidden player stats: e.g. prove wealth > x to enter group
Secret social arrangements between players
Fog of war: secrets in a shared world
Dark Forest: didn’t hide the world map but instead procedurally generate it → terrain is undefined until reveal, therefore can’t hide treasure there. Can’t limit who can reveal the map
alternative: MPC committee generates hidden world > encrypted version moved to new committee > encrypted state is stored (onchain, TEE) > players request info about world (encrypted - commitee doesn’T know who is requesting which info and based on what condition) > oracle network send request to TEE to check conditions > encrypted state is decrypted and passed to the player. commitee doesn’t receive the info
Player location
becomes complex when a) player movements are secret b) reveal when players bump into each other
Dark Forest: players post hash of their x,y coordinates onchain
can figure out other players’ position by hashing x,y coordinates and checking against the onchain list
other solutions
map of player coordinates saved in a TEE that checks whether players bump into each other
MPC generates hidden identifiers and assign to each coordinate. Viewable only to players who can prove that they are at a given location.
Inventories and NPCs
proving assets is easy (zk proof)
giving players possession over items with privacy is more challenging
verifiably generate world items offchain > players proof onchain that they adhere to the rules of the game while producing the item
limited to use cases where players know the rules (e.g. x% probabillity of finding item x when mining)
for suprise drops (e.g. by enemy boss): secret in a shared world → MPC + TEE
Bonus
I was on a Twitter Space about business models of onchain games