An authentic recreation of the 1983-1986 CBS game show hosted by Peter Tomarken, with Rod Roddy announcing and Whammy animations by Savage Steve Holland.
- Authentic 18-square Big Board with cycling prizes and chase lights
- 3-player format with question rounds and board rounds
- 66+ unique Whammy animations with classic catchphrases (regular, holiday, and elimination specials)
- Authentic Whammy character - Yellow cape, eye mask, and dollar sign emblem (researched from original show)
- Authentic musical tones (D, E, G, B♭, D, A♭, F, C...)
- Special squares: Add-A-One, Double Your Money, Pick a Corner, Big Bucks, Take the Lead
- Proper passing rules and 4-Whammy elimination with special "Whammy-out" animations
- Procedurally generated audio (no external files needed)
- CRT visual effects: Scanlines, vignette, phosphor glow, color fringing
- LED-style score displays with rolling number animations
- Tension music during board spins with authentic deceleration curve
- Rust 1.70 or later
- On Linux:
libasound2-devandlibudev-dev(ALSA and udev development libraries)
# Ubuntu/Debian
sudo apt install libasound2-dev libudev-dev
# Fedora
sudo dnf install alsa-lib-devel libudev-devel
# Arch/CachyOS
sudo pacman -S alsa-lib systemd-libscargo build
cargo runcargo build --release
./target/release/press-your-luck| Key | Action |
|---|---|
| SPACE | Start/Stop spin, Continue |
| P | Pass spins to opponent |
| B | Buzz in during questions (3 spins) |
| 1-4 | Select answer or corner |
| ENTER | Confirm selection |
| ESC | Quit game |
- 4 questions per round
- Buzz-in correct = 3 spins (only one player gets them)
- Multiple choice correct = 1 spin (all players get a chance)
- Use your spins on the Big Board
- Cash: Add to your score
- Prize: Win a physical prize (adds value to score)
- Special: Trigger special actions like Add-A-One or Double Your Money
- WHAMMY: Lose ALL your money and get a Whammy!
- You can pass earned spins (not passed spins) to opponents
- Pass to the leader
- If you're leading, pass to 2nd place
- Landing on a Whammy resets your score to $0
- Passed spins convert to earned spins when you hit a Whammy
- 4 Whammies = You're OUT!
src/
├── main.rs # Entry point, ggez EventHandler, game loop integration
├── game/
│ └── mod.rs # Game state, rules, and logic
├── audio/
│ └── mod.rs # Audio engine with file-based and procedural fallback
├── animation/ # Phase 2: Animation System (NEW)
│ ├── mod.rs # Module exports and documentation
│ ├── atlas.rs # Sprite atlas management (grid/packed layouts)
│ ├── effects.rs # Screen effects (shake, flash)
│ ├── particles.rs # Particle system (8 effect types)
│ ├── player.rs # Animation player with state machine
│ ├── types.rs # Animation frames, timing, loop modes
│ └── whammy.rs # 30 Whammy animation definitions
├── gfx/
│ └── mod.rs # Rendering (ggez Canvas/Mesh graphics)
└── ui/
└── mod.rs # User interface overlays
- Framework: ggez 0.9 (Rust game library inspired by LOVE2D, uses wgpu/rodio)
- Audio: Hybrid system - file-based OGG/WAV with procedural fallback at 44.1kHz, 16-bit
- Graphics: Vector-based rendering with Canvas/Mesh pattern
- Animation: Complete animation system with sprite atlas, particle effects, screen shake/flash
- Platform: Linux (primary), Windows, macOS
- File-based sound loading (OGG Vorbis primary, WAV fallback)
- Procedural synthesis when audio files are missing
- Per-category volume controls (master, music, effects, voice, audience)
- Whammy catchphrase mapping with 30+ voice clips
- Audience reaction system with intensity-based sounds
- Music volume ducking during voice clips
- Sprite Atlas: Grid-based and packed texture atlas support
- Animation Player: State machine with events, callbacks, and loop modes
- Particle System: 8 effect types (MoneyScatter, ExplosionSparks, StarBurst, Confetti, Dust, Fire, Smoke, Sparkle)
- Screen Effects: Shake (configurable intensity/duration) and flash (color/fade modes)
- Whammy Animations: 30 programmatic animations across 4 categories (Core, Extended, Holiday, Special)
The Whammy was designed by animator Savage Steve Holland, who sketched the original concept on a napkin. Contrary to popular belief, the Whammy is NOT a devil - it's a mischievous cartoon anti-hero featuring:
- Yellow superhero-style eye mask with pointed edges
- Yellow flowing cape that waves during animations
- Yellow chest shield with a dollar sign ($) emblem
- Small tuft of hair (not devil horns!)
- Pointy feet and expressive cartoon limbs
- Mischievous grin that changes based on the animation
This implementation includes 66+ authentic animation types including holiday specials (Thanksgiving, Christmas, Halloween, etc.) and dramatic "Whammy-out" elimination animations.
Press Your Luck aired on CBS from September 19, 1983 to September 26, 1986. The show became famous for the "Big Bucks" and "No Whammies!" catchphrases, and the Michael Larson incident where a contestant memorized the board patterns and won $110,237 in a single episode (1984).
MIT License - See LICENSE file for details.
"Big Bucks! No Whammies! STOP!"