The goal of this project was to create an engaging competitive multiplayer experience. I was inspired by the simple and addicting formula of Nidhogg and aimed to combine that format with elements of basketball. In Super Dunk Fighters, players have to grab the basketball and get past their opponent to reach the opponent's net and score a basket (2 points). The game ends when one player scores 10 points.
The gameplay is side-scrolling 2D; players can move, jump, and dash. When a player dashes, it moves them forward or backward rapidly. It's useful for quickly approaching the opponent to attack them, or juking past the opponent, or just get across the court quickly. Dashing consumes a meter, which refills slowly. If the meter runs out, the player can't dash and their character will be worn out for a period of time. This prevents players from overusing the dash action.
If the player is holding the ball, they can shoot it in an arc and try to land it in the basket. This helps the player score points from a long range, but they have to position themselves carefully to make it in. The other player could also intercept the ball in mid-air before it reaches the basket. Alternatively, a player holding the ball can dunk the ball if they get close enough to the basket. This is a guanteed point, but it requires manuevering past the opponent and can be a challenge.
Super Dunk Fighters features combat between players as well! If the player isn't holding the ball, they can throw a short-ranged punch to stun the other player and get the ball. The defending player might wait for their opponent to approach and stop them with a punch, or they might dash at them to surprise them. If a player is holding the ball, they can't punch; instead, they can throw the ball at their opponent to stun them. The ball fires forward like a projectile, and once it hits the opposing wall, it bounces around and can be picked up again. If the ball hits the opponent, they are stunned, and the attacking player can easily grab the ball again and proceed without threat until the stun wears off. However, players can also block to prevent a hit from stunning them. If a player blocks a punch, the opponent will be open for a counter punch or to be hit with the ball. And if a player blocks when the ball is being thrown at them, the ball will fly upwards, allowing that player to easily pick up the ball! Using these combat actions is crucial to stopping an advancing player from reaching the basket or getting a defending player out of the way so you can score.
A feature that I added to cater to competition is a win tracker which keeps score across multiple games. During playtesting, people usually wanted to play multiple game,s, either because they wanted a rematch to get back for losing or because they were just having fun. It made sense to track wins and losses so people could know if they were winning more than they were losing. Another feature I included was support for multiple control types. Since this is a multiplayer game, it's preferred that each player has their own controller. The competitive nature also suggests players want to use a controller they feel comfortable with so they can perform better. I wanted to support as many control types as possible so there was a better chance players wouldn't be hampered by uncomfortable controls. I didn't quite get everything I wanted into the final product; I was only able to support keyboard and Xbox One gamepad. I had begun working on an input manager to support Switch Joycons connected via Bluetooth, as well as customizable controls, but I ran out of time for those features. At the very least, players can still play the game as long as they have a working keyboard.