A desktop pinball game built with Phaser 3 - A 2D WebGL renderer with a built-in game engine. In this project we have used Matter plugin witch provides the ability to use the Matter JS Physics Engine.
Visit link to play our pinball game https://yrgo-pinball.netlify.app
- Clone repository
git clone https://github.com/amandafager/pinball.git
cd path/to/project/folder/pinball
- Install dependencies
npm i
- Start server
npm run start
- Open http://localhost:8000 in your browser
View changelog
- #1 - Project setup and game configuration.
- #2 - Images for game objects and first object create class.
- #3 - Removed pull request.
- #4 - Game ball functionality.
- #5 - First draft of creating game objects with collision shape.
- #6 - New object create class with collision shape and launcher class.
- #7 - Game over and new game.
- #8 - Flippers and update on launcher.
- #9 - New images for game design.
- #10 - Update in package.json.
- #11 - Update in package.json. Testing deploy on Netlify.
- #12 - Update objects physics shapes.
- #13 - Score functionality and collision effect on bumpers.
- #14 - Addition of game objects.
- #15 - Left spring and audio on flippers.
- #16 - Tailwind and welcome/end screen.
- #17 - Updates on left spring and launcher spring.
- #18 - Audio on more objects.
- #19 - Testing text solution on brave browser.
- #20 - Updated audio, bounce and closing pin.
- #21 - Warnings, score and hit effects.
- #22 - Comments, ball modifications.
By: Aseel Mohamad & Dante Mogrim:
object.js
- Could have a more precise name or a comment that explains the content within 'object'.GameScene.js
- The ball gets stuck sometimes in the upper left corner./dist
- Parcel loads in after 30 seconds. Some alterations or maybe a switch to another bundler could ease things up.tailwind.css
- 3,6 MB in size. Site performance could be improved if you used something like NPM/Yarn to handle Tailwind instead.GameScene.js:327
- This file could probably be shortened somehow. For example the content in preload and create could be buffered within another file perhaps. More classes could be another solution.GameScene.js:156-157
- The 'score' and 'balls left' texts are a bit small on the eyes. Could be a bit bigger or maybe in CAPS? 😉launcher.js
Some clarifications could improve readability here. From the outside looking in, it can be a bit hard to grasp what certain things represent without doing detective work.- Audio could be set the other way around - so off per default and if player in fact does want sound, then they can toggle it by pressing P.
greenDot.png
is weighing in on 1,2 MB. Compressing it would be good.star.png
is also currently 1,2 MB in size. Could be reduced a bit.
"Amazing work, you two! We were very impressed with what you've accomplished together. You should be proud! 🌟 Nice touch with using JSON to render your sprites. Highly nostalgic! 😻 " / Aseel & Dante
Tested by the following people:
- Martin Hansson
- Rikard Segerkvist
- Moa Berg
- Gilda Eklöf
Tested by the following muggles (non-coders):
- Mikael Hagberg Stenfelt
- Felicia Griph
- Amanda Ternblad
- Axel Carlsson
This project is licensed under the MIT License - see the LICENSE file for details