Skip to content

Luzaks/ShooterGame

Repository files navigation

🌌 Space Shooter Game Lynx-08279 - Js Capstone Project 🌌

Live Version

📑 Table of Contents

📄 About The Project

This is a space shooter game built with Phaser 3 framework for the final JavaScript Course's Capstone Project.

See specifications for more detailed information about the criteria.

The first convention is to get inspiration of an already in-built space shooter Phaser game, click here, and create our own game ideas, Lynx-08279 is the result of this process, designed with the following step of ideas.

👉 History

Lynx-08279 is the space ship that gives the name to the game, and the player is the aerospace engineer pilot. The game shows the cycle loop that traps our unnamed protagonist inside space/time distortion. Everything inside looks dangerous and, down there, you can find antimatter organisms and gravity distortions that chase you all the time, making you explode if collide. The Lynx-08279 has limited technology, only one electromagnetic field generator that protects the ship against three big energy collisions, but not against antimatter organisms, to avoid collisions with them you have to shot the 'antimatter entities', stealing then their energy power. In the game play the energy stealed is reflected in the score points, each enemy has a rank and gives you a certain number of points.

Main menu preview:
Game play preview:
Game over preview:

👉 Art

The illustrations of Lynx-08279 are an old school pixel representation of the deep and far space, and gives you the opportunity to appreciate the beauty of pixel art. The music is chosen to be emotional and quiet, with weird surprises from time to time, showing the drama, dreams and emotions of the protagonist.
The main menu music represents hope, the gameplay music shows the histrionic feelings of the journey, the game over music is the sadness, and the rest of all the sounds represents the journey's weirdness.

Art preview:

👉 Code

The code is written in ES6 JavaScript modules encapsulating the scenes of the game, each scene is linked to others by Phaser 3 events, giving coherence to the game, and the code is tested using jest env configuration. The set up environment is made up with yarn package manager, giving stability to the code, and providing the web server needed to display the game on the browser screen. The module bundling is implemented by webpack. The game is shown in a canvas doom element created by Phaser dependency. The current score and the highest score are stored in the web browser using localStorage, and the record of the best scores are given and received by an external API service, allowing the user to submit or not his/her score and username. The game shows only the top five user's names and scores.

Code preview:

👉 Commands

To move around you push you computer's keyboard, in specific the UP / DOWN / LEFT /RIGHT keys,

and for shooting you press space bar.

Getting Started

Clone the repo in your computer.

In you favorite bash run:

yarn install  //Install all dependencies
yarn run pack  //Bundle modules and assets
yarn run dev  //Run the local server

After all open on your browser : http://localhost:8080/ and enjoy playing.

Built With

📨 Contact

🙎 Guadalupe Rangel - kanemekanik@gmail.com ☄️

Acknowledgements