Tournament & Leaderboard Guide

(return)  (springs & pucks)

This page collects information players may need for a Springs & Pucks tournament.
It may look like a lot, but running a tournament can be simple — the easy way is just three steps.

Additional resources:

Devices and Play Modes

A tournament is simply an organized session where players compete on the same game course and compare scores on the leaderboard. Competitors can be individual players or teams, and a single tournament can mix both.

The host is the computer that runs the physics engine and displays to the audience. It collects mouse/keyboard input from the host player and connected clients.

The client collects input from an additional player and sends it to the host. It can run in mouse/keyboard mode or gamepad mode. The Two-Thumbs gamepad is only available on a client, which must have a touch screen.

The host has a host-player option under the Multiplayer options (right panel). Uncheck it if the host is not playing — do this when all players are using the gamepad.

solo keyboard Host computer player single device (no gamepad) solo gamepad Host Client gamepad two devices, host player off team Host Client gamepad Client keyboard three devices, host player optional
Devices for solo and team play.

Set Your Nickname and Team

Your nickname is the name that appears during games and on the leaderboard.

Server, Room, and nickname fields with the Create button
Use the m key or check the Multiplayer checkbox to see these fields in the left panel.

Starting a Game

Demo number buttons with lettered game links
The 7 demo group is selected using the button, then the c variant is selected with the link.

On the main Springs & Pucks page, games are accessed though the numbered buttons and variant links below them (right panel) or corresponding help-text links (left-panel). For example, the Puck Popper game has variants 7a–7e and 8a–8e.

Multiplayer order matters: the host creates the room first, all network clients connect, and then the host starts the game (clicks the demo button). Use the v key for a full-screen view of the canvas (the game window/play area), and esc to return.

GameDemoHow to start / play
Ghost-Ball Pool
(9-ball, 8-ball, rotation)
3d Select the cue ball and drag the ghost ball to aim; release to shoot (release over the cue ball to cancel, alt to reverse). Tap z while aiming to set shot speed. Restart with the 3 key.

Note that the 8-ball and rotation variants are started from links in the help (left) panel.

Monkey Hunt 4e Click the ball and drag to aim (farther = faster); release to shoot the falling monkey. Use b (or a second finger) for fine aiming. Best in full-screen.
Bipartisan Hoops
(basketball)
5e Drag and release to shoot at the hoop. b toggles high-resolution aiming; ctrl-drag for ball-in-hand positioning; c centers the attachment point for vertical bank shots.
Jello Madness 6a Untangle the spinning block of jello as fast as possible. The right mouse button, freeze (f), and gravity (g) controls all help. Shortest untangle time wins.
Puck Popper
(small canvas)
7 Be the last puck standing. A group of games (7a–7e), started from the lettered links under the number buttons. Jet: w a s d; gun: i j k l; hold spacebar for a shield. The ? key finds your puck. Cell phones can use the Two-Thumbs virtual gamepad from the client page.
Puck Popper
(large canvas)
8 Same controls as the 7 group of games, on a larger course (8a–8e).
Puck Popper controls: The jet's w fires, a/ d rotate, and s flips the jet to oppose your motion (braking). The gun's i shoots, j/l rotate, and k steps in 90° increments. Target pucks pop after 10 hits; controlled pucks pop after 20 hits (you can't shoot while your shield is up).
Fine aiming with the b key: In the pool game this fine-control is automatic. In the other games, press b to toggle fine-control of the mouse cursor, moving it in small, damped increments for precise aiming and delicate shot angles; press it again to return to normal cursor movement. It is especially useful for the two projectile games (Monkey Hunt and Bipartisan Hoops). On a touch screen, a momentary second-finger touch does the same thing.

Scoring for Each Game

During play, a live score for each player is shown in the upper-left corner of the canvas, updating in real time as points are earned or lost. This lets everyone track their standing as the game unfolds.

At the end of a game a score summary is shown in the chat panel, followed by the leaderboard report. Toggle between the help panel and the chat/leaderboard panel with the m key.

Ghost-Ball Pool (9-ball, 8-ball, rotation)

Ghost-ball aiming with alignment lines in the pool game
Aiming with the ghost ball: object-ball path (yellow) and cue-ball path (white).
PointsEvent
+50win
+15pocket a ball
-5take a shot
-10wrong object ball — not in your group (8-ball), or not the low ball (9-ball / rotation)
-20scratch the cue ball

Monkey Hunt

Aiming line and projectile forecast toward the falling monkey
The line-of-sight aim and the projectile forecast arc.
PointsEvent
+25hit the monkey
+100push the monkey outside (through the right window)

A perfect game is 600 points; the b fine-adjust aiming helps you reach it.

Bipartisan Hoops (basketball)

Shot forecast arc toward the hoop with shot speed and energy readout
Shot forecast with the shot-speed and energy readout.
PointsEvent
+100shot rattles in
+200swish shot
+300bank shot that rattles in
+400clean bank shot
+500trick shot — any shot aiming to the right (v_x > 0), e.g. from behind the backboard.
+900super tricky shot — a trick shot that also hits the right wall
+200fling bonus

Scoring is limited to the first two minutes of play. Any shot stops the on-screen help series.

Jello Madness

Tangled cube of pucks connected by springs in Jello Madness
The 6a jello tangle.

This game is scored on time only — the seconds needed to untangle the jello (separate the pucks). There is no point score; the shortest time wins.

For solo play, the 6a demo starts with a mildly tangled block of jello, it's spinning, and the tangle-timer is running. Straighten out the block and the tangle timer stops. 6d is a more challenging tangle. The right mouse button, the freeze control (f key), and possibly the gravity control are useful in this game. Hints: one of the interior pucks is colored differently and the diagonal springs are all yellow.

The multiplayer idea here is to create a tangled capture of the block (or an edited version of it) and share it with another team. The opponent team does the same. Both teams play using the capture provided by their opponent.

Part of the fun/challenge is the editing and tangling process. Edit the spring lengths/strengths and puck sizes to create an altered version (or you can even add pucks to the grid). Tangling is generally done best by dragging perimeter pucks into the middle using the right mouse button. The capture name should reference your team name.

Players load the capture provided by their opponent and then restart the timer by clicking the #6 button (or 6 key). In addition, there should be one capture, provided by the tournament coordinator, that all teams will play.

Puck Popper (demo groups 7 and 8)

Puck Popper arena with pucks aiming and firing bullets
Drone pucks (blue) aim and fire; be the last one standing.

Tell the controlled pucks apart by the color of each puck's jet tube: the host's is tomato red (or as specified in the capture), and each client's tube matches the color shown on that client's page. You can also locate your own puck by pressing the ? (question mark) key.

Similar to Jello Madness, Puck Popper lends itself well to producing altered courses that you can post for other teams to try. In addition, there should be one capture that all teams will play. The video page has content on creating custom captures, including the editing, let's build one, and state capture sections. The video on changing the drone path is particularly useful for making a custom course.

PointsEvent
+200last puck-player standing (win)
+100popping a client or drone puck
+50popping a regular puck
+10hitting a puck with one of your bullets
-10getting hit by a bullet
-1a bullet that expires before hitting another puck

Team Play

Team play allows you to group multiple players together for scoring purposes in a tournament. Players in a team work together to clear the drones in Puck Popper or take turns in one of the other games.

The Leaderboard

Game summary and top-25 leaderboard report for a Puck Popper game
A game summary followed by the top-25 leaderboard report.

After completing a game, a leaderboard report of the top 25 results is displayed below the game-score summary in the chat panel.

The leaderboard report can be sorted to show lowest times or highest scores. The default sort is by time. Click the word "score" or "time" in the report to switch between the two sort types. Rows matching your just-finished game are highlighted. Jello Madness reports on a time basis only.

Reading the columns

ColumnMeaning
nameclient name, or nickname (client name)
timeseconds to finish/win the game
scorepoint total (see scoring above)
p / dnumber of human players / drones
fps / iptmonitor frame rate / physics timestep rate
vpvirtual gamepad (Two-Thumbs) was used
nffriendly fire was prevented during the game
m / slmouse usage / drones were sleeping
editeditor usage during the game (wall/pin edits, attribute changes, etc.)

Hovering over a column header in the leaderboard report shows a tooltip explaining that column. This is especially useful for interpreting the string of letters in the edit column.

Querying the leaderboard directly

The host can query the leaderboard without playing a game. From the multiplayer chat field (after connecting), type lb to see example queries, then submit one such as:

What affects your ranking: In Puck Popper, a result where the mouse was used in the canvas area (m column) or the drones were sleeping (ctrl-q, sl column) still appears in the report, but is flagged and excluded from the ranking (it doesn't count toward the "highest human score" placement). The mouse flag applies only to Puck Popper — the other games are played with the mouse (or touch). Each Puck Popper version reports separately (example: demo 7.a results are kept apart from 8.a and 7.b).

Custom Captures for a Tournament

A tournament often runs on a single, agreed-upon course (as defined in a capture). Each capture carries a unique identifier, its demoVersion name. The leaderboard reports each name separately, so a uniquely named capture gives your tournament its own dedicated board.

The easy way — start here. You don't need everything below to run a tournament. The simplest version is just three steps:
  1. Start a game and that produces a capture (example 7.b).
  2. In the capture text area, edit its demoVersion name to something unique (e.g. 7.b.tourney-abc).
  3. Have everyone do the same: edit the name, then run that capture — scores automatically land on your group's own leaderboard.

The controls and four sharing methods below are just extra options; explore them when you're ready.
Capture controls: U, C, Run, S, L, P buttons and the capture text area
Capture controls.

There are four ways to share a capture for a tournament:

  1. Share by name. Starting from a capture-based version (e.g. 7.b), edit its demoVersion name to something unique, such as 7.b.tourney-abc. Share that name with the other players so they can run that capture using that same name (editing the demoVersion value in the capture) and automatically report to the same dedicated board.
    (The a versions (e.g. 7.a) are scripted and have no capture. See method #3.)
  2. Share via the cloud. Same as above, but after renaming, post the capture to cloud storage with the P button and tell everyone it is available in the cloud captures. (The posting process rejects a capture that is identical to the base one, so you must change something — editing the date is enough to post successfully.)
    To retrieve it, other players:
    • click the corresponding demo-group number button (e.g. 7),
    • then query for that group's cloud captures with the ? button,
    • then click on the tournament-capture link in the list in the left panel.
  3. Starting from an a base (scripted) demo. The a versions (e.g. 7.a) run from a script, so there is no capture to work with yet. First produce one: click Run with the shift key down to run the scripted start and immediately grab a capture into the text area. Then edit its demoVersion name and post it as in method #2.
  4. Share by file. Save the capture to a local file with the S button and send that file to the other players, who load it with the L button. Alternatively, copy the file's contents and paste them directly into the capture text area. As with the other methods, everyone then runs the same course under the shared demoVersion name.

A few more notes:

Quick Tournament Checklist

For the complete list of mouse, keyboard, and touch commands, see the Mice, Keys, and Touch reference.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.