Skip to content

Trout racing #3

@nhynes

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

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