Project 3: Classic Arcade Game Clone (72 hrs) ~ [Udacity Front-End Web Developer Nanodegree Program (https://www.udacity.com/course/front-end-web-developer-nanodegree—nd001)
In order to recreate the classic arcade game Frogger, we were provided with visual assets, an image loading utility (resources.js) and a game loop engine (engine.js). I created all of the game logic and the code within app.js to add a number of entities to the game, including player characters, enemies, and gem prizes.
PLAY GAME HERE
Usage
- Clone this repository
- Navigate to your local copy of index.html through your web browser
Technologies Used
Object-Oriented JavaScript, HTML5 Canvas, HTML5 Drag & Drop
- When you drag and drop a new player onto the board, the background changes color to match the player using a CSS gradient.
Style Guide Used
Game Directions & Rules
- The goal is to get your character to the water while avoiding getting hit by the enemy bugs
- Pick the character you’d like by dragging and dropping your character onto the game board. You are given 5 lives to start (hearts). Keep track of your score at the top
- Use your keyboard arrow keys to move the player up, down, right, left
- If a bug hits you, you die, lose a life, and 20 points
- If you gain a gem by moving on top of it, you gain 20 points
- If you lose you 5 lives, you lose the entire game, lose 50 points, and your character is reset with new lives
- If you reach the water, you win, gain 40 points and 1 life
Resources
- Udacity Supporting Courses: Object-Oriented JavaScript & HTML5 Canvas
- Treehouse: Coding Your First HTML5 Game, Object Oriented JavaScript, Understanding ‘this’ in JavaScript, Interactive Web Pages with JavaScript
- Pluralsight: HTML5 Canvas Fundamentals
- Lynda.com: HTML5: Drag and Drop in Depth, Code Clinic: JavaScript - Using Drag & Drop, JavaScript: Events - Dragging & dropping, HTML5: Graphics and Animation with Canvas
- All game graphics provided from Daniel Cook under Creative Commons: LostGarden
Potential New Features
- Use video game icons from http://megaicons.net/
- Use sounds from http://www.freesound.org/ for sound effects
- Use winner images in images library: when win the screen is covered by image then resets and starts again
- Use localStorage to save the score
- Javascript Game Foundations - State Management
- How to code a HTML5 game with distinct game state
- Finite-State Machines: Theory and Implementation