Liar's Dice - credits, sources and provenance ============================================= https://liars-dice.skillsafe.ai/ WHAT THIS IS ------------ An independent browser reimplementation of Liar's Dice, the bluffing dice game also known as Dudo, Perudo, Cacho, Cachito, Dadinho, Bluff and Call My Bluff. The game is traditional and in the public domain: it is thought to originate in the Inca Empire around the 15th century and to have reached Europe with the Spanish conquistadors. Commercial editions exist and are NOT reimplemented here: Milton Bradley published a "Liar's Dice" in 1987, and Richard Borg's "Call My Bluff" / "Bluff", published by F.X. Schmid, won the Spiel des Jahres in 1993. This app uses no artwork, text, component design or trademark from any commercial edition; it implements the traditional rules from the published descriptions listed below. It is not affiliated with, endorsed by or connected to any publisher of any commercial version. Not a commercial product, no accounts, no network calls, no analytics. Everything runs in the page. SOURCES ------- S1 Wikipedia, "Liar's dice". https://en.wikipedia.org/wiki/Liar%27s_dice (the article itself carries "original research" and "refimprove" maintenance tags) S2 Wikipedia, "Dudo". https://en.wikipedia.org/wiki/Dudo S3 Compendia, "Dice games introduction and rules for dudo", last updated Feb 2016. The page Wikipedia's Dudo article cites for the rules; it is dead, and was read from the Internet Archive snapshot that Wikipedia's own reference links to: https://web.archive.org/web/20160304025802/http://www.compendia.co.uk/dice.htm S4 Neller, T.W. and Hnath, S., "Approximating Optimal Dudo Play with Fixed-Strategy Iteration Counterfactual Regret Minimization", Advances in Computer Games 2011. http://cs.gettysburg.edu/~tneller/papers/acg2011.pdf (their ruleset is from S8) S5 bead.game, "Dudo". https://bead.game/games/dice-games/dudo S6 Wikipedia, "Dice". https://en.wikipedia.org/wiki/Dice S7 Wikipedia, "Spiel des Jahres" and the Spiel des Jahres entry for Bluff. S8 Knizia, R., "Dice Games Properly Explained", Elliot Right-Way Books, 1999. NOT HELD - cited only as the source S4 names for its ruleset. SOURCES I COULD NOT OPEN ------------------------ X1 Ferguson, C.P. and Ferguson, T.S., "Models for the Game of Liar's Dice", UCLA. https://www.math.ucla.edu/~tom/papers/LiarsDice.pdf Downloads (4.9 MB) but is a scan with no text layer at all - pdfinfo reports the producer as "HP Digital Sending Device" and pdftotext yields zero lines. This is the ONLY citation Wikipedia gives for its "greater than 50% chance / highest chance of being exactly correct" bidding rule, so that claim is tested here from first principles instead of quoted. X2 gambiter.com, "Dudo". https://gambiter.com/dice/Dudo.html - one of the three external links on the Wikipedia Dudo article. 301-redirects to the site root; the Dudo page no longer exists. X3 BoardGameGeek's Perudo page, the first external link on the Wikipedia Dudo article, returns HTTP 403 to non-browser clients. X4 pagat.com, often assumed to be the authority on traditional game rules, has no Liar's Dice, Dudo or Perudo page at all. Its A-Z index's only "Bluff" entry is a card game. X5 Diaconis, P. and Keller, J.B., "Fair Dice", American Mathematical Monthly 96(4):337-339, 1989. Cited in Wikipedia's Dice bibliography as discussing dice fair "by symmetry" and "by continuity"; the paper is behind JSTOR and was not read. Everything this app says about the symmetry argument is derived and proved in its own harness, not quoted from that paper. X6 S8 (Knizia 1999), a printed book, not held. PROVENANCE ---------- Every substantive figure in this app is tagged. "qualified" marks an entry that is documented, but of something adjacent - a casino craps die rather than a Liar's Dice set, a bibliography entry rather than the paper it points at. Folding those into DOCUMENTED would flatter the tally. DOCUMENTED 33 DOCUMENTED-qualified 6 MEASURED 18 DERIVED 9 CALIBRATED 8 RECONSTRUCTED 6 80 tagged entries in total. [DOCUMENTED] Five six-sided dice per player, with a cup for concealment. S1, S2, S3, S4. [DOCUMENTED] Two to six players. S3 ("Number of Players: 2-6"). [DOCUMENTED] Aces (ones) are wild and count towards every rank. S2, S3, S4. [DOCUMENTED] You may not open a round calling aces. S3 ("You may not begin a round calling Aces"). [DOCUMENTED] ...unless you are down to one die. S2. [DOCUMENTED] A higher call: the same quantity of a higher rank. S3. [DOCUMENTED] A higher call: a higher quantity of the same rank. S3. [DOCUMENTED] Switching to aces costs half the quantity, rounded up. S3 worked example (eight 4s -> four aces); S2 ("halve the quantity of dice, rounding upwards"). [DOCUMENTED] Leaving aces costs double the aces plus one. S3 (four aces -> nine 2s); S2 ("one more than double the previous quantity"). [DOCUMENTED] A lost dudo costs exactly one die, whoever loses it. S1, S3. [DOCUMENTED] Calza: exactly right and you take a die back, wrong and you lose one; no player may hold more than five; the calza player opens the next round. S3. [DOCUMENTED] Palifico: triggered when a player is reduced to one die; that player opens; aces are not wild; the rank is frozen; only another one-die player may move it. S3. [DOCUMENTED] The loser of a round opens the next one; if eliminated, the player to their left does. S2, S3. [DOCUMENTED] The last player holding dice wins. S1, S2, S3, S4. [DOCUMENTED] Turn order is clockwise. S1, S3. [DOCUMENTED] The count of a given face among n unknown dice is Binomial(n, 1/6). S1. [DOCUMENTED] P'(q) = sum over x >= q of C(n,x)(1/6)^x(5/6)^(n-x) for the at-least tail. S1. [DOCUMENTED] Neller & Hnath's total claim order, in which n x 1 immediately precedes 2n x 2. S4. [DOCUMENTED] Neller & Hnath's challenge cost: the loser loses the difference between the claim and the count, and on an exact claim every player except the claimant loses one. S4. [DOCUMENTED] Neller & Hnath: the winner of a challenge makes the first claim of the next round. S4. [DOCUMENTED] Wikipedia's Dudo article allows a quantity raise onto a different rank ("a bid may increase from 'five threes' to 'six twos'"). S2. [DOCUMENTED] Wikipedia leaves the wrong-calza penalty undefined: "one or two dice, depending on the agreed upon rules". S2. [DOCUMENTED] Wikipedia records palifico at one die AND at two dice, unreconciled, and tags both "palo fijo" and "palo ciego" as citation-needed (May 2025). S2. [DOCUMENTED] Wikipedia limits spot-on to while more than half the original dice remain. S2. [DOCUMENTED] Origin: a bluffing game of the Inca Empire, around the 15th century, carried to Europe by Spanish conquistadors. S1, S4. [DOCUMENTED] Milton Bradley published a version in 1987. S1. [DOCUMENTED] Call My Bluff, by F.X. Schmid and designer Richard Borg, 1993, won the Spiel des Jahres that year. S1, S4, S7. [DOCUMENTED] Precision casino dice are 3/4 in +/- 1/5000 in on edge = 19.0500 +/- 0.0051 mm. S6. [DOCUMENTED] Precision dice have their drilled pips filled with paint or epoxy matched to the density of the cellulose, so the pips do not move mass. S6. [DOCUMENTED] Standard gravity is 9.80665 m/s^2 (CGPM, 1901). S6 and the SI definition. [DOCUMENTED] "Uniform fair dice" are those where all faces are equally likely because the solid is face-transitive. S6. [DOCUMENTED] On a standard die opposite faces sum to one more than the number of faces, i.e. 7. S6. [DOCUMENTED] Neller & Hnath state outright that "a single, standard form of the game has not emerged". S4. [DOCUMENTED qualified] The 19.05 mm edge used for the simulated die is the casino CRAPS die dimension. No source gives a size for a Liar's Dice set; S3's kit is "30 spot dice" with no dimension at all. Adjacent object, right order of magnitude. [DOCUMENTED qualified] The chamfer drawn on the die's edges follows S6's description of precision BACKGAMMON dice ("rounded corners and edges, to allow better movement inside the dice cup"), not of any Liar's Dice set. The simulated die is a sharp cube; the chamfer is cosmetic. [DOCUMENTED qualified] Diaconis & Keller, "Fair Dice" (1989), fair "by symmetry" and "by continuity" - the bibliography entry is documented (S6); the paper itself was not read (X5). [DOCUMENTED qualified] The Atahualpa origin legend (refined during his captivity after Pizarro's victory, 1532) is documented by S3 explicitly AS A LEGEND, and 1532 is the 16th century, not the 15th that S1 and S4 give for the game's origin. [DOCUMENTED qualified] "Big in London in the 18th century" - S4 quoting Jacobs, "The World's Best Dice Games" (1993), a book not held. [DOCUMENTED qualified] The LD-2 ruleset is Knizia (1999) as reported by S4; the book itself (X6) was not consulted. [MEASURED] Face distribution over 2,000,000 simulated throws: 332840 332541 334284 333312 333370 333653; chi-square 5.637 on 5 d.f., p = 0.343. [MEASURED] Pip distribution over the same 2,000,000: chi-square 4.826, p = 0.438. [MEASURED] A throw makes 11.4 table contacts on average and settles in 0.574 s on average. [MEASURED] With the release ORIENTATION fixed and only velocity and spin wobbled, the face distribution stays degenerate: one face 100% of the time at sigma <= 1e-4 m/s, 58.5% at 1e-2, 18.4% at 1e-1, and still chi-square 96.8 on 40,000 throws at sigma = 0.3 m/s. [MEASURED] Decorrelation scale by release parameter (3,000 throws per cell, 15 decades): release height 1.6e-4 m, vertical velocity 9.2e-4 m/s, tilt 2.4e-3 rad, horizontal velocity 1.4e-2 m/s, spin 2.4-2.8e-2 rad/s. [MEASURED] Horizontal release position has EXACTLY zero influence: a one-metre sideways shift changed the face 0 times in 45,000 throws. [MEASURED] Decorrelation scale against restitution, everything else held: 5.8e-2 m/s at e = 0, 1.8e-2 at 0.1, 5.9e-3 at 0.2, 9.1e-4 at 0.36, 8.1e-6 at 0.55. [MEASURED] Amplification of about 1.8x per table contact, fitted across that restitution range; about 10^3 in total for the shipped 11.6 contacts. [MEASURED] A no-bounce drop from a Haar-random orientation is exactly fair (chi-square 2.06 over 20,000) and 100.00% predictable from the release orientation alone. [MEASURED] Equivariance under the three 180-degree body rotations, which are exact signed permutations of the quaternion components: 11,995 of 12,000 throws, bit for bit. [MEASURED] Equivariance under the six 90-degree body rotations, which carry an inexact 1/sqrt(2): 23,994 of 24,000. [MEASURED] Hands of five simulated dice follow Binomial(5, 1/3) for a wild-boosted rank: chi-square 5.36 on 5 d.f. over 60,000 hands. [MEASURED] Two mathematically identical integrations of the same throw, differing only in when the contact test is sampled (at most one time step, about 0.7 mm of flight), disagree on the face 43.3% of the time; complete decorrelation would be 83.3%. [MEASURED] The closed-form free-flight step agrees with stepping the same flight in 600 pieces to 4.4e-15 m in position and 2.7e-14 in quaternion. [MEASURED] No seat advantage: over 2,400 four-handed LD-1 games between identical bots, wins were 587 595 602 616, chi-square 0.76 on 3 d.f. [MEASURED] LD-2 games are far shorter than LD-1: 10.9 rounds against 19.1, over 300 games each. Losing the difference rather than one die is not a cosmetic change. [MEASURED] A die whose centre of mass sits 8% of a half-edge off centre gives chi-square 1535 over 30,000 throws - the fairness instrument sees it easily. [MEASURED] At dt = 1/1000 the contact solver chatters and 1,500 throws take 3,349 ms; at 1/2000 they take 215 ms. The shipped timestep is the stable one, not merely the cheap one. [DERIVED] Neller & Hnath's strength function, reconstructed as s(n,r) = 5n + floor(n/2) + r - 7 for r != 1, 11n - 6 for aces below half the table, 5*dtotal + n - 1 above. The PDF's text layer renders the first branch with the wrong signs; this reading is the only one consistent with the paper's own printed table and its prose rule, and both are checked in the harness. [DERIVED] Under Neller & Hnath's order, four aces does NOT beat eight 4s (4x1 sits immediately below 8x2, which is below 8x4) - so S3's worked example is illegal under S4's ruleset and vice versa. [DERIVED] Symmetry of the solid gives EQUIVARIANCE, not uniformity. Uniformity additionally needs the distribution over release orientations to be invariant under the cube's 24 rotations. [DERIVED] Those 24 rotations carry each face to each face exactly 24/6 = 4 times, so a labelling drawn uniformly from the group makes every pip value exactly 1/6 for any throw whatsoever. [DERIVED] A cube's inertia tensor is isotropic, so a torque-free cube spins about a fixed world axis at a constant rate - which is what makes the closed-form free-flight step exact. [DERIVED] Plain semi-implicit Euler drops a g*t*dt/2 term worth 0.7 mm over a 0.3 s flight at dt = 1/2000 - four per cent of the die's edge. The integrator carries the term explicitly. [DERIVED] Wikipedia's floor-of-the-mean bidding rule survives because 1/6 and 1/3 are reciprocals of whole numbers: floor(np) jumps exactly when (n+1)p becomes an integer, which is the only case where the binomial mode is a tie and floor(np) is the lower of the two. [DERIVED] With aces wild a die counts towards a rank of 2-6 with probability 2/6 and towards a rank of 1 with probability 1/6, which is why bidding aces has its own arithmetic in every ruleset. [DERIVED] The 24 rotations of a cube are exactly the signed axis permutations of determinant +1 (48 signed permutations, half of them reflections). [CALIBRATED] Restitution 0.36 for the die against the cloth. [CALIBRATED] Coulomb friction 0.34 at the contact. [CALIBRATED] Contact spin damping at 7.2 per second while touching. [CALIBRATED] Release height 0.10 to 0.20 m above the table. [CALIBRATED] Launch speed 0.50 to 1.60 m/s horizontally, -0.40 to +0.20 m/s vertically. [CALIBRATED] Spin magnitude 15 to 45 rad/s about a random axis. [CALIBRATED] Integration timestep 1/2000 s, contact band 2e-5 m, bounces below 0.08 m/s treated as fully inelastic, sleep at 0.035 m/s and 0.60 rad/s held for 60 steps. [CALIBRATED] Bot behaviour: doubt below 22% belief, calza above 28% belief in an exact count, an 18% bluff rate, and a preference for the strongest bid it still believes. [RECONSTRUCTED] Where rank 1 sits in the order during a palifico round, when aces are not wild. No source says. LD-1 puts it at the bottom (1 < 2 < ... < 6) and suspends the halving. [RECONSTRUCTED] A cap on the bid quantity at the number of dice in play. No source says; Neller & Hnath's claim space is bounded that way, so LD-1 follows it for all three rulesets. [RECONSTRUCTED] Calza is offered on your own turn. S3 gives it to any player EXCEPT the one whose turn it is; S2 lists "Spot on" as a turn action. This app follows S2, because an out-of-turn interrupt has no meaning against software opponents. This is the only deliberate departure from the ruleset LD-1 otherwise follows. [RECONSTRUCTED] The chamfered-cube mesh, the pip layout drawn on it and the felt. Cosmetic. [RECONSTRUCTED] Placing the five dice side by side by translating each throw in the plane. The model makes this provably free of bias (see the MEASURED entry on horizontal position), but no real thrower does it; dice in this app do not collide with one another. [RECONSTRUCTED] The names and behaviour of the bots. Nothing about them is traditional.