SHUFFLEBOARD — credits, sources, and everything this app made up ================================================================ WHAT THIS IS ------------ An independent reimplementation of TABLE SHUFFLEBOARD for the browser, written from the published rules of the game. It is not affiliated with, endorsed by, sponsored by or connected to the Table Shuffleboard Association, The Shuffleboard Federation (T.S.F. Recreation, Inc.), the International Shuffleboard Association, the National Shuffleboard Association, or any maker of shuffleboard tables. No code, art, text or data from any of them is included. The rules quoted below are theirs and are quoted for identification and accuracy; the physics engine, the renderer, the art and every reconstructed number are this app's own work. TWO GAMES SHARE THE NAME, AND THIS IS THE OTHER ONE --------------------------------------------------- TABLE shuffleboard — a 20 ft 8 in hardwood plank, metal weights slid by hand, bands worth 1, 2 and 3 at the far end and 4 for a weight hanging over the edge. THIS IS THE GAME THIS APP IMPLEMENTS. DECK (court) shuffleboard — a long court, discs pushed with a cue, a triangular 10-8-7 scoring diagram with a "10 OFF" zone. Governed internationally by the International Shuffleboard Association (world-shuffleboard.org, formed 1979 with Canada, Japan and the USA as charter nations) and in the United States by the National Shuffleboard Association. A NOTE ON WHICH ONE "SHUFFLEBOARD" MEANS. Every general reference work reserves the bare word for the DECK game. English Wikipedia's article "Shuffleboard" is the deck game; "Deck shuffleboard" and "Shovelboard" redirect into it; there is no disambiguation page; and this game is titled "Table shuffleboard". Merriam-Webster, the American Heritage Dictionary, Collins and Random House Webster's all define the cue-and-court game. Living American bar usage is another matter and mostly means the table — but the headword does not, and this app says so in its Help panel rather than quietly assuming otherwise. HISTORY. The table form is the older one. Its ancestor was played in Tudor England as "shovillabourde" — Henry VIII is recorded playing it for stakes — and it descends through shovelboard and shove-groat. The deck game came ashore in the United States in 1913 and spread from Florida through the 1920s and 1930s. Table shuffleboard has no author, no publisher and no copyright holder; it is a folk game, and the only proprietary thing about it is the trade dress of individual tables. THE RULES: WHERE EVERY NUMBER IN THIS APP COMES FROM ==================================================== Primary source, cited throughout by rule number: S1 OFFICIAL TABLE SHUFFLEBOARD TOURNAMENT RULES, 2024 EDITION (1 February 2024). The numbered code — Sections 1 to 9, rules of the form 3.1.1.2.1 — published for the game of Knock-Off and linked as the official rules from the Table Shuffleboard Association's own site and from The Shuffleboard Federation's. https://sep.turbifycdn.com/ty/cdn/shuffleboard/2024-Table-Shuffleboard-Rules.pdf Secondary and superseded sources, cited where they differ or where S1 is silent: S2 NASC XXIX Tournament Program & Official Rules/Guidelines (2018), rules 1.0-13.0, whose own text calls the previous code the "TSA RULES AND GUIDELINES 2017". https://sep.turbifycdn.com/ty/cdn/shuffleboard/Table-Shuffleboard-Official-Rules.pdf S1 rule 6.4.3.2.3 Comment 1 states that it replaces S2's "Safe" rule, so S1 governs. S3 TSA Rules and Guidelines 2017 (the .pdf and .docx the TSA site links). S4 The Shuffleboard Federation's Knock-Off page, which is the only source located that resolves S1's short/long foul-line ambiguity. https://www.shuffleboardfederation.com/ S5 McClure Tables' maintenance articles, for the board's shape — a manufacturer, not a governing body, and labelled as such everywhere it is used. https://mccluretables.com/blogs/maintenance/shuffleboard-climate-adjusters S6 Wikipedia, "Table shuffleboard" and "Shuffleboard", for orientation only. Two of its claims about this game are wrong and are recorded under DISAGREEMENTS below. Every quotation below was read out of the retrieved source bytes. The 2024 PDF's embedded font maps the ti/tt/ft/ffl ligatures to private-use glyphs, so a naive text extraction renders "sec on" for "section"; the quotations here are normalised and spot-checked. THE TABLE — S1 rule 3.1 ----------------------- 3.1 "Shuffleboard Table - Also referred to as a 'Board,' consists of the plank, the cradle, and the legs." 3.1.1 "The Plank - shall measure 20 feet 8 inches in length, 20 inches in width, and approximately 3 inches in thickness." -> 248 in x 20 in. THE 22 FT EVERY RETAILER PRINTS IS THE CRADLE, NOT THE PLANK. 3.1.1.1 "The bottom side of the plank shall have climatic adjusters installed for adjusting the concave or convex qualities of the plank." -> The shape of the surface is REQUIRED to exist and to be adjustable. No magnitude, no sign, no tolerance and no measuring procedure is given anywhere in the code. 3.1.1.2 "The top side of the plank is the playing surface. The playing surface shall have lines marked across the width of the surface to denote the 3-line, the 2-line, and the short foul-line. These lines shall be on both ends of the playing surface." 3.1.1.2.1 "The 3-line shall be 6 inches from each end of the playing surface." 3.1.1.2.2 "The 2-line shall be 12 inches from each end of the playing surface." 3.1.1.2.3 "The short foul-line shall be 6 feet from each end of the playing surface." -> There is no 1-line. The 1-band's back edge IS the short foul-line (6.8.1.1). 3.1.2 "The Cradle - should measure approximately 22 feet in length and 31 inches in width. The height of the cradle should ideally be between 34 inches and 38 inches." 3.1.3 "The Legs - shall have adjustable foot pads allowing the table's level to be adjusted..." 3.1.4 "Adjustments to a shuffleboard table during a tournament require the authorization of the Tournament Director..." 9.14 "Gutter - The area on a shuffleboard table between the plank and the inside edges of the cradle. The gutter is normally around 5.5 inches in width." -> 3.1.2 and 9.14 agree without cross-referencing each other: 31 in of cradle less 20 in of plank is 11 in, which is 5.5 in a side. The harness checks that. THE WEIGHT — S1 rule 3.3 ------------------------ 3.3 "Shuffleboard Weight - The combination of a shuffleboard puck, weight cap, and ballast. The overall weight of an assembled shuffleboard weight shall be 310 to 355 grams." 3.3.1 "Puck - The bottom metallic disc of a shuffleboard weight exclusive of the weight cap or ballast. The height of the puck shall be 0.75 inches. The puck shall have a diameter of 2.3125 inches with the widest point centered 0.375 inches from the top and shall be slightly tapered inward towards the top and bottom of the puck. These measurements have a margin of error of 0.05 inches." 3.3.2 "Weight Cap - ... may be plastic or metal in composition, must be either blue or red in color..." 3.3.3 "Ballast - A non-magnetized metal or polymer-based material added to the center of the interior of a weight cap... Ballast cannot be added to the puck." 9.13 "Game Weights - The 4 weights in use by a player or team during a game." -> The taper matters to the RULES and not only to the look: 7.1.2's line call is judged on the silhouette from directly above, so both the line call and the rub are made on the widest band. This app therefore uses the full 2.3125 in diameter for every geometric test and never a contact-patch radius. THE SURFACE DRESSING — S1 rules 3.4, 3.5, 6.7 --------------------------------------------- 3.4 "Shuffleboard Wax - Sometimes referred to as 'dust' or 'powder.' The Tournament Director is responsible for ensuring shuffleboard wax is available in abundant quantities... Players may not supply their own shuffleboard wax during a tournament." 3.5 "Silicone Spray - ... The application of silicone spray to the playing surface, either before or during an event, falls under the purview of the Tournament Officials." 3.5 Cmt "It is generally recommended to apply silicone spray to a board every 10 to 12 games of use for optimal performance." 6.7 "Adding Wax To The Board - The entire playing surface should consistently have a sufficient amount of wax to facilitate smooth gameplay." -> The code knows the surface's speed varies with its dressing, regulates who applies it, and specifies NO grade, NO grain and NO coefficient of friction. There is no published coefficient of friction for a weight on a waxed plank anywhere. SCORING — S1 rules 6.8, 7.1, 9.17, 9.26, 9.33 --------------------------------------------- 6.8 "Scoring A Frame - Only the team with a scoreable weight (see Rule 9.26.) at the conclusion of a frame can score the value of the weight. All scoreable weights are added together for the total score in that frame." 6.8.1.1 "A weight that is beyond the short foul-line but not completely beyond the 2-line shall have a value of 1 point." 6.8.1.2 "A weight that is beyond the 2-line but not completely beyond the 3-line shall have a value of 2 points." 6.8.1.3 "A weight that is beyond the 3-line but not extending beyond the end of the playing surface shall have a value of 3 points." 6.8.1.4 "A hanger weight (see Rule 9.17.) shall have a value of 4 points." 9.26 "Scoreable Weight - A weight in-play that is closer to the scoring end of the board than any of the opponent's weights." 9.33 "Weight In-Play - A legally delivered weight that has completely passed the short foul-line and comes to a full stop on the playing surface." 9.6 "Dead Weight - A weight that leaves the playing surface under its own momentum or after being struck by another weight. A dead weight may no longer have any effect on a weight in-play and cannot score any points during a frame." 7.1.2 "Line Call - ... To establish if a weight is completely over the line, it should be viewed from above (looking down over the top of the weight), with the observer standing at the scoring end of the board. The entire weight must be past the line for it to count as the next higher point value." -> So a weight touching a line takes the LOWER value, and the test is on its trailing edge. Note that 6.8.1.3 says only "beyond the 3-line" where 6.8.1.2 says "completely beyond"; 7.1.2 settles it and this app reads all four the same way. 9.17 "Hanger Weight - A weight in-play that extends beyond the scoring end of the board such that it hangs over the end of the board. A weight that is only hanging over the side of the board is not a hanger weight. A hanger weight has a potential scoring value of 4-points." 7.1.3 "Rub - ... a Tournament Official or judge should use the flat edge of a puck (a weight with the cap removed), or other suitable flat-surfaced device, sliding it along the scoring edge of the board. If contact is made with the weight in question, it is deemed a hanger weight and awarded 4 points; otherwise, it is valued at 3 points." -> ANY overhang at all is a 4. The engine switches at a nanometre. 7.1.1.1 "If the Tournament Official or judge cannot conclusively determine which weight is further ahead, it shall be ruled a 'dead heat' and neither weight shall score. Only weights ahead of the 'dead heat' are eligible to score." 6.4.3.2.3 "If the fallen weight was a hanger weight (see Rule 9.17.), once it is returned to the playing surface it shall be considered a 'protected' weight and cannot be out distanced." Comment 2: "...it shall be considered the deepest weight on the playing surface at the end of the frame, regardless of the actual depth of any other weights. If there are two or more 'protected' weights on the playing surface, they shall be considered the exact same depth on the board." PLAY — S1 rules 6.1 to 6.10, 9.15, 9.19 --------------------------------------- 6.3 "Frame In Progress - During a frame, players take turns shooting their weights, one at a time, starting with the player who does not have the hammer. A frame begins when the first weight is shot ... and is concluded after the hammer weight is shot and all weights in-play have come to a full stop." 9.15 "Hammer - The final weight shot in a frame. In the game of Knock-Off, a 'switch-hammer' format is used. The team that scores points in a frame must shoot first in the next frame, thus switching hammer to the non-scoring team. If no points are scored in a frame, the team that had hammer for the non-scoring frame must shoot first in the next frame, switching the hammer." -> READ CAREFULLY. This is NOT "the hammer alternates". The hammer goes to the NON-SCORING side, which is a change only when the hammer side scored. It switches unconditionally only on a no-score frame. This app's harness asserted a blanket alternation first and was wrong. 9.19 "Legal Shot - A weight may be shot with either hand by sliding it across the playing surface toward the opposite end of the board. The weight must remain in contact with the playing surface during the delivery, must be released prior to reaching the short foul-line, and may not be touched again after it is released. The shooter must begin their delivery with both fee[t] behind the 2-line and one foot must remain in contact with the floor behind the 2-line during the delivery." [the source reads "feed"] 6.4/8.2.2 An illegal delivery is a Loss Of Shot: "Any weights affected by the shot shall be restored to their original position, and the offending player's weight removed from the playing surface." 6.4.3 EXC 1 "A weight that has not completely passed the short foul-line, after coming to a complete stop, must be promptly removed from the playing surface." -> And note what the code does NOT say: nothing restores the weights such a short weight knocked on the way. 6.4.3.1's general instinct is that "Any other weights on the playing surface affected by the shot will remain where they ended", so they stay knocked. This app follows that reading. 6.4.2 "A player shall have a maximum of 20 seconds to shoot their weight." (S2 said 30.) 6.4.6/9.3/9.5 "A player shall not shoot a blast shot (see Rule 9.3.) on a clean board (see Rule 9.5.). PENALTY - 1-point penalty." 9.3: "A shot executed with an extreme amount of force, strategically aimed at knocking another weight from the playing surface." 9.5: "A board with no weights on the playing surface." -> The opponent in this app never plays a blast at an empty plank, because of this. 6.4.7 "A player shall not shoot their shot with excessive spin for the purpose of making the weight dance around the playing surface..." PENALTY - 1 point. 6.1/6.10 The 2024 code deliberately fixes NO point target: "Be the first team to achieve the specified number of points, as defined by the event's criteria". 15 appears only inside its own worked example at 2.9.2. S2 5.1 "All games shall be played to 15 points unless otherwise specified..." -> 15 is cited to the 2018 edition and treated here as the event criterion. 21 is in neither code for Knock-Off; where 21 is played it belongs to Horse Collar, which is a different game the Federation publishes separately. This app offers 11, 15 and 21 as settings and says which one is the rulebook's. 6.10 Cmt "Players are not permitted to concede a game..." There is NO BUST RULE in either edition: overshooting the target simply wins. 6.2.2 In singles the players play both ends and swap each frame. This app simulates every frame in one frame of reference; the plank is marked identically at both ends (3.1.1.2) and nothing in the rules distinguishes them. THE SHORT / LONG FOUL-LINE REGIME — the code's one real ambiguity ----------------------------------------------------------------- S1 names only "the short foul-line", marks it at BOTH ends (3.1.1.2.3), and then never says which of the two rules 9.33, 6.3.2, 6.4.3 and 6.8.1.1 mean. The difference is worth a factor of nearly three in the size of the 1-band. S4, the Federation's own Knock-Off page, settles it and names both regimes: "Before the game begins, the game's director decides if you'll be playing the short foul line or the long foul line. In tournament play, typically the short foul line is used. This means that a puck must go past the foul line closest to the person shooting for it to be in play. In long foul line play, pucks are in play only if they go past the foul line furthest from the player." So SHORT is the tournament default and means the SHOOTER's line: a weight need only travel six feet to be live, and the 1-band really does run 176 - 12 = 164 in, i.e. 13 ft 8 in. Both regimes ship in this app, short by default. S6 (Wikipedia) agrees on "closest to the player" while contradicting itself two sentences earlier. DISAGREEMENTS AND ERRORS FOUND IN THE SOURCES --------------------------------------------- * S6 (Wikipedia, "Table shuffleboard") says the three scoring sections together cover "approximately one-third of the length of the table" AND that the 2 section is "of equal length (6 inches)" as the 3 section. Those are mutually exclusive. S1 3.1.1.2.1/.2 settle it: 6 in and 6 in, and the whole marked area is 72 in of a 248 in plank. * S6 also says the outdoor (deck) court is "52 feet long and 10 feet wide". The 10 ft contradicts its own court article and the NSA's own dimensioned drawing, which is 6 ft. * S2 (2018) states no value for a hanger at all — it only ever writes the shorthand "4 Hanger". The 2024 code's 6.8.1.4 is the first place the number 4 appears as a rule. * S2 and S1 disagree on the shot clock (30 s vs 20 s), on cap colours (S2 also allowed green), on the out-of-turn penalty, and on the whole hanger-stabilisation apparatus (S2's "made safe" versus S1's "protected"). S1 governs throughout this app. * No source located anywhere states 0.010 in, 0.015 in or 1/64 in for a shuffleboard crown. Those figures are widely repeated and could not be sourced. The paper test below is smaller than all of them. * "Banana board", "V-board" and "W-board" could not be sourced to any rulebook, manufacturer glossary or dealer page, and are NOT used in this app. The trade's own words are used instead: concave, convex or "high centered", sway, warp, trueness, alignment; and for what a weight does, S path, drift, "break in", "hugs the rail", "dump off the rails", lean. RECONSTRUCTED — every number in this app that NO governing body specifies ======================================================================== These are this app's own choices. Each is here because a replica that hid them would be claiming an authority it does not have. 1. THE COEFFICIENT OF FRICTION between a weight and a dressed plank. Rules 3.4, 3.5 and 6.7 regulate who supplies and applies the wax and the silicone spray, and 3.5's comment says a board wants spraying "every 10 to 12 games of use" — so the code knows the speed varies and declines to quantify it, and no coefficient is published anywhere. This app ships three: fast 0.045, medium 0.075, slow 0.115 chosen to put a full-length slide between about three and six seconds. tools-crown-sweep.js sweeps them rather than trusting one. 2. THE AMOUNT OF CROWN OR CONCAVITY. Required to exist by 3.1.1.1 and specified by nobody. The nearest thing to a specification anywhere is a feeler gauge, and it is a manufacturer's, not a governing body's. S5, McClure Tables, twice and independently: "At McClure, the surface of our shuffleboard tables is set with a slight dip, known as a concave. This will prevent the pucks from falling off the sides of the board and into the gutter. You can test how concave your shuffleboard is by laying a straight edge flat across its surface. If you can comfortably slide a piece of paper across the board beneath the straight edge, your shuffleboard table is just the recommended amount of concave." "As a general rule, the paper should be able to slip under the center of the straight edge, though it should be difficult or impossible to slide the paper under the straight edge near the sides of the board." A sheet of printer paper is about 0.004 in, so the recommended dip is of that order — about 0.1 mm across the 20 in width. THAT CONVERSION IS AN INFERENCE FROM THE PAPER'S THICKNESS AND NOT A FIGURE ANYONE PUBLISHED. The same source names both failure modes: too concave and "weights will take an 'S' path down the board"; too convex — "high in the center" — and they "dump off the rails into the gutters". And it notes that even this is taste: "some people prefer a perfectly flat table for challenging gameplay", which is why a dead-flat plank is one of this app's settings. NOTE THE SIGN. A correctly set plank is CONCAVE and gathers weights toward the centre. Convex is a fault, not a style. There is also a THIRD adjustment, made at the cabinet rather than with the climatic adjusters and inverted from a crown: on 14 ft and longer tables the two ENDS are set slightly high — the trade calls it "sway" — so a weight decelerates into the scoring zone. No magnitude for it is published either. The seven plank settings in this app are its own, built on those descriptions. 3. THE RESTITUTION between two weights (0.55), and the modelling of them as frictionless against each other, so a contact transfers no spin. 4. THE DEAD-HEAT TOLERANCE (0.5 mm). 7.1.1.1 gives a judge with a T-square, not a micrometer, and names no distance. 5. THE RAIL'S THICKNESS outboard of the cradle (1.5 in) — the only dimension of the table in this app that is not quoted, because 3.1.2's 31 in is exactly the plank plus two gutters with nothing left over. Drawing the rail flush with the gutter, as the renderer first did, produced two boxes of zero width; the geometry checker found them. 6. THE WEIGHT'S MASS (332.5 g), taken as the midpoint of 3.3's own 310-355 g bound rather than picked. 7. THE INTEGRATOR'S TIME STEP (1/600 s) — not physics, a numerical choice, and the harness measures the convergence order at it rather than assuming it is adequate. 8. HOW WELL THE OPPONENT PLAYS. Four levels, each an aiming error, a speed error, how much of the board's roll it reads, and how often it goes for a hanger. Measured, not asserted: tools-turns.js reports each level's scoring rate, hanger rate and head-to-head record. 9. THE AIMING AIDS — the ghost path, the pips and the target ring. No rule governs what a player may look at. 10. EVERY COLOUR except the weight caps, which 3.3.2 fixes as red or blue. The maple, the lacquer, the cradle's stain, the gutters and the room are this app's. 11. THE PLAYING HEIGHT is taken as the middle of 3.1.2's 34-38 in range. WHAT IS DELIBERATELY NOT MODELLED --------------------------------- * Tournament officials, and therefore nothing is ever "made safe" or ruled on. 6.4.3.2.3's "protected" weight is implemented and tested, but the engine's hang criterion is exact so a resting hanger never falls unstruck and the rule cannot arise in play. * Penalty points, timeouts, handicaps, doubles, team formats, brackets and the shot clock. * Spin's coupling to the slide. Translation and spin are treated as independent, which is an approximation; tools-phys-oracle.js computes the coupled uniform-pressure disc by quadrature and measures the error, which is about one per cent for any spin a hand can impart and only becomes large for a weight that is nearly stopped and still spinning — behaviour 6.4.7 penalises anyway. * The hang test is the RIGID, FLAT-PLANK result. On a plank with a real crown a perfectly rigid weight and a perfectly rigid surface touch along a line rather than over an area, and the equilibrium problem needs the compliance of the beads and the maple to be well posed. This is stated in the engine, in the Help panel and here; it is not a curvature effect ignored by accident. THE PHYSICS, AND WHAT WAS PROVED ABOUT IT ----------------------------------------- * THE HANG LIMIT, IN CLOSED FORM. A rigid weight resting on a CONVEX footprint is in equilibrium under gravity exactly while the vertical through its centre of mass meets the convex hull of its contact set — and because the footprint is convex, that is true exactly while the centre of mass is over the footprint. So the greatest possible overhang is exactly the weight's RADIUS: 1.15625 in = 29.36875 mm for the TSA's weight, with exactly half of the weight over thin air. The hanging window is (0, D/2] for every diameter, linear with slope one half. Independently checked by building the contact set, hulling it and testing the point, to a picometre, and probed a micron either side. Thickness, mass distribution (axisymmetric) and board tilt provably do not enter; an OFF-AXIS centre of mass moves the limit by exactly its offset; and a NOTCHED, non-convex plank falsifies the rule, which is what shows the convexity hypothesis is load-bearing rather than decorative. * THE BOARD'S STEER, IN CLOSED FORM. On a plank with a transverse crown the lateral gravity acceleration is k*z with k = 2 g crown / halfwidth^2. The obvious integration of a constant acceleration is WRONG BY A FACTOR OF TWO, because Coulomb friction has a sideways component of the same order; putting it in gives dv/dt + v/(T-t) = k z0, whose integrating factor yields drift = (1/4) k z0 T^2 = crown * offset * distance / (mu * halfwidth^2). Linear in the crown, in the offset and in the distance travelled, INVERSE in the friction — a slow board steers more — and exactly zero on the centre line and on a flat plank. The error of that formula vanishes at order 2.00 in the crown, measured rather than tolerated, and a second form (the same equation solved without linearising) brackets it from the other side. * AN INDEPENDENT SIMULATOR on a different integrator (adaptive Cash-Karp against fixed-step RK4), differentiating the height field numerically instead of by hand, detecting contacts by overlap instead of by a solved time of impact, and solving the impulse by a different algebraic route. On frames with no contact the two land 8 nanometres apart. * SCORING, EXHAUSTIVELY: all 1,679,616 arrangements of eight weights across six ordered depth levels, all 26,599 sorted (owner, value) sequences a frame can present, and a quarter of a million random continuous layouts, against two further readings of the rules.