Skip to content

dantemogrim/bug-out

Repository files navigation

🐛 Bug Out

A Breakout arcade game with a subtle twist. This time the paddle is a developer, the ball is a "hack" and the bricks are bugs in dire need of fixing. This was created using the Phaser 3 game engine. You can find the link to the game right here.

Go get 'em and good luck!

Note: This game is set up for desktop usage on any browser except Brave.

🪲 Installation

Opt. 1: Access the project live through this link.

Opt. 2: Download the project locally.

Prerequisites - Here you will need both a code editor and NPM installed.

  1. Download this repo to your computer by pressing the green Code button.
  2. Open up the folder in a code editor of your choice.
  3. In your CLI cd all the way into the project's folder.
  4. In your CLI type npm run install followed by npm run start.
  5. Your CLI should now have kick started a localhost for you, on your browser. You can access the project from there. In your browser's URL type http://localhost:1337/, then you should be good to go. Have fun!

🐌 Changelog

Click here to toggle a list of all pull requests.

🐝 Code Review

  1. Think about SRP, in scenes, i.e, you might wanna create a createControllButton, createStartButton method in PreloadScene and call those methods from within the create method.
  2. GameScene.js:167-204 The update method in GameScene has a very high amount of control statements, think about abstracting these out to separate methods to reduce code complexity and make debugging easier.
  3. Sidebars.js:13 In the Sidebars class, you have repeat set to 6 in every config object, you might wanna make a const for that and use that variable to make refactoring easier incase you wanted to change the repeats number to something else.
  4. GameScene.js: 140 Forces to ball to always go down to the right, you might wanna this makes the ball not being able to bounce up if hitting brick from upside down, might wanna adjust these values.
  5. GameScene.js:108-118 When the first if-statement is false, the second case will always be true. Therefore the second if-statement is redundant.
  6. Ball.js:21: Might not wanna have two multiline comments inside the function call.
  7. Paddle.js:19 Your paddle is more of a rectangular shape, but you have givent it a circular hitbox. Why is that?
  8. Brick.js:19-22 Might wanna wanna use more const's instead of lets when you have properties that will not change, to prevent accidental mutations from other parts of your code.
  9. SideBars.js:13-35 Triple assignment feels redundant, the last assignment to this.object should probably take preceedence over the earlier once, thus making the earlier assignments redundant.
  10. Very nice illustrations, makes the game feel very unique.

👾 Testers

Tested by the following people:

  1. Simon Lindstedt
  2. Amanda Fager
  3. Marcel Branleur
  4. Julia K. Lindstedt

Tested by the following muggles (non-coders):

  1. Miranda Samuelsson
  2. Wissam Abuajwa
  3. Ali Mohamad
  4. Axel Erlandsson

🦄 Creators

🐜 Stack

  • Engine: Phaser 3
  • Formatting: code style: prettier
  • Hosting: Netlify Status

🌐 License

MIT license

About

A Breakout game clone made with Phaser 3.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published