A modern web-based implementation of the classic Simon Says memory game, enhanced with adaptive difficulty, scoring system, themes, and achievements.
Simon Dice is a memory training game where players must memorize and repeat sequences of keyboard keys that get progressively longer and more challenging. It's based on the classic Simon electronic game but uses keyboard input instead of colored buttons.
- 4 Difficulty Phases:
- Aprendiendo (Levels 1-5): Easy vowels only, slow speed, audio cues
- Construyendo (Levels 6-10): Full alphabet, normal speed, audio cues
- Desafiante (Levels 11-15): Numbers + letters, faster speed, no audio
- Experto (Levels 16+): Maximum difficulty, very fast, no audio
- 5 Beautiful Themes:
- ๐ Dark: Classic black and white
- โก Neon: Cyberpunk cyan and magenta
- ๐ Ocean: Deep blue ocean vibes
- ๐ Sunset: Warm orange and yellow tones
- ๐ฒ Forest: Natural green forest theme
- AEIOU: Only vowels (easier)
- A-Z: Full alphabet (standard)
- 0-9: Only numbers (challenging)
- A-Z + 0-9: Mixed alphanumeric (expert)
- Speed-Based Scoring: Faster completion = more points
- Streak Bonuses: Consecutive correct sequences earn bonus points
- High Score Tracking: Persistent local storage for personal bests
- Achievement System: 12 unlockable achievements
- Key Sounds: Different tones for each key
- Success/Failure Sounds: Audio confirmation
- Phase-Based Audio: Enabled/disabled based on difficulty
- Smooth Animations: Professional keyframe animations
- Glow Effects: Dynamic shadows and glowing borders
- Floating Points: Animated point notifications
- Theme Integration: All elements adapt to current theme
- Open
index.htmlin your web browser - Choose your preferred theme and key set using the controls in the top-left
- Watch the sequence of keys light up
- Repeat the sequence by pressing the same keys in order
- Progress through levels as sequences get longer and faster
- Earn points for speed and accuracy
- Unlock achievements as you improve
- Keyboard: Press the keys that light up in the sequence
- Theme Selector: Click theme buttons to change appearance
- Key Customizer: Choose your preferred key set
- Score Display: View current score, streak, and achievements
- High Score Panel: See your personal bests
Base Points = (Level + 1) ร 100
Speed Bonus = max(0, 1000 - timeTaken) รท 10
Streak Bonus = currentStreak ร 50
Difficulty Multiplier = 1.0-2.0 based on phase
Final Score = (Base + Speed + Streak) ร Multiplier
- Level 5, 500ms, Streak 3: (6ร100 + 50 + 150) ร 1.0 = 800 points
- Level 15, 200ms, Streak 10: (16ร100 + 80 + 500) ร 2.0 = 4,360 points
- Primer Mil - Reach 1,000 points
- Club de los 5K - Reach 5,000 points
- Maestro de los 10K - Reach 10,000 points
- Iniciador de Racha - Streak of 5
- Maestro de Rachas - Streak of 10
- Leyenda de Rachas - Streak of 20
- Nivel Cinco - Reach level 5
- Nivel Diez - Reach level 10
- Nivel Quince - Reach level 15
- HTML5: Semantic markup and structure
- CSS3: Advanced styling with CSS variables and animations
- JavaScript ES6+: Modern JavaScript with classes and modules
- SweetAlert: Beautiful alert dialogs
- Local Storage: Persistent data storage
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
simondice/
โโโ index.html # Main game file
โโโ simon.css # Game styles and themes
โโโ sweetalert.css # Alert dialog styles
โโโ sweetalert.min.js # Alert dialog library
โโโ README.md # This file
- Start Easy: Begin with vowels only to learn the basics
- Use Audio: Listen to the key sounds in early levels
- Build Streaks: Maintain consecutive correct sequences for bonus points
- Practice Speed: Faster completion earns more points
- Choose Themes: Find a theme that's comfortable for your eyes
- Customize Keys: Select key sets that match your skill level
- Add new CSS variables in
simon.css - Create theme class with color definitions
- Add theme button in HTML
- Add achievement check in
ScoreManager.checkAchievements() - Define achievement name and description
- Set trigger conditions
- Adjust phase definitions in
DifficultyManager - Modify key sets in
getKeySetForComplexity() - Change timing in
playbackSpeedvalues
The game is designed for desktop keyboard input but can be adapted for mobile:
- Touch events can replace keyboard events
- Responsive design adapts to different screen sizes
- Theme system works across all devices
Feel free to contribute to this project by:
- Adding new themes
- Creating additional achievements
- Improving accessibility
- Adding new game modes
- Enhancing visual effects
This project is open source and available under the MIT License.
Have fun training your memory with Simon Dice! Challenge yourself to beat your high scores and unlock all achievements. The game is designed to be both entertaining and educational, helping improve your memory and reaction time.
Made with โค๏ธ for memory training enthusiasts