Skip to content

paulzay/shooter

Repository files navigation

shooter

The goal of this project was to build a space shooter game that can be played on the browser and stores your score on an online server

Play the game

Link

Built with:

Getting Started

Clone the repository

- git clone https://github.com/paulzay/shooter;
- cd shooter/

Install the dependencies

npm install

Start the server

npm start

Open up your browser and navigate to http://localhost:8080/dist/ and start the game

To run the unit tests

npm run test

How to Play

  • MOVE UP: Press [W] key
  • MOVE DOWN: Press [S] key
  • MOVE LEFT: Press [A] key
  • MOVE RIGHT: Press [D] key
  • SHOOT LASER: Press [SPACEBAR] key

About the game

The player fights against a non-lethal enemy, a shooting enemy and a boss enemy. In order to fight the boss, the player has to acquire a set amount of points by shooting the first two enemies. Once the score is reached, the player now faces the boss. The game has no win scenario, the goal is to acquire as much points as you can before running out of lives.

Screenshots

title play gameover savescore score

Game Design & Development

  • In order to get started with the game, I had to start by going through a tutorial on how to use Phaser here. This alongside the phaser documentation and examples provided the basic knowledge.

Design

  • Next up, I came up with a concept theme to work with and the storyline for the flow of the game. This includes the scene background and sprites for the character and the sound effects to be used. The storyline controlled the spawing of the enemies at different set times. Different capabilities for the player and enemies were proposed for implementation.

Assets

  • With the game design in mind, I went to opengameart to find the right assets that would bring my game to life.

Development

  • Now that everything that I needed was in my asset folder, I proceeded to plan how the game would come together with the different characters. First I set up the player character, made him move and able to fire. Next came the enemy characters and their traits as well. A few extra features were left out for future development but the core requirements were met. Having implemented their core features, I went on to add more scenes for navigating the game and then wrote some tests to ensure things were working as they should.
  • The last thing was separating the code into modules for readability and easier maintenance.

Author

👤 Paul Ogolla

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check the issues page

Future features

  • More scenes and stages
  • Power-ups
  • Different player characters to choose from

Show your support

Give a ⭐️ if you like this project!

Acknowledgments

  • All the resources used are open source and can be found on gameart

📝 License

This project is free to use as learning purposes. For any external content (e.g. logo, images, ...), please contact the proper author and check their license of use.

Releases

No releases published

Packages

No packages published

Languages