MLG Breakout
A downloadable MLG Breakout
https://mlgbreakout20240305130417.azurewebsites.net
Special Thanks to
https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript
for providing the tutorial necessary to complete this project.
This project is for ETSU's ACM Game Jam Spring 2023.
It lasted from late February to late March.
I worked on this project from March 9,2023 to March 21, 2023.
THEME: Time is Power.
It's Breakout, but MLG.
(Less) Time is Power!
How does this project fit the theme?
- At first, the hitsounds sound weak. They're little taps.
- As the ball speeds up, more hitsounds happen, and they hit HARDER!
- Faster completion means more power. Hence, (less) time is power.
This project took about 2 weeks of spare time to complete.
It was fun. But it became even MORE fun when I made it UNIQUE!
Why I chose JavaScript
- Back in High School, JavaScript was my first coding language (actually HTML, but ignore that).
- I remember making a cave helicopter game using JavaScript.
- I am currently learning (more) JavaScript in Advanced Topics in Web Development.
- I would like to inspire myself by creating this project.
What I learned completing this project:
- How to make GAMES using JAVASCRIPT!!!
- How to use <script> tags in JavaScript.
- The basic layout of an HTML page (again).
- Creating a canvas.
- How to add, get, and play mp3 files using HTML DOM's Audio method.
- https://www.w3schools.com/jsref/met_audio_play.asp
- Some other methods and classes provided by the HTML Document Object Model.
- Reinforcing my knowledge of JavaScript using document.getElementById();
- By the way, getting elements like this seems to be more OP than instructors tell students.
- Event Listeners (Mouse Input and Keyboard Input)
- AND MORE!
What I got from completing this project:
- More knowledge about JavaScript
- A cool website to show off my MLG coding skills.
- Practical use of my Physics knowledge from my Physics class.
Resources Used:
Coding Help:
Basic Structure of the Breakout Game:
https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_J...
Image() Documentation:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image
Drawing an Image onto a Canvas
https://www.w3schools.com/tags/canvas_drawimage.asp
Audio() Documentation:
https://www.w3schools.com/jsref/met_audio_play.asp
Detecting Middle Click
https://stackoverflow.com/questions/21224327/how-to-detect-middle-mouse-button-c...
Getting the Width of Text in the Canvas
https://stackoverflow.com/questions/118241/calculate-text-width-with-javascript
Displaying a Video in the Canvas
https://stackoverflow.com/questions/4429440/html5-display-video-inside-canvas
Adding a video to the canvas.
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Manipulating_video_u...
Music:
- Sniper Sound provided by Peyton gaming
- Hitmarker Sound provided by trottski16
- Background music provided by No Copyright Background Music
Video:
- Sniper Green Screen provided by MSP - XBoysX
Online Tools:
https://www.bestmp3converter.com/ - Converting the Music above (provided by YouTube) into MP3 Files.
https://mp3cut.net/ - Editing Music down to reduce audio length and size.
https://iyoutubetomp4.com/en2/ - Converting the YouTube video into an MP4 File.
https://cloudconvert.com/mp4-to-gif - Converting an MP4 File to a GIF.
https://www.bestmp3converter.com/ - Converting an MP4 to MP3.
Free Software Used:
Clip Champ - Video Editor provided by Windows 11.
(Intentional) Bugs:
The ball sometimes doesn't bounce off bricks correctly.
- PWN Mode allows the ball to ignore Newton's 3rd Law and blaze through bricks!
- A fast enough speed causes the ball to bounce left-right instead of up-down (time is power!).
- Snipe Mode happens when there are less than 1/8 of bricks remaining. (time is power!)
The paddle gets larger after some time
- this is an intentional mechanic to improve the gameplay.
The green screen when the ball hits a brick in snipe Mode
- I have tried to fix this bug, but it was not worth it.
- Every solution I tried threw a cross-origin error that I couldn't fix OR
- it left the video in a black screen.
The sniper sound is sometimes cut off.
- This is a result of cutting down the video's size.
- The video plays both the image and audio .
- the program plays the sniper audio sound as well.
- I left it like this to enhance the sniper sound.
Version History
Version 1.0
- Stable version of project.
- Contained basic breakout functionality with background, hitmarkers, hitmarker audio, and automode/pwnMode/snipeMode.
Version 1.2
- Branches off Version 1.0 to add more features.
Features
- Includes additions to SnipeMode, adding a video overlay "sniping" the brick upon collision.
- Added Wombo Combo effect. Whenever you hit more than 10 bricks with 1 paddle bounce, you get the wombo combo sound.
- Don't worry - Wombo Combo is easy to achieve.
- Added Colorblind mode to remove the background image.
- Activate it by pressing C.
Bug Fixes
- Fixed bugs with pausing the game - it didn't actually pause the game.
Code Changes
- Added comments as much as possible. This project should be understood by rookies to JavaScript.
- Rearranged functions and code to appropriate locations under comment headers.
- Updated the index.html file comment header to include the version.
| Status | Released |
| Author | Pyronian Studios |
| Tags | Arcade |
| Content | No generative AI was used |
Download
Install instructions
Go to the website: https://mlgbreakout20240305130417.azurewebsites.net and experience the glory of MLG Breakout.

Leave a comment
Log in with itch.io to leave a comment.