project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

Dark Forest Frames

A Dark Forest inspired Zk MMO game built with a Farcaster frame client.

Dark Forest Frames

Created At

Frameworks

Winner of

XMTP - Open Frames Bounty

Prize Pool

Project Description

“If I destroy you, what business is it of yours?” ― Liu Cixin, The Dark Forest

Rules:

  1. Every player starts the game with three planets (equation 1).

  2. Planets build up energy over time (equation 2).

  3. A player can send some or all of a planets energy to another planet (equation 3).

  4. Depending on the energy of the receiving planet it will either gain or lose energy (equation 4).

  5. At the end of the game the player with the most energy summed across their 3 planets wins (equation 5).

  6. All of a player's planets start out hidden from other players.

  7. At anypoint in the game a player can choose to reveal all of their planets for rest of the game.

  8. 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."

  • Liu Cixin, Death's End

How it's Made

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.

background image mobile

Join the mailing list

Get the latest news and updates