feat: add slot game assets and update tutorial style
- Add new image assets for Gold Rush slot game (bandit, dynamite, pickaxe, saloon, sheriff, wagon) - Add new image assets for Sugar Spin slot game (bear, berry, cane, chocolate, jelly, lollipop, mint, rainbow) - Add cabinet and card artwork for all slot games (Liberty Belle, Fruit Frenzy,Lucky Sevens,Sugar Spin) - Update slots-artwork.json with paths for all new and existing slot assets - Modernize Mastermind tutorial language with casual/colloquial tone
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 186 KiB |
|
After Width: | Height: | Size: 207 KiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 248 KiB |
|
After Width: | Height: | Size: 201 KiB |
|
After Width: | Height: | Size: 262 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 196 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -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.
|
||||
|
|
|
|||