Synth is the latest intersection between music and gaming. This addictive web game syncs game difficulty with your preferred playlist, and gives you an unique experience every time you load a new song. Tee up your favorite playlist for hours of addictive play and listening.
Start playing now at [http://www.synthgame.com] (http://www.synthgame.com)
- React
- Redux
- Redis
- PIXI
- RXJS
- NodeJS
- Express
Install Redis
brew install redis
then, from within the root directory:
npm install
npm start
- Multiplayer
- Collectable beatboxes (It's already mostly hooked up for movement)
- Leaderboards
- Multiple filter types (lowpass + bandpass + highpass filter, literally just setting a type)
- Magik
- Store the ideal threshold (AudioController->GetIdealThreshold) in the database. This will improve load times ~75%.
The client and the server are completely separate Implements a couple of core paradigms from http://gameprogrammingpatterns.com/ -- specifically the Observer pattern and the Command pattern. Webapp surrounding the game has a typical redux store and fetches songs from the server. The game also has a redux store in which all game entities and game controllers are stored. This is to avoid globals/singletons. Webapp listens to the Game store via the Game->addEventListener method. Feel free to ask questions.
- Start at client/index.js, App, AppStore
- navigate to the clientapp directory, familiarize with LibraryView, LibraryModel
- Familiarize with GameView, GameModel
- Navigate to the client/game directory, familiarize with Game.js, GameStore
- Entity, Player, Beatbox, Wave
- Controller, CollisionDetector, AudioController
- Architecture and Code Review: [Shea Hawkins] (https://github.com/shea-hawkins)
- Git Management and Deployment: [Jay Arella] (https://github.com/arellaTV)
- Project Management: [Jennifer Ong] (https://github.com/jbarbettini)
See our Style Guide and Contribution Guidelines for reference