This project is a shooter game build using phaser 3 engine. This is the final project of JavaScript module of Microverse
I started working on this project with zero experience with phaser, thanks to the following resources, I was able to build this game in 5 days:
- Getting started with phaser
- Creating a template for phaser game.
- Modern development set-up for phaser 3
- open game art.
- Build a space shooter with phaser.
Also I used this resources to understand the design process:
- The Ultimate Guide to Level Design,
- The 3 Primary Principles of Game Design,
- Beginner’s Guide to Game Mechanics
After getting familiar with Phaser 3, I started designing a simple game where you can shoot. During the brainstorm step, I answered the following question:
- What the shooter will shoot?
- How the difficulty will change from level to level?
- What is the story of the game (space shooting, battle fight ...)
I kept my answer simple and come up with this game.
if you don't want to use the live version, you can run the project on your local environment, first clone this repository:
$ git clone https://github.com/HADDADSOHAIB/shooter.git
Then switch to the branch you want to check:
$ git checkout branch
after that you need to run the bundler
$ npm install
run $ npm run build
to build the project in production mode and $ npm run dev
if you want development mode.
For running the test:
$ npm run test
-
Use the arrows keys ⬆️ , ⬇️ , ➡️ , ⬅️ to move the player, and use the space bar to shoot. 👾
-
The green bars are barriers so you can't kill the enemy behind them (that increases the difficulty of the game) and also you can protect yourself if the game gets so hard.
- After loading all the assets, you have a menu where you can choose 3 options: Play, option, and credits choose Play to start the game.
- Before starting the game you have to provide your name, the default value is "player" if you don't provide a name.
- I entered my name using the keyboard.
- My character is the one in the bottom of the screen, the enemies are the yellow characters in the top. The game is about killing the enemies before they kill me, you can shoot them with the space bar, move your character to get aligned with the enemy but be careful, the enemy shoots back.
- Keep playing and you are out of lives and try to get the highest score possible. From level to level the speed of the enemies increase.
- HTML.
- JavaScript.
- Webpack.
- phaser 3
- Babel.
- Jest.
- Axios.
👤 HADDAD SOHAIB
- Github: @HADDADSOHAIB
- Twitter: @HaddadSohaib
- Linkedin: linkedin
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!