BIUTOPIC

Trashure Island · Methodology

How a round becomes data

Trashure Island records how players steer: what they see and what they decide. This is the exact path of that data, the code that handles it and what it is worth.

Exploratory Recording since 30 October 2026. Corpus in progress, publication planned for 2027.

pilot frames
10 / s
world observations
5 / s
per upload to the server
15 s
per full round
255 ko

01 The plan

Each room is a stage, each door a possible passage. Under each name, the code that does the work.

or click a room

On the player's device Server · EU Research Trials on the water No door between these two rooms 01 The game Three minutes at the helm. Position, headingand controls logged 10 times a second,the world around them 5 times a second. trashure-fury.html · _runRec 02 The choice Menu checkbox,ticked by default.Unticked, nothingleaves the device. #research-input 03 Anonymising A random ID for everyround. No name, emailor score. Time roundedto the hour. _runRec 04 The contacts Emails and scoresin a separate room.No shared identifier. room: consents 05 The trajectories Received in 15-second chunks, storedin the EU. With no network, theywait on the device. room: runs 06 The corpus Export and documented schema,publication planned for 2027. docs/RUNS_SCHEMA.md 07 The analysis Comparing human choiceswith an autopilot's.Planned for 2027. behavioural study In service Planned 2027 Anonymous trajectory Email and score On the player's device Server · EU Research The game 01 Three minutes at the helm. Position, headingand controls logged 10 times a second,the world around them 5 times a second. trashure-fury.html · _runRec The choice 02 Menu checkbox, ticked by default.Unticked, nothing leaves the device. #research-input Anonymising 03 A random ID for every round. No name,email or score. Time rounded to the hour. _runRec The contacts 04 Emails and scores in a separate room.No shared identifier. room: consents The trajectories 05 Received in 15-second chunks, stored inthe EU. With no network, they waiton the device. room: runs The corpus 06 Export and documented schema,publication planned for 2027. docs/RUNS_SCHEMA.md The analysis 07 Comparing human choices with anautopilot's. Planned for 2027. behavioural study No door Trials on the water In service Planned 2027 Anonymous trajectory Email and score

01 The game

The player sails for three minutes. On every frame the recorder looks at what was pressed and what the boat received.

  • gameLoop()trashure-fury.htmlcalls the recorder after every move
  • _runRec.tick()trashure-fury.html10 frames and 5 observations a second, on a fixed step

02 The choice

A menu checkbox, separate from the required consent. It comes back ticked on every load, so one kiosk player doesn't decide for the next.

  • #research-inputtrashure-fury.htmlread once, when the round starts

03 Anonymising

Each round gets a random ID, used once. The name, email and score are not copied into the recording: the public leaderboard shows the score next to a name.

  • newRunId()trashure-fury.htmlrandom ID, rounded hour
  • flush()trashure-fury.htmlpacks a 15-second chunk
  • ti_run_pendinglocalStoragequeue on the device, 3 MB at most

04 The contacts

Emails and scores live in another room on the server. The public leaderboard reads from here, never from the trajectories.

  • onRequest()party/main.tsreceives consents and scores
  • ?action=adminparty/main.tstoken-protected access

05 The trajectories

The server checks the shape of each chunk, drops any unknown field and rounds the receive time. Sending a chunk again overwrites it, so a retry can't create a duplicate.

  • validateRunChunk()party/main.tsrefuses anything of the wrong shape
  • onRunsRequest()party/main.tsstores in a dedicated room
  • DO_JURISDICTIONparty/wrangler.jsoncstorage restricted to the EU

06 The corpus Planned 2027

The export and the schema already exist. Publishing the corpus is planned for 2027.

  • export_runs.pyscripts/regroups chunks, one round per file
  • RUNS_SCHEMA.mddocs/describes every field

07 The analysis Planned 2027

Comparing human decisions with an autopilot's, on the same situations replayed. None of this has been done yet: it is planned for 2027.

02 What a round records

An observation is what the player has in front of them. An action is what they decide. The corpus pairs the two, across the whole round.

The pilot

10 times a second

Position, heading, health, boost, level, plastic picked up, controls wanted and received, stick position.

The world

5 times a second

Position and state of every moving actor: whale, pirates, other boats.

The events

as they happen

Plastic appearing or disappearing, mines, bombs and where they land, upgrades, change of input device.

One frame, spelled out

t
0,10 s
game clock
x, z
0,3 · −118,6
position on the map
heading
0,190 rad
where the bow points
wanted
forward
what the player presses
received
nothing
the engine hasn't caught yet

From a test round. The full schema

03 What this data says

It shows

  • Which target a player picks, and in what order
  • How far from a threat they start to steer away
  • When they hesitate or change course
  • How their choices shift as the clock runs down

It does not show

  • How a real boat handlesgame physics: constant turn rate, no inertia
  • What an autopilot would dothe in-game Hydronaute follows a scripted route
  • What people in general would decideplayers are not a representative sample
  • The first seconds of a roundthey mostly show someone learning the controls

This data complements trials on the water: it is not enough, on its own, to train or validate an autonomous system.

04 Verification

Sampling rate

1 802 / 1 800

Frames recorded over a three-minute test round, against 1,800 expected. 901 observations against 900.

Report and recording

2.42 km · 2.41 km

The distance shown to the player, recomputed from the raw recording. Hits: 5 and 5. Wrecks: 0 and 0.

Box unticked

0 chunks

A full round played without sharing: nothing on the server, nothing waiting.

Real round

30 Oct 2026

First round in real conditions: one chunk every 15 seconds to the end, no server errors seen.

These measurements show the recorder does what it says. They say nothing about what the corpus will be worth to research.

The code and its tests are public: github.com/Biutopic/Trashure-Island