Welcome to the rELFolution!
The elves are up in arms over poor pay and long Christmas working hours! Using your trusty gingerbread HR team and their candycane bribes - try to stop the elves walking out on Christmas eve! YOU MUST SAVE CHRISTMAS!!!
For our Makers Engineering project 2 we have chosen to build a game using JavaScript and HTML Canvas. We considered using an engine such as Unity to assist but then decided that we would learn much more by coding it by using Vanilla JS. We looked into different types of game to create including
- .IO
- Simple multiplayer puzzle
- Side scrolling platformer
- Top down racing game
We finally decided on a top down tower defense style game which we could host on Heroku or GitHub pages.
- Game should load with the start screen with a 'Play' button
- Game board should load with no elves or weapons in play
- Elves should slowly spawn at the left of the screen and walk to the right
- Players are able to drag and drop gingerbread men weapons from the toolbar into the paths of incoming elves
- Gingerbread weapons should cost Christmas Spirit to purchase
- Gingerbread men should throw candycanes at the elves to stop them
- Players current Christmas spirit should be displayed in the toolbar
- After enough candycane impacts the elves are defeated and will leave the game
- If any elves hit the right of the screen the player loses and their score should be displayed
- Once all elves are defeated the player wins and the winning screen will be displayed
Additional features
- Multiple weapon types with different abilities
- Multiple types of elves with different abilities
- Christmas spirit is generated for each elf defeated
- Elves have a number of hit points
- Weapons have attack points
- Background music should play
- Sounds should play on elf hit and elf / weapon defeat
- Elf, weapons and bullet sprites should have a basic animation
- To run this app locally first clone this repo
https://github.com/racldn/ChristmasRelfolution
- Open
index.html
in your browser. - Tadaaa the game will run.
Run the below for testing
SpecRunner.html
Front end testing was carried out manually by the users after developing each new feature.
Christmas rElfolution is deployed using GitHub pages.
- HTML5
- CSS
- JavaScript
- Canvas
- GIMP (Image editor)
- Jasmine (unit test)
- Agile
- Trello - project management tool
- 2 day sprints
- Daily Stand-ups (10:00)
- Retros (16:00) every 2 days
- Pair programming
- A separate git branches for each new feature
- Code review before merging pull requests
Thank you to Plants Vs Zombies for the inspiration (https://www.ea.com/studios/popcap/plants-vs-zombies) Thanks to Santa for keeping it real.