This project is part of the Microverse Curriculum projects. The game is meant to be a platform game for the final project of the Javascript curriculum, and was developed using Phaser 3.
-
The main character is a ninja that run trough a world dominated by an evil AI in the year 2320. The first stage and main scene of this game is where our hero has to collect ninja-stars and kunais(knifes) to get points. The goal is to collect as many weapons as you can to be able to fight enemies in next stages(to be design).
-
Make sure to jump at the right moment because platforms appears at different height and move at different speed.
-
The main characters and items where taken from Open Game Art.
- You can use the up arrow key to jump over the infinite platforms.
- Use the left and right arrow keys to move and redirect your jump.
- The only way to survive is to mantain yourself above the platforms.
You can use the live version or you can install it in your local machine
$ git clone https://github.com/nriqu322/ninja-game.git
$ cd ninja-game
$ npm install
$ node server.js
localhost:8080
- Role: Main character
- Item : collectible
- Role : weapon
- Item : collectible
- Role : weapon
- JavaScript
- Webpack
- Phaser 3
- Express
- Babel
- Jest
- Heroku
- Leaderboard API service
- ESlint and Stylelint as linters
You can use $ npm run {script here}
with the following commands :
- "test": "jest"
- "build": "webpack --mode production".
- "watch": "webpack --mode development --watch"
Unit tests with Jest. You can run the tests with the following code:
$ npm test
- Ability to throw collected ninja-tars and kunais
- More stages
- Add enemies to fight.
Development of a platform game as part of the Microverse curriculum to show technical and soft skills learned through the curriculum. Use of Phaser 3 to develop the game.
- Design the game, selecting a main theme for the game and characters.
- Research for assets and media content: sprite sheets and images.
- Write code for the game: Scenes, Characters.
- Add a score system
- Include a backend API to store a leader board.
- Add enemies and game sound.
- Add unit test using Jest.
- Choose a ninja as main character and city as environment. Select a infinite platform game.
- Use Open Game Art for platform image and ninja sprite sheet, then use Figma website to create the sprite sheets for ninja actions.
- Write code for different scenes: Load Scene, Instructions, Main Menu, Main Scene and GameOver Scene.
- Add ninja-star and kunai as collectible items for the score system.
- Send request to get the API key and code LeaderBoard Scene
- Couldn't be able to add sound and enemies. This is going to be in added future features.
- Use axios and jest mocks to add tests.
๐ค Luis Saavedra
- Github: @nriqu322
- Twitter: @nriqu322
- Linkedin: Luis Saavedra
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a โญ๏ธ if you like this project!