Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trout racing #3

Open
nhynes opened this issue Dec 16, 2023 · 2 comments
Open

Trout racing #3

nhynes opened this issue Dec 16, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@nhynes
Copy link
Contributor

nhynes commented Dec 16, 2023

  • 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
@nhynes nhynes added the enhancement New feature or request label Dec 16, 2023
@nhynes
Copy link
Contributor Author

nhynes commented Jan 4, 2024

After a race a trout might have injuries that prevent it from racing again soon. Severe injuries might require hospitalization or prevent racing entirely in the future. Private healthcare can offer shorter recover times and more advanced treatment

Examples:

your trout looks healthy and energetic
your trout looks healthy but could use a rest
your trout has a mild injury and should take some time to heal
your trout has suffered a serious injury and needs immediate medical attention

and then after a few hours/days
your trout had a mild injury and is looking better
your trout is in grave condition, but the prognosis is positive
despite the doctors' best attempts, your trout succumbed to its injuries

@nhynes
Copy link
Contributor Author

nhynes commented Jan 4, 2024

Additionally, during a race, a random event might occur that helps or hurts the competitor. For example, being eaten by Rosy the dog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant