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.
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_timeoutis 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 asended_by: "timeout"with a null assignment, so they're easy to exclude.
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.
These currently run on adapter-multiplayer-local (no backend needed) for two-tab piloting:
- Serve this repo over http(s) (e.g.
npx http-server .). - Open a file in one browser tab.
- 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. - The first tab becomes the director, the second the matcher.
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.