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.
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.
- Download this repo to your computer by pressing the green
Code
button. - Open up the folder in a code editor of your choice.
- In your CLI
cd
all the way into the project's folder. - In your CLI type
npm run install
followed bynpm run start
. - 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!
Click here to toggle a list of all pull requests.
- #1 - Testing permissions + pull request functionality.
- #2 - Testing out PixiJS.
- #3 - Updated README.md.
- #4 - Webpack boiler plate + ES6.
- #5 - Testing out Firebase.
- #6 - Getting started with Phaser.
- #7 - Delete package-lock.json.
- #8 - Updating .gitignore.
- #9 - Settings up score, level & lives.
- #10 - Updated visuals.
- #11 - Paddle movement.
- #12 - Ball velocity.
- #13 - Testing HUD texts as global variables.
- #14 - Game Over scene created.
- #15 - Game Over scene functionality in GameScene.js + config.js.
- #16 - Updated ball functionality + README.md.
- #17 - HUD texts made dynamic and functional.
- #18 - Integrated formatting + linting with Prettier & ESLint.
- #19 - Testing out pause/resume & audio/mute functionality.
- #20 - Setting up Ball as a class + updated Firebase testing.
- #21 - Updated Firebase settings + breaking down game objects into classes.
- #22 - Improved animations & faster bundler (from Webpack to Vite).
- #23 - Changelog updated + fixing brick bugs.
- #24 - Level bug + create bricks fixed.
- 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.
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.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.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.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.Ball.js:21
: Might not wanna have two multiline comments inside the function call.Paddle.js:19
Your paddle is more of a rectangular shape, but you have givent it a circular hitbox. Why is that?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.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.- Very nice illustrations, makes the game feel very unique.
Tested by the following people:
- Simon Lindstedt
- Amanda Fager
- Marcel Branleur
- Julia K. Lindstedt
Tested by the following muggles (non-coders):
- Miranda Samuelsson
- Wissam Abuajwa
- Ali Mohamad
- Axel Erlandsson