A Shooter Game created in the fulfillment of Microverse mandatory Javascript capstone project.
View Demo
·
Report Bug
·
Request Feature
Guardian of the Galaxy is a shooter game inspired by the guardian of the Galaxy movie. The game is browser based, and designed on the Phaser 3 game library. The game uses a collection of amazing art designed by various game designers from OpenGameArt website( Please Refer to the acknowlegment section for more Informations). The main goal of this game is to score the highest possible score, while killing invading alien ships.
Click here for a live demo of the app.
The app had a five day deadline. What follows is a breakdown of how I was able to utilize the five days in delivering the game.
- Day-one: Deep dive on Phaser-3 documentation and supplementery tutorials.
- Day-two: Game Desing. With the help of Open Game Art webiste, I was able to reuse some of the phaser sprites and game mechanics under the free the license in exchange of acknowledging the author.
- Third-day: I was able to start curving out the game scenes based on my sprite template.
- Fourth-day: Finalizing on the major section of the game.
- Testing and documenting the game.
Despite having a 5 day deadline, the time frame wasn't enough to implement all the objectives of the game, as scheduled before. Here are some of the missing functionalities:
- Game optimization for speed
I was However, able to implement the core game functionalities.
- Player, Enemy Motions and Interactions.
- Player Score
- Leader's Board using external api( which is a well curated list of the players with the best scores)
- Game audio and cool sound effects.
- Player username Input
- Leader Board listing the first 10 player with the highest score.
- more animations.
- Player health status
KEY | ACTION |
---|---|
SPACE | Shoot Enemy Ship |
W | Move up |
A | Move Left |
S | DownWard Motion |
D | Right Motion |
The project was built using the following languages stacks:
Front-End(client)
- Phaser3
- HTML
- JavaScript/ES6
- Webpack/babel
- Font Awesome Icons
To get a local copy up and running follow these simple example steps.
-
Node
-
Basic knowledge of npm/yarn
- Clone the repo
git clone https://github.com/Cyrus-Kiprop/phaser-shooting-game
2. CD into the project root directory
```sh
cd ./phaser-shooting-game
- Install Dependencies and packages
yarn
- Build the files
yarn start
yarn build
Check your browser
The game is served at localhost:8080
http//localhost:8080
Testing Frameworks
- Jest
How to test
The game was tested using Jest framework. The test were necessary to ensure a robust system is achieved. The api utilized by the game to get and store player score, and the game logic (player/ animation ) were some of the core targets while testing.
yarn test
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewAwesomeFeature
) - Commit your Changes (
git commit -m 'Add some NewAmazingFeature'
) - Push to the Branch (
git push origin feature/NewAmazingFeature
) - Open a Pull Request
Cyrus Kiprop - cyruskiprop254@gmail.com
Project Link: https://github.com/Cyrus-Kiprop/phaser-shooting-game
👤 Cyrus Kiprop
- Github: Cyrus-Kiprop
- Twitter: @kipropJS
- Linkedin: Cyrus Kiprop
Distributed under the MIT License. See LICENSE for more information.