Page 1 of 1 [ 1 post ] 

r00tb33r
Veteran
Veteran

User avatar

Joined: 28 May 2016
Age: 36
Gender: Male
Posts: 3,778

14 Feb 2023, 4:32 am

viewtopic.php?t=411764
That thread inspired me to post an idea I had years ago, around 2015.

It seems I won't ever finish it, so maybe someone else will. If I get credited for the original idea, that would be cool.

The backstory:
I was reading Internet stories about the community of armchair experts theorizing and speculating where flight MH370 or it's remains may be. What caught my attention was a group that was running homebrew simulations of ocean currents using the ocean surface current data from the OSCAR project, which is freely available to the public.
https://podaac.jpl.nasa.gov/dataset/OSC ... _third-deg
(if it's down, come back later, it will be back up)
The dataset is current point vectors on the water surface of the globe in 1/3 of a degree resolution. Distributed (at least at the time) in a rather inconvenient CDF format, but eventually I managed to get data out of it in a workable format. You can easily make simplistic simulations of a floating object with that vector data. What are some of the common things that wash up on a coast? A bottle with a message in it perhaps? I thought it would be cool to play around with it, dropping bottles in the "water" to see where they go (using the vector data to move them, with basic arithmetic).
It was a time in my life of extreme isolation, alienation, helplessness, and hopelessness. I guess the romantic in me saw bittersweet symbolism in it. So I got the idea to gamify it.

NASA has their own drifter simulator demo made with that data, it's just not a fun implementation.
http://oceanmotion.org/html/resources/drifter.htm

So it was kind of originally conceived as a Facebook game. Back in 2015 that still made sense.

Game rules/mechanics:
There are two main actions in this simulator: casting bottles into the sea and retrieving them.
Let's say each participant gets 1 free bottle per day if their inventory is 0. The participant writes a message to a stranger, be it sharing happy news, or writing in a moment of complete despair. Then casts either at the nearest coastal point by geolocation, or can pick another point on any coast to launch the bottle, as this will result in a different path.
A floating bottle is moved with currents using vector math, until it is "washed up" or lost.
A participant can search for bottles either at the nearest coastal area, or pick a coastal point to search. If there are any bottles to be found, one will be randomly retrieved. The participant has 32options at this point:
1. write back to the person who threw it in, gaining the bottle in the process
2. stuff their own "rider" message in the bottle and toss it backSeems I had an idea here years ago, but it doesn't make sense now.
3. or just throw it back in, like if they're not comfortable with the message or don't want to write to that person
The original owner of the bottle gets a full report of the bottle's journey, including the plotted path, the length/duration of the trip, how long it took for it to be found, and finally the message.
Each participant has a log of their bottles, ones they threw in, and ones they responded to.
Lost bottles will show up in the log as lost, and the participant can try again with the same message if desired, consuming 1 bottle from the inventory.
Participants could be given an option whether to allow further contact between senders.

Monetization/donation:
For example, 10 extra bottles for $1. No greed, everybody still gets a free one daily, or gain them by finding and writing back.

Implementation thoughts:
The vector data doesn't extend all the way up to the poles from what I recall, and distances by degree closer to the pole are shorter. For simplicity of interface and math, I mocked it up with a Mercator world map projection. However, the OSCAR data is for a sphere. So vector scaling needs to be applied to turn the sphere surface into a cylinder, it's not hard, just crunch the data adjustment once, and store it, there aren't that many points anyway at 1/3 degree resolution.
Because currents do change with time of year, data can be either averaged over time, or choose a data set that provides the best results, this will require experimentation.
There can be an element of a real bottle travel duration, either at realtime, or accelerated, or instant. This can introduce that element of anticipation, if it's desired. This also affects how movement computation is implemented, either in a single go, or move each active bottle per time cycle.
For fractional positions calculate interpolated vectors between neighbors.

I later used vector displacement and vector interpolation from this project in a professional software project in 2017, I made a computer vision system for a robotic waterjet machine where the operator is able to superimpose the tool path onto material work surface to see what the final piece will look like (where natural materials have a unique texture), and adjust, giving a WYSIWYG experience to the operator doing fabrication. Vector displacement calibration is used to do perspective correction, with vector interpolation employed for individual pixel displacement in software rendering if not using a 3D mesh, which I also optionally used.


Known problems:
I looked at the plotted data and saw that near the land vectors often point away from the coast, this presents a challenge of stopping and detecting when a bottle is considered "washed up". This would require some clever situational case detection or data tweaking. I also saw what looks like natural whirlpools, situations where a bottle could be trapped with no escape. I suppose having it "get lost" sometimes is part of the game.

That's about all I've got, folks.


_________________
Enjoy the silence.