A browser-based version of the classic 80s hand-held memory game. Remember the sequence of lights and sounds, and see if you can achieve victory with a score of 20!
Demo app here: http://ortonomy.github.io/simon-game/
Built using HTML, SCSS, CSS, vanilla JavaScript ES6, and the WebAudio API
Current functionalities include:
- Computer generated sequences includes lights (desktop and mobile) and sounds (desktop only).
- Repeat the sequence to increase your score by 1.
- Try to achieve a score of 20 to win.
- Reacts to errors and repeats the sequence to let you try again.
- Includes 'strict' mode. If you make a mistake, the sequence starts again from 0/
- Sounds generated by WebAudio API oscillators: https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode
- analogue power button
- 7-segment display font for a little retro feel
- flat UI design for a complementary modern feel
Planned features include:
- decreasing delays for displaying the sequence at higher indexes thus ramping the difficultly level
- abstracting the timer durations to the
Game.settings
object to allow easy customisation and tweaking - implementing sounds for mobile browsers using embedded html
<audio>
tags and sounds files instead of WebAudio API - optimizing touch events to handle 300ms delay between
touchend
andclick
events.
Things that made this project possible:
- Original project idea link: https://www.freecodecamp.com/challenges/build-a-simon-game
- Font awesome icons for project information: http://fontawesome.io/