Skip to content

Repository files navigation

multiplayer-test-experiments

Standalone, faithful replication builds of published reference-game studies, built on jspsych-multiplayer plugins. Ported out of that repo's examples/ (which is meant for lightweight teaching demos, not study artifacts) so these can live, version, and be piloted independently.

Files

  • reference-game-hawkins.html — replicates Hawkins, Frank & Goodman (2020), Cognitive Science 44, e12845. Sequential condition: single target per trial, one click, 6 blocks × 12 tangrams = 72 trials.
  • reference-game-cwg.html — replicates Clark & Wilkes-Gibbs (1986), Cognition 22:1–39. Full-board condition: all 12 tangrams as an ordered target, 6 trials.
  • tangrams.js — shared canonical 12-tangram stimulus set and deterministic trial schedule builders (sequentialSchedule, fullBoardSchedule), seeded from the session id so each dyad gets its own order while both partners agree on it.
  • assets/tangrams/ — the 12 tangram PNGs, the exact set from hawkrobe/tangrams (Hawkins, Frank & Goodman 2020), themselves reproduced from Clark & Wilkes-Gibbs (1986).
reference-game-hawkins.html reference-game-cwg.html
Replicates Hawkins, Frank & Goodman (2020) Clark & Wilkes-Gibbs (1986)
Condition Sequential — single target, one click Full-board — all 12 tangrams as an ordered target
Schedule 6 blocks × 12 = 72 trials 6 trials, fresh full-board order each
Fidelity note Near-exact, including Exp. 2's matcher-click gate (require_message_before_response: true) Text chat substitutes for the original spoken dialogue — the one deliberate deviation, noted in-file

Both fix director/matcher for the whole game, reveal the target to the director only, and use unrestricted two-way chat — faithful to both papers and load-bearing for the reference-shortening effect both measure. Both were verified parameter-by-parameter against the papers and the original hawkrobe/tangrams experiment code, and play-tested two-tab at full schedule length.

round_timeout is not from either paper. Both builds set one (60s Hawkins, 180s C&WG) purely so a disconnected or absent partner cannot hang the trial forever — neither original was timed. Rounds it ends are logged as ended_by: "timeout" with a null assignment, so they're easy to exclude.

Current pilot direction

The proposed first paid Prolific run is now a shortened Hawkins-style multiplayer pilot, built from the Hawkins fidelity work in PR #19 (hawkins-cued-fidelity) rather than from the older prototype file in the C&WG infrastructure stack. The working design is 3 blocks x 12 tangrams = 36 rounds. That is an intentional adaptation: the main goal of the first paid run is to prove the multiplayer pipeline, including pairing, data saving, terminal routes, and participant handling. The reference-shortening replication is still a scientific target, but the shortened pilot should not be described as a full six-block Hawkins replication.

The C&WG paid-run stack remains valuable source material for infrastructure: centralized run configuration, Prolific identifiers, DataPipe egress, no-match routing, dropout handling, and tests should be ported to Hawkins rather than treating C&WG as the first launch target.

Running it

These currently run on adapter-multiplayer-local (no backend needed) for two-tab piloting:

  1. Serve this repo over http(s) (e.g. npx http-server .).
  2. Open a file in one browser tab.
  3. Copy the full URL, including the ?mp_session=… query param that appears once the page loads, into a second tab so a second player joins.
  4. The first tab becomes the director, the second the matcher.

Running it as a paid study

Not yet possible — see READINESS.md for a full audit. In short: there is no pairing mechanism for strangers, no partner-dropout handling, and no data save target, and cross-device pairing is gated on the unpublished adapter-multiplayer-firebase.

The local adapter remains pilot-only. Moving beyond two-tab local testing requires a real pairing/waiting-room path, a shared dyad identifier for seeding and saved rows, Prolific completion routing, and remote data egress. Swapping the adapter is not a one-script-tag change: SEED is derived from the ?mp_session= param that the local adapter generates, so on Firebase every dyad would silently receive the same trial order. READINESS.md lists what actually has to change, and which items are blocked upstream.

Note on package versions: the current main branch still needs the vendor-baseline work from PR #1 before it is the recommended runnable baseline. The relevant @jspsych-multiplayer/* packages are unpublished or incompatible in their npm 0.1.0 form; PR #1 vendors the known-compatible browser bundles and documents the pinning. Do not repoint the experiments to npm until compatible packages have actually been published and verified.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages