/LaserDuel

Primary LanguageJavaScript

LaserDuel

The Goal:

To create a basic platform game for two players in a single week.

As my first project, this was a test of my own ability as well as the first game I have ever made.


Game Instructions:

  • Two players fight it out in a 2-D platform shooter.

  • Player1 uses WASD to move and jump, and either TAB or E to shoot.

  • Player2 uses the arrow keys to move and jump. Either Backspace or SHIFT can be used to fire.

Technologies used:

  • HTML 5
  • CSS 3
  • SASS
  • JavaScript
  • jQuery
  • GitHub
  • Git

Approach Taken:


I started with a simple concept of two characters fighting in a 2-D arena.

I planned out the area and general design on paper first, and then moved on to create the HTML and CSS. This included platforms, a border for the arena and the characters.

From there, I worked on the javascript step by step. First I worked out character movement. The platforms then had to have collision, and there had to be some form of gravity so the players wouldn't float around.

The next step was creating the laser projectiles, allowing the players to shoot in either direction. Then collisions for the lasers so they could hit the players.

Once players were able to jump on platforms and shoot each other, I developed a scoring system to allow for best of 5 round-based gameplay.

Finally, finishing touches were added such as: (slightly) more detailed character models; audio for lasers and hits; messages for round and game wins; and finally responsive design functionality for monitors up to 4k resolution were created to finalise the project.

The Experience


I initially wanted to go with something basic that I could feasibly achieve in the given week we had. I thought a 2D platform shooter would both go alongside my love of indie PC games and be simple enough to complete.

Feedback on the concept from my instructors gave me a more realistic understanding of the difficulties involved. While I had been told it would be challenging to pull off, I pushed ahead with the idea.

Working out the mechanics of the game taught me valuable lessons related to time management and realistic windows required to get a feature functional. For example, a power-up ball that can be grabbed by a player to give them advantages is present in the code, but commented out due to bugs I didn't have the time to resolve.

It took the full week to finish the game, and while I thoroughly enjoyed myself, the work I put in was all-consuming. The finished product more than made up for it though. I can't wait to play this game with my friends!