{"game":{"game_type":"snooker","rules_version":"2.0","display_name":"Snooker","seat_count":2,"min_seats":2,"max_seats":2,"dynamics":"simultaneous","information":"imperfect","chance":"seeded","pairing":"single","tier":"ranked","stakes_eligible":true,"legal_moves_enumerable":false,"options_schema":{"type":"object","properties":{"layout":{"type":"string","enum":["random","spots"],"default":"random","title":"Layout","description":"random places every ball at random; spots puts the colours on their spots."},"order":{"type":"string","enum":["snooker","any"],"default":"snooker","title":"Order","description":"snooker: always the lowest colour left; any: pot the colours in any order."},"table":{"type":"string","enum":["hidden","known"],"default":"hidden","title":"Table","description":"hidden keeps cloth speed and bounce secret until the end; known publishes them."},"max_shots":{"type":"integer","minimum":10,"maximum":60,"default":30,"title":"Shots","description":"The most shots each seat may play on its table."},"pockets":{"type":"string","enum":["snooker","pool"],"default":"snooker","title":"Pockets","description":"snooker: tight rounded jaws; pool: the wider WPA pockets."}},"additionalProperties":false},"default_options":{"layout":"random","order":"snooker","table":"hidden","max_shots":30,"pockets":"snooker"},"move_schema":{"type":"object","properties":{"angle":{"type":"integer","minimum":0,"maximum":359999},"power":{"type":"integer","minimum":1,"maximum":1000}},"required":["angle","power"],"additionalProperties":false},"max_moves":120,"default_clock":{"initial_ms":30000,"increment_ms":0},"tiebreak":"split","tiebreak_text":"Split: the game itself already gives equal scores to the seat with fewer strokes and then to the faster one, so a drawn game is level on all three and equal set points split the pot.","tournaments":false,"status":"enabled","rules_url":"https://apigaming.com/games/snooker","rules_text":"Snooker is a race to clear the six colours. Both seats get the same table from one seed and each\nplays its own copy at the same time; you never see the other table while the game runs.\nThe table is a nine-foot pool table, 2540 x 1270 mm, and every length in the state is an integer\nnumber of micrometres: x runs along the length from 0 to 2540000, y across from 0 to 1270000, and\ny points UP the picture (y = 0 is the bottom rail as drawn). Balls are 57000 across.\nPockets (rules 2.0): the cushion noses are the edges of the playing area, but each rail of rubber\nends at the pocket jaws. At a jaw the nose turns into the pocket through a rounded rubber point and\nthen runs straight along a facing cut at the pocket's facing angle to the rail. The mouth is the\nwidth between the two virtual jaw points, where the nose line meets the facing line. A ball can drop\nonly once its centre crosses the pocket's fall line (the slate edge, across the pocket at the shelf\ndepth behind the middle of the mouth line); a ball that is off line hits a jaw and can rattle out\nor stay in the throat. A ball past the fall line is over the drop: it falls once its centre has been\npast the line for 40 ms, when it stops there, or when it gets 28.5 mm past it (the\nback of the pocket); one that comes back over the line before that stays on the table. The jaw\nrubber (rounded points and facings) is the same on every table, whatever the rails' hidden\nrestitution: restitution 0.85, and it grips: along the rubber a ball loses 0.15 times the\nchange in its speed across it (never more than it has). Then the ball's roll takes over: a rolling\nball that leaves a jaw at velocity u ends up rolling at (5u + 2v) / 7, v its velocity before the\ncontact; at or below 0.45 m/s it does so at once, at or above 1.2 m/s not until it has\nleft the pocket, in proportion between. So a slow ball that catches a jaw is carried on into the\npocket and a fast one rattles out.\nCorner pockets sit at the corners, middle pockets in the middle of the long rails. Every \"fall\" below\nis the gap between the rubber at the fall line. Option pockets: \"snooker\" (the default: snooker\nproportions scaled to the 57 mm ball, rounded jaws: the rounded points reach past the fall line of the\nmiddle pockets, which have no straight facing in front of the drop): corner mouth 93 mm, facings at 142 degrees, point radius 12 mm, shelf 15 mm, fall 89.3 mm; middle mouth 100 mm, facings at 100 degrees, point radius 15 mm, shelf 3 mm, fall 107.2 mm.\n\"pool\" (the WPA specification for a nine-foot table):\ncorner mouth 115.9 mm, facings at 142 degrees, point radius 10 mm, shelf 28.6 mm, fall 108.9 mm; middle mouth 128.6 mm, facings at 104 degrees, point radius 8 mm, shelf 4.8 mm, fall 126.4 mm.\nmatch.board.geometry publishes every rail segment, rounded point (centre and radius), facing,\nfall line and an aim point on each pocket's centre line.\nOn the table: the white and yellow 2, green 3, brown 4, blue 5, pink 6, black 7 (27 points).\nOption layout: \"random\" places all seven balls at random, clear of each other, the cushions and the\npockets; \"spots\" puts the colours on the snooker spots scaled to this table and the white somewhere\nin the D.\nA move is one shot: {\"angle\": a, \"power\": p}. a is 0..359999 thousandths of a degree, measured\nanticlockwise from the positive x axis (90000 sends the white toward larger y). p is 1..1000 and the\nwhite leaves at p x 6000 micrometres per second (power 1000 is 6 m/s). There is no spin.\nPhysics: balls roll in straight lines and slow at a constant rate (the cloth speed); two balls\nexchange their velocities along the line of centres; rubber (rails, points and facings) reverses the\ncomponent into it and multiplies it by the restitution (the jaws also grip, as above). All of it is\ninteger arithmetic, so a shot replays exactly.\nOption table: \"hidden\" draws the cloth speed from 700..1300 mm/s^2 and the restitution from\n600..900 thousandths from the seed, the same for both seats, and publishes them only when the game\nis over: you learn them from what your own shots do. \"known\" publishes both from the start.\nOption order: \"snooker\" (the default) means the ball on is always the lowest colour left (yellow,\ngreen, brown, blue, pink, black), and only it may be hit first or potted; \"any\" lets you play and\npot the colours in any order.\nA colour potted legally scores its value. A foul scores nothing, puts every colour potted in that\nshot back on its starting position (or the nearest free place) and takes a penalty off your own\nscore: the largest of 4 and the value of the highest colour involved in the shot (the first colour\nhit, any colour potted and, with order \"snooker\", the ball on).\nFouls with either order: the white hits no ball; the white is potted (it goes back to its starting\nposition). Order \"snooker\" adds: the white's first contact is not the ball on; a colour that is not\nthe ball on is potted. A score may go below zero.\nTime: each seat has 30 seconds for its whole table, running from the start of the game (the clocks\nin the match). Your table closes when it is cleared, after max_shots shots (10..60, default 30) or\nwhen your time runs out, with the score it has then.\nWhen both are closed the higher score wins; equal scores go to the seat that took fewer strokes\n(shots played; penalties are in the score, not in the strokes); equal strokes go to the seat that\nclosed in the shorter time (server time from the start of the game to the shot that closed the\ntable), and equal times to the millisecond are a draw.","options":{"layout":"random","order":"snooker","table":"hidden","max_shots":30,"pockets":"snooker"},"stake_limits":[{"currency":"PTS","min":10,"max":1000}],"rake_bps":0},"server_time":"2026-11-02T00:17:44.191Z"}