Skip to content

Trout racing #3

Description

@nhynes
  • players asynchronously put their trout into a racing pool along with a stake. pool resets daily
  • players can synchronously race their trout against trout in the pool
    • winners get the stake from the other trout
    • each trout can only race another trout once per day to prevent wipeouts
  • races are visual
    • players who are active are invited to join a race in x minutes
    • in the meantime, the paths of each fish in the race are privately generated
    • the race gets sent to all clients who then watch
    • the visual can be of a kelp forest with patches of extremely dense kelp (fog of war)
      • caves are recolored kelp through which fish with bigger eyes swim more swiftly
  • speed depends on physical characteristics (genes) and environmental variation (luck)
  1. list a trout for racing along with an amount to stake per race
  2. request a race
  3. system picks trout to race (initially random, eventually ELO)
  4. system races the trout within confidential computing
  5. system stores the race and its results, updates trout stats
  6. system sends race to the participants
  7. system transfers tokens from losers to winner
  8. others can watch the race later

Future directions:

  • cheer on your trout to speed it up
  • staking on other peoples' trout (using $ROSE or $ROSY)
  • staking mode where extreme loser trout get eaten
  • fish go faster if fed better (related: Fish grinder #2)

Implementation notes:

  • likely would benefit from high-perf/cache (non-ipfs) storage subsystem to hold race paths

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions