diff --git a/public/assets/images/slots/gold-rush/bandit.png b/public/assets/images/slots/gold-rush/bandit.png new file mode 100644 index 0000000..4506d37 Binary files /dev/null and b/public/assets/images/slots/gold-rush/bandit.png differ diff --git a/public/assets/images/slots/gold-rush/dynamite.png b/public/assets/images/slots/gold-rush/dynamite.png new file mode 100644 index 0000000..1d667a0 Binary files /dev/null and b/public/assets/images/slots/gold-rush/dynamite.png differ diff --git a/public/assets/images/slots/gold-rush/pickaxe.png b/public/assets/images/slots/gold-rush/pickaxe.png new file mode 100644 index 0000000..e54bbe3 Binary files /dev/null and b/public/assets/images/slots/gold-rush/pickaxe.png differ diff --git a/public/assets/images/slots/gold-rush/saloon.png b/public/assets/images/slots/gold-rush/saloon.png new file mode 100644 index 0000000..0c8c158 Binary files /dev/null and b/public/assets/images/slots/gold-rush/saloon.png differ diff --git a/public/assets/images/slots/gold-rush/sheriff.png b/public/assets/images/slots/gold-rush/sheriff.png new file mode 100644 index 0000000..3775caf Binary files /dev/null and b/public/assets/images/slots/gold-rush/sheriff.png differ diff --git a/public/assets/images/slots/gold-rush/wagon.png b/public/assets/images/slots/gold-rush/wagon.png new file mode 100644 index 0000000..13628e6 Binary files /dev/null and b/public/assets/images/slots/gold-rush/wagon.png differ diff --git a/public/assets/images/slots/slots-fruit-frenzy-cabinet.png b/public/assets/images/slots/slots-fruit-frenzy-cabinet.png new file mode 100644 index 0000000..5f509c2 Binary files /dev/null and b/public/assets/images/slots/slots-fruit-frenzy-cabinet.png differ diff --git a/public/assets/images/slots/slots-fruit-frenzy-card.png b/public/assets/images/slots/slots-fruit-frenzy-card.png new file mode 100644 index 0000000..b55d93f Binary files /dev/null and b/public/assets/images/slots/slots-fruit-frenzy-card.png differ diff --git a/public/assets/images/slots/slots-gold-rush-cabinet.png b/public/assets/images/slots/slots-gold-rush-cabinet.png new file mode 100644 index 0000000..ae40cb7 Binary files /dev/null and b/public/assets/images/slots/slots-gold-rush-cabinet.png differ diff --git a/public/assets/images/slots/slots-gold-rush-card.png b/public/assets/images/slots/slots-gold-rush-card.png new file mode 100644 index 0000000..56dbcc6 Binary files /dev/null and b/public/assets/images/slots/slots-gold-rush-card.png differ diff --git a/public/assets/images/slots/slots-liberty-belle-cabinet.png b/public/assets/images/slots/slots-liberty-belle-cabinet.png new file mode 100644 index 0000000..7414aa5 Binary files /dev/null and b/public/assets/images/slots/slots-liberty-belle-cabinet.png differ diff --git a/public/assets/images/slots/slots-liberty-belle-card.png b/public/assets/images/slots/slots-liberty-belle-card.png new file mode 100644 index 0000000..fad540f Binary files /dev/null and b/public/assets/images/slots/slots-liberty-belle-card.png differ diff --git a/public/assets/images/slots/slots-lucky-sevens-cabinet.png b/public/assets/images/slots/slots-lucky-sevens-cabinet.png new file mode 100644 index 0000000..cf66674 Binary files /dev/null and b/public/assets/images/slots/slots-lucky-sevens-cabinet.png differ diff --git a/public/assets/images/slots/slots-lucky-sevens-card.png b/public/assets/images/slots/slots-lucky-sevens-card.png new file mode 100644 index 0000000..5a28432 Binary files /dev/null and b/public/assets/images/slots/slots-lucky-sevens-card.png differ diff --git a/public/assets/images/slots/slots-sugar-spin-cabinet.png b/public/assets/images/slots/slots-sugar-spin-cabinet.png new file mode 100644 index 0000000..5230950 Binary files /dev/null and b/public/assets/images/slots/slots-sugar-spin-cabinet.png differ diff --git a/public/assets/images/slots/slots-sugar-spin-card.png b/public/assets/images/slots/slots-sugar-spin-card.png new file mode 100644 index 0000000..208e5b0 Binary files /dev/null and b/public/assets/images/slots/slots-sugar-spin-card.png differ diff --git a/public/assets/images/slots/sugar-spin/bear.png b/public/assets/images/slots/sugar-spin/bear.png new file mode 100644 index 0000000..cb6d07a Binary files /dev/null and b/public/assets/images/slots/sugar-spin/bear.png differ diff --git a/public/assets/images/slots/sugar-spin/berry.png b/public/assets/images/slots/sugar-spin/berry.png new file mode 100644 index 0000000..56f5836 Binary files /dev/null and b/public/assets/images/slots/sugar-spin/berry.png differ diff --git a/public/assets/images/slots/sugar-spin/cane.png b/public/assets/images/slots/sugar-spin/cane.png new file mode 100644 index 0000000..a7c177d Binary files /dev/null and b/public/assets/images/slots/sugar-spin/cane.png differ diff --git a/public/assets/images/slots/sugar-spin/chocolate.png b/public/assets/images/slots/sugar-spin/chocolate.png new file mode 100644 index 0000000..0e665bf Binary files /dev/null and b/public/assets/images/slots/sugar-spin/chocolate.png differ diff --git a/public/assets/images/slots/sugar-spin/jelly.png b/public/assets/images/slots/sugar-spin/jelly.png new file mode 100644 index 0000000..05e7b67 Binary files /dev/null and b/public/assets/images/slots/sugar-spin/jelly.png differ diff --git a/public/assets/images/slots/sugar-spin/lollipop.png b/public/assets/images/slots/sugar-spin/lollipop.png new file mode 100644 index 0000000..3e024e7 Binary files /dev/null and b/public/assets/images/slots/sugar-spin/lollipop.png differ diff --git a/public/assets/images/slots/sugar-spin/mint.png b/public/assets/images/slots/sugar-spin/mint.png new file mode 100644 index 0000000..59b6e38 Binary files /dev/null and b/public/assets/images/slots/sugar-spin/mint.png differ diff --git a/public/assets/images/slots/sugar-spin/rainbow.png b/public/assets/images/slots/sugar-spin/rainbow.png new file mode 100644 index 0000000..109595d Binary files /dev/null and b/public/assets/images/slots/sugar-spin/rainbow.png differ diff --git a/public/assets/images/slots/sugar-spin/sugar.png b/public/assets/images/slots/sugar-spin/sugar.png new file mode 100644 index 0000000..eca7120 Binary files /dev/null and b/public/assets/images/slots/sugar-spin/sugar.png differ diff --git a/public/assets/tutorial-videos/mastermind.mp4 b/public/assets/tutorial-videos/mastermind.mp4 new file mode 100644 index 0000000..66a2e6f Binary files /dev/null and b/public/assets/tutorial-videos/mastermind.mp4 differ diff --git a/public/data/slots-artwork.json b/public/data/slots-artwork.json index 432a3a3..7ab78fd 100644 --- a/public/data/slots-artwork.json +++ b/public/data/slots-artwork.json @@ -39,12 +39,12 @@ { "id": "liberty-belle-cabinet", "key": "slots-liberty-belle-cabinet", - "path": null + "path": "/assets/images/slots/slots-liberty-belle-cabinet.png" }, { "id": "liberty-belle-card", "key": "slots-liberty-belle-card", - "path": null + "path": "/assets/images/slots/slots-liberty-belle-card.png" }, { "id": "fruit-frenzy-cherry", @@ -84,12 +84,12 @@ { "id": "fruit-frenzy-cabinet", "key": "slots-fruit-frenzy-cabinet", - "path": null + "path": "/assets/images/slots/slots-fruit-frenzy-cabinet.png" }, { "id": "fruit-frenzy-card", "key": "slots-fruit-frenzy-card", - "path": null + "path": "/assets/images/slots/slots-fruit-frenzy-card.png" }, { "id": "lucky-sevens-blank", @@ -134,12 +134,12 @@ { "id": "lucky-sevens-cabinet", "key": "slots-lucky-sevens-cabinet", - "path": null + "path": "/assets/images/slots/slots-lucky-sevens-cabinet.png" }, { "id": "lucky-sevens-card", "key": "slots-lucky-sevens-card", - "path": null + "path": "/assets/images/slots/slots-lucky-sevens-card.png" }, { "id": "pharaohs-fortune-ankh", @@ -324,7 +324,7 @@ { "id": "gold-rush-wagon", "key": "slots-gold-rush-wagon", - "path": null + "path": "/assets/images/slots/gold-rush/wagon.png" }, { "id": "gold-rush-queen", @@ -334,7 +334,7 @@ { "id": "gold-rush-pickaxe", "key": "slots-gold-rush-pickaxe", - "path": null + "path": "/assets/images/slots/gold-rush/pickaxe.png" }, { "id": "gold-rush-ace", @@ -349,87 +349,87 @@ { "id": "gold-rush-sheriff", "key": "slots-gold-rush-sheriff", - "path": null + "path": "/assets/images/slots/gold-rush/sheriff.png" }, { "id": "gold-rush-saloon", "key": "slots-gold-rush-saloon", - "path": null + "path": "/assets/images/slots/gold-rush/saloon.png" }, { "id": "gold-rush-dynamite", "key": "slots-gold-rush-dynamite", - "path": null + "path": "/assets/images/slots/gold-rush/dynamite.png" }, { "id": "gold-rush-bandit", "key": "slots-gold-rush-bandit", - "path": null + "path": "/assets/images/slots/gold-rush/bandit.png" }, { "id": "gold-rush-cabinet", "key": "slots-gold-rush-cabinet", - "path": null + "path": "/assets/images/slots/slots-gold-rush-cabinet.png" }, { "id": "gold-rush-card", "key": "slots-gold-rush-card", - "path": null + "path": "/assets/images/slots/slots-gold-rush-card.png" }, { "id": "sugar-spin-jelly", "key": "slots-sugar-spin-jelly", - "path": null + "path": "/assets/images/slots/sugar-spin/jelly.png" }, { "id": "sugar-spin-gummy", "key": "slots-sugar-spin-gummy", - "path": null + "path": "/assets/images/slots/sugar-spin/bear.png" }, { "id": "sugar-spin-candy-cane", "key": "slots-sugar-spin-candy-cane", - "path": null + "path": "/assets/images/slots/sugar-spin/cane.png" }, { "id": "sugar-spin-mint", "key": "slots-sugar-spin-mint", - "path": null + "path": "/assets/images/slots/sugar-spin/mint.png" }, { "id": "sugar-spin-berry", "key": "slots-sugar-spin-berry", - "path": null + "path": "/assets/images/slots/sugar-spin/berry.png" }, { "id": "sugar-spin-sugar", "key": "slots-sugar-spin-sugar", - "path": null + "path": "/assets/images/slots/sugar-spin/sugar.png" }, { "id": "sugar-spin-lollipop", "key": "slots-sugar-spin-lollipop", - "path": null + "path": "/assets/images/slots/sugar-spin/lollipop.png" }, { "id": "sugar-spin-chocolate", "key": "slots-sugar-spin-chocolate", - "path": null + "path": "/assets/images/slots/sugar-spin/chocolate.png" }, { "id": "sugar-spin-rainbow", "key": "slots-sugar-spin-rainbow", - "path": null + "path": "/assets/images/slots/sugar-spin/rainbow.png" }, { "id": "sugar-spin-cabinet", "key": "slots-sugar-spin-cabinet", - "path": null + "path": "/assets/images/slots/slots-sugar-spin-cabinet.png" }, { "id": "sugar-spin-card", "key": "slots-sugar-spin-card", - "path": null + "path": "/assets/images/slots/slots-sugar-spin-card.png" } ] } \ No newline at end of file diff --git a/public/src/games/mastermind/tutorial.md b/public/src/games/mastermind/tutorial.md index e166b79..6991f21 100644 --- a/public/src/games/mastermind/tutorial.md +++ b/public/src/games/mastermind/tutorial.md @@ -1,42 +1,49 @@ ## Mastermind — Decryption Duel -Two hackers, two secret codes, one race. You and the rival AI each lock in a -**secret code**. On every round you try to crack the rival's code while the rival -tries to crack yours. **First to fully crack the other's code wins.** +Yoooo bro, listen up. Two hackers, two secret codes, one absolutely *unhinged* race to crack +each other's encryption. You and this rival AI both lock in a **secret code**. Each round +you're out here trying to break their code while they're coming for yours. **First one to +fully crack the other's code? That's the W, no cap.** ### The code -A code is a row of colored pegs — by default **4 pegs drawn from 6 neon colors**, -and **colors may repeat**. You compose your secret at the start by clicking color -chips into your slots, then press **LOCK IN**. +Bro, a code is literally just a row of colored pegs — default is **4 pegs pulled from 6 neon +colors** (so cyberpunk, so valid), and **colors can totally repeat**. Compose your secret at +the start by clicking color chips into your slots, then smash that **LOCK IN** button. Don't +sleep on the repeats, they go *hard* for throwing off the AI. ### Guessing -On your turn, click chips to build a guess at the rival's code and press -**SUBMIT**. You get feedback pegs back: +On your turn, click chips to vibe-check the rival's code and hit **SUBMIT**. The system +sends back feedback pegs and lowkey they slap: | Feedback peg | Meaning | | --- | --- | -| **Green (exact)** | Right color **and** right position | -| **Yellow (partial)** | Right color, **wrong** position | -| **Dim** | That color isn't (further) in the code | +| **Green (exact)** | Right color **and** right position — bussin fr fr | +| **Yellow (partial)** | Right color, **wrong** position — close but no cap | +| **Dim** | That color ain't it, bestie | -Feedback never tells you *which* peg is right — only *how many*. Use the pattern -across rounds to narrow it down. +The feedback never tells you *which* peg is right — only *how many*. Stack your pattern +reads across rounds and big-brain your way to the answer. It's literally a whole data +analysis arc, bro. ### Winning -- Get **all green** (every peg exact) to crack the code and win immediately. -- If both sides use up all **10 rounds** without a full crack, whoever got the - most exact pegs in a single round wins; a true tie is a stalemate. +- Get **all green** (every peg exact) to crack the code and secure the bag immediately. +- If both sides burn through all **10 rounds** without a full crack, whoever locked in + the most exact pegs in a single round takes the dub. True tie? Straight up stalemate, + and honestly? Respect. ### The rival's skill (1–5) -Set in the lobby before the match. Skill controls how cleverly the rival uses its -feedback: +Set this in the lobby before the match drops. Skill controls how hard this AI goes with +its feedback reads: -- **1** — sloppy; fires mostly random guesses and wastes rounds. -- **2–3** — keeps its guesses *consistent* with the clues most of the time. -- **4** — always plays a logically valid guess. -- **5** — runs Knuth's optimal strategy and will usually crack a 4×6 code in **five - rounds or fewer**. Lock in a tricky code with repeats! +- **1** — total bot behavior; mostly yolo guesses, wastes rounds, couldn't hack its way + out of a wet paper bag. +- **2–3** — keeps its guesses *consistent* with the clues most of the time. Mid threat, + tbh. +- **4** — always plays a logically valid guess. This one's actually built different. +- **5** — runs Knuth's optimal strategy and will crack a 4×6 code in **five rounds or + fewer** basically every time. This AI is from the future, bro. Lock in a wild code + with repeats or you're cooked. Not gonna lie.