ArinzeGit / Bouncing-Battle-Game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bouncing Battle

Context and Description

This is a Web Based PC Multiplayer Game. Two players control their paddles using keyboard to hit the ball and gain points when opponent misses. For added unpredictability, spinning asteroids fall and deflect the ball. Ball is weightless like ping pong in outer space. You can view a brief Demo here showcasing gameplay. Bouncing Battle features dynamic visuals, immersive sound effects, and complex ball deflection logic. I did this project to practice Vanilla JavaScript, build something robust with no frameworks or dependencies to convince myself that I was ready to learn React Framework. The features are:

  • Two-Player mode
  • Customizable Player paddles
  • Power ups to increase paddle size
  • Falling Obstacles for randomness
  • Sound effects for different kinds of impacts
  • Energetic Background music to match fast pace gameplay
  • Colorful and easy to navigate User Interface
  • Pause feature
  • Mute feature
  • Restart/replay feature

How to run

  • Ensure you have a modern web browser installed
  • Open the index.html file in your web browser
  • The project should now be visible in your browser
  • You can also visit the live site URL here

Technologies used

  • HTML
  • CSS
  • JavaScript

Challenges faced during development

  • Retaining a player's power up during game pause was a problem because the setTimeout function used to allocate 10seconds of power up does not have a native pausing syntax or capability.
    • I had to brainstorm and write a pauseSetTimeout function.
  • Determining the direction of deflection of the ball on collision with spinning asteroid was a challenge
    • I had to write functions that detect collision and deflect ball from spinning asteroid in a natural manner.

Third-Party Assets Attribution

Licensing Information

This game is licensed under the GNU General Public License version 3.0 (GPL 3.0). You are free to use, modify, and distribute this game under the terms of the GPL 3.0 license.

Contact

Developer Name: Arinzechukwu Dennings Owoh (Arinze)
Email, GitHub, LinkedIn, Instagram, Twitter

About

License:GNU General Public License v3.0


Languages

Language:JavaScript 78.2%Language:HTML 14.7%Language:CSS 7.1%