Summary of Dodgeball Mania
Dodgeball Mania is a dodgeball multiplayer game where there are two teams, one on either side of the court, with the goal being to eliminate the other team by throwing the balls, that are initially located in the centre of the court, at the opposition players.
To make a standard dodgeball a little bit more interesting, powerups are located on the ground which allow the players to sprint or dodge to the left or the right. As the game goes on, the left and right walls will start to move towards each other to give the players less room and making it harder to avoid being hit.
Purpose of the Assignment
This is the Final Year project which my dissertation was written about. Due to there being no restrictions on what the game has to be, this was a chance to choose a particular aspect of programming to focus on and improve
My contribution to the project
As this was a solo project, everything that was required for the project, such as finding the assets and the documentation, had to be done all by myself, however, as I feel most confident in the programming side, that was the main focus for the whole project. All the assets were either obtained through the Unreal marketplace, which is where the gym asset came from, and Mixamo.com, which is where the character models came from.
Implemented Mechanics
Multiplayer Spawning
Before a match can start, players need to join a game and when they do, they will spawn on the balcony that is above the area where the match is. Once the host of the game presses the enter button, all the players are assigned a team, either red or blue, and then teleported down below to where the match takes place.
Picking up balls
As dodgeball can be a fast-paced game, players don't want to be focusing on trying to pick up a ball by looking away from danger and trying to press a button to pick up a ball, therefore, to make it easy to pick up a ball, players just have to run into a ball that has either hit a wall or the floor. If a player is already holding a ball, they will just knock the ball away. This allows for the players to keep looking at the opposing team and focus on the game.
Throwing balls and Hit detection
While players are holding a ball, they can very simply throw the ball they are holding by looking in the direction that they want to throw it and press the left mouse button. This will cause the ball that the player is holding to be thrown in the same direction that the player is facing with a certain speed.
If the ball directly hits a player after the ball is thrown by any player, that player is then eliminated from the match and teleported back to the balcony where they can watch the rest of the game.
Dodging to the left and right
At any time, players can press the dodge button, which is left alt, while moving to either the left or right to be able to be able to have a small burst of speed in that direction which allows for players to be able to avoid any incoming balls that the opposition has thrown.
Sprinting
Players are able to sprint during a match which allows them to run to a chosen area in a shorter amount of time, which is useful in dodgeball especially at the beginning of a match as everyone is rushing to the middle to try and grab a ball from the halfway line. Sprinting in dodgeball is also useful when trying to move away from the opposition as fast as possible to try and avoid being eliminated.
Moving Walls
As a dodgeball match enters the final stages, with a couple players remaining on each team, there are less players to aim for when trying to eliminate someone and there is a lot more space to move around in when you are trying to survive. To get over this problem, the left and right walls start to slowly move in towards the middle to try and reduce the amount of space for players to move around in, which increases the difficulty of trying to avoid being hit.
Power ups for dodging and sprinting
With there being a sprinting and dodging mechanic implemented into the game, players could potentially overuse these mechanics which could ruin the gameplay as players would be able to move around too fast and make it almost impossible to be hit. To control this issue, a stamina bar for sprinting and a counter for how many times each player can dodge is used along with powerups that are located randomly on each half of the court. Depending on which powerup is picked up, the player will either have their stamina fully replenished, or get an extra dodge.
Where to go from here
There are many new additions that could be added to the game which would improve the experience. For example, one of the first new features that I could introduce in the future would be walls, which could rise from the ground and help protect players from the opposition to add more difficulty to the game.
Other features that could be added to the game in the future include being able to change the settings for each match from the walking speed, ball throwing speed and gravity as these would allow for unique games and a more custom experience to each match.
Learning Points from project
Working on Dodgeball Mania helped me realise the difficulties that exist when developing a multiplayer game. For example, picking up and throwing a ball in a single player game would have been simpler to implement compared to a multiplayer game. This is because in the multiplayer game, every player in the game has to be able to see the same actions the other players are doing otherwise it would result in each player having different experiences.
Due to how multiplayer creates difficulties, the time taken to develop the game was more than initially anticipated which resulted in features, that were initially planned to be included in the game having to be left out.