A Dark Forest inspired Zk MMO game built with a Farcaster frame client.
“If I destroy you, what business is it of yours?” ― Liu Cixin, The Dark Forest
Rules:
Every player starts the game with three planets (equation 1).
Planets build up energy over time (equation 2).
A player can send some or all of a planets energy to another planet (equation 3).
Depending on the energy of the receiving planet it will either gain or lose energy (equation 4).
At the end of the game the player with the most energy summed across their 3 planets wins (equation 5).
All of a player's planets start out hidden from other players.
At anypoint in the game a player can choose to reveal all of their planets for rest of the game.
A planet is also revealed when it sends energy to a planet that is not yours.
Equation 1) `` 3 `
Equation 2)
E = log(e)
E
is energy and e is number of epochs since game start.
Equation 3)
E" = E - S
E"
is the new energy of the planet after sending energy.
E
is the current energy of the planet.
S
is the energy sent.
Equation 4)
E" = E + or - S
B = (1 / (0 - j)) * integral_0_to_j(log(e))
A planet with energy E
recieving energy S
from another planet gains the energy received if its energy is less than B
and loses energy if it is more than B
.
j
is the current epoch.
E"
is the new energy.
Equation 5)
P = E1 + E2 + E3
P
is the number of points and E1
is the energy from planet 1 and so on.
"In the cosmos, no matter how fast you are, someone will be faster; no matter how slow you are, someone will be slower."
This project uses Frame.JS to build the interactive client on Farcaster Frames. The project is working on using Base chain and Graph to track game state. The game still needs zero knowledge implementation to hide the Graph state from other players. Game mechanics require sending transactions.