Cocktail Mixing Game is a fictional zero-proof ratio challenge where beginners set three invented streams — Lumen Drop, Cloud Ribbon, and Comet Fizz — to integer amounts from 0 through 10 and try to match a visible three-part target within 6.00 percentage points of total deviation. The active round earns a score of max(0, 200 minus round(totalDeviation times 10)), so a perfect 0.00 deviation gives 200 points and five perfect rounds yield the exact maximum of 1,000. The game contains no real recipes, ingredients, or alcohol; every name is an invented game token used only to teach scale-independent ratio matching. Because comparison runs on shares rather than absolute amounts, scalar equivalents such as 2:3:5 and 4:6:10 are treated as the same ratio and both report 0.00 percentage-point deviation. Beginners therefore win by reading the target first, scaling it up rather than rebalancing from scratch, and avoiding the second distinct above-threshold miss that closes the run. The tool runs entirely in the browser, depends only on slider state and one comparison function, and shows every step of its judgment on screen so beginners can verify what they scored and why.

A Quick Tour of the Cocktail Mixing Game
For newcomers, the most important thing to know is that the Cocktail Mixing Game has nothing in common with a real bar or a real recipe book. Each round displays one three-part target made of invented zero-proof tokens, and your job is to push three sliders until your actual shares match those targets as closely as possible. There is no recipe list, no inventory to manage, no timer pressure, and no ingredient shopping. The challenge is purely about proportional reasoning, and every number the judge uses is visible on screen.
The game presents five short rounds back to back. Each round shows a different active brief with a single three-part target — for example, Lumen Drop : Cloud Ribbon : Comet Fizz = 2 : 3 : 5 — and you respond by typing integers, dragging sliders, or pressing arrow keys. When you press Shake, the game reduces your input to a lowest-terms ratio, converts both your amounts and the target parts to percentage shares, sums the absolute share gaps across all three streams, and either awards points or records a miss. The visible numbers after every Shake tell you exactly how the judgment was made, and the same calculation runs whether you trigger Shake with a click, the Enter key, or the Space bar.
The Three Invented Streams and Their Integer Range
All three streams — Lumen Drop, Cloud Ribbon, and Comet Fizz — share the same native range and behave identically. Each one accepts integer values from 0 through 10, set with the built-in range controls, pointer, or touch. The slider, the up and down arrow keys, the on-screen buttons, and the displayed integer all read from one shared state, so what you see is always exactly what the judge will compare.
A few constraints matter on a first read:
- An all-zero input is rejected. With every stream at 0, no percentage shares can be defined, so the game refuses to judge the mix.
- Values above 10 are not accepted; the range stops at the boundary.
- Inputs are integers only. Half units and decimals are not part of the input contract, even though the live ratio display may show a non-integer share such as 21.05%.
- Order matters. Lumen Drop's share is computed against the Lumen Drop part of the target, Cloud Ribbon's against Cloud Ribbon's part, and so on. Mixing up the order produces a large deviation even when the parts look similar.
Because the comparison step is scale independent, beginners can pick any scalar multiple of the target. A target of 2:3:5 can be answered with 2:3:5, 4:6:10, 6:9:15, or 8:10:10 — although the last example is a trap, because 8:10:10 does not reduce to the same shares as 2:3:5. Reading the target carefully before scaling saves the first of your repairable misses.
How the Round Score Is Calculated
The Cocktail Mixing Game uses a single visible formula for every round. After you press Shake, the game converts both your actual amounts and the target parts into percentage shares, sums the three absolute share gaps in percentage points, and reports the result as total proportional deviation. If that total is at or below 6.00 percentage points, the round passes. The score for a passing round is max(0, 200 - round(totalDeviation × 10)).
That formula rewards precision in a steep, linear way. A 0.00 deviation gives the full 200. A 1.00 deviation drops the round to 190. A 5.26 deviation drops to 147. Anything above 6.00 is a miss and earns zero for that round, even if the gap is only 6.01. The interface below the sliders shows every input that feeds into that judgment:
| Display Element | What It Means |
|---|---|
| Live reduced ratio | Your current integers divided by their greatest common divisor |
| Component gap | Each stream's absolute share difference in percentage points |
| Total deviation | Sum of the three component gaps |
| Projected round score | max(0, 200 - round(total × 10)) |
| Previous accepted score | Points from the most recent pass |
| Miss count | Number of distinct above-threshold failures this run |
Reading those numbers together is how a beginner confirms whether a Shake was judged fairly. The component gaps let you see which stream is off; the total tells you whether the round passes; the projected score tells you what you would earn if you pressed Shake right now.
How to Play the Cocktail Mixing Game as a Beginner
- Read the active brief on screen. Note the three-part target ratio and the order of streams — for example, Lumen Drop : Cloud Ribbon : Comet Fizz = 2 : 3 : 5.
- Set each of the three sliders to an integer from 0 through 10. Avoid leaving every slider at 0, since that input is rejected.
- Multiply the target by any whole number so every part fits inside 0–10. A target of 2:3:5 with multiplier 2 becomes 4:6:10; with multiplier 1 it stays 2:3:5.
- Press Shake using the on-screen button, the Enter key, or the Space bar. The interface displays your reduced ratio, each component gap, total deviation, and the projected round score.
- Confirm the total deviation is at or below 6.00 percentage points. If it passes, your score for the round is awarded and the next brief opens with a cleared miss history.
- If the round misses, adjust the sliders and Shake again. Repeating the same equivalent ratio (for example, 2:3:5 and 4:6:10) does not consume another miss, because the game deduplicates attempts by greatest common divisor.
- Repeat across all five briefs. Restart from the first brief at any time to reset score, inputs, and miss history.
Reading the Target Ratio Before You Touch Anything
Most first-round mistakes come from reacting to the slider numbers instead of the target. The Cocktail Mixing Game shows both your reduced ratio and the brief's target ratio on the same screen, but the target is the only thing that determines whether your share percentages line up. Skipping that pre-mix read is the fastest way to spend one of your repairable misses.
A simple pre-mix routine works well for beginners:
- Compute the target's total parts. For 2:3:5, the total is 10, so the shares are 20%, 30%, 50%.
- Convert your planned integers into shares of their own total. The comparison is share-versus-share, not part-versus-part.
- Subtract each stream's target share from your actual share and add the three absolute values. If the sum is at or below 6.00, the mix passes.
- Decide on a multiplier. Choose any whole-number scalar that keeps every slider between 0 and 10 inclusive.
A useful beginner shortcut is to start from the lowest part. If Lumen Drop has the smallest share in the target, set that slider first, then scale the remaining two proportionally. Because the comparison is scale independent, picking any scalar multiple that keeps every slider between 0 and 10 produces the same zero-deviation result.
Worked Example: 4:6:9 Against 2:3:5
To make the formula concrete, here is the example the game uses to teach near-miss scoring. Suppose the target is 2:3:5 and you submit 4:6:9.
- Target shares: 2/10 = 20%, 3/10 = 30%, 5/10 = 50%.
- Actual shares: 4/19 ≈ 21.05%, 6/19 ≈ 31.58%, 9/19 ≈ 47.37%.
- Component gaps: |20 − 21.05| ≈ 1.05, |30 − 31.58| ≈ 1.58, |50 − 47.37| ≈ 2.63.
- Total deviation: 1.05 + 1.58 + 2.63 = 5.26 percentage points.
- Round score: max(0, 200 − round(5.26 × 10)) = max(0, 200 − 53) = 147.
That 147 is well above zero, well below 200, and visibly shows up on the interface as the projected round score. Because 5.26 sits inside the 6.00-point acceptance window, the mix passes — but it leaves about 53 points on the table relative to a perfect 200. Treating the projected score as live feedback is how beginners turn a near-match into a 200 on the next attempt.
Misses, Repair, and the Run-Ending Deadlock
Because the run has only five rounds, missing matters more than in a casual browser game. The Cocktail Mixing Game keeps a small ledger of distinct above-threshold ratios. The first time you submit a mix whose total deviation exceeds 6.00, that normalized ratio is recorded as a miss. You can keep adjusting and re-shaking; the same equivalent ratio (after GCD reduction) does not count as a second miss, so a careless 2:3:5 typo followed by a correct 4:6:10 still uses only one miss slot.
The run ends only when a second distinct above-threshold ratio is recorded. Once that happens, judging freezes and the only available action is Restart. Restart restores the first visible target, resets all sliders to 0, clears the miss history, and zeroes the score, so the next attempt behaves like a fresh first session.
Two practical consequences for beginners stand out. A 4:6:9 against a 2:3:5 target and a 4:6:10 against the same target are different normalized ratios — submit each of them above 6.00 and the run closes even though both came from the same brief. The Boss control covers the interface after a double Escape. While the Boss screen is open, slider updates, Shake, and Restart are explicitly blocked, so you will not accidentally shift state during a break.
Chasing the Exact 1,000-Point Finish
The maximum score is fixed at 1,000, and it is reachable only by passing all five rounds with a 0.00 percentage-point deviation. Each perfect round contributes exactly 200, and 5 × 200 = 1,000. There is no bonus for streaks, no carryover from previous accepted scores, and no late-game multiplier — the formula is the same on round one and round five.
That structure has a clean beginner implication. If you want the perfect finish, your only job on every round is to push total deviation to 0.00. Because scalar equivalents of the target share the same deviation, you do not need to hit the exact integers shown in the brief — you need to hit any scalar multiple that fits inside 0–10 and stays as integers.
For most beginners, the practical path is to scale the smallest target ratio that fits 0–10 on round one and verify 0.00 in the deviation display before pressing Shake. Treat rounds two through five the same way. Each round's target is visible on its own screen, and the only data carried over is your total score and miss count. If a round ever displays anything above 0.00 before you Shake, adjust one slider at a time until the projected score reads 200 and the deviation reads 0.00. The boundary between a 147 and a 200 is the difference between three correct slider integers and a careless off-by-one, and the interface shows that boundary in real time. Once you have read the target, scaled it to fit, and verified zero deviation, the rest of the run is mostly patience.