Basketball
- Jack Bird
- Nov 4, 2023
- 2 min read
Updated: Nov 21, 2023
Technologies Used :
Unity, C#
Produced by Sumdog
Link to Sumdog: https://learn.sumdog.com/
While working at Konglomerate Games
Link to Konglomerate Games: https://konglomerate.games/
What was the project about?
Sumdog briefed us on creating a fun and exciting basketball game that would also work to test students on their maths skills by including questions within the gameplay.
This project lasted for three months and some of the main features included creating a dynamic backdrop, a hoop wave system and the basketball shooting mechanic.
UI
Tweening and fonts were a big part of the UI for this project, working to give the gameplay a final layer of polish.
A custom font was implemented using TextMeshPro.
Tweens included the streak amount, which would expand, shrink, and fade out. Giving the player a rewarding visualisation of their achievements helps keep the player excited and fulfilled.
Dynamic Location and Hoop Wave System
The dynamic location and hoop wave system were created by setting up a nested list that contained the wave name and the locations in said wave. This was done to make the starting waves easier and as the player went through the game, it would have a good skill curve.
At the same time, the hoop would start to move depending on what wave you were on. This was created to have a variety of difficulties in each of the shots, ensuring a more engaging gameplay. These included the whole hoop moving left to right as well as the backboard moving up, down or in a figure of eight.
Basketball Shooting
Another big task for this game was making sure the shooting felt right. This took a lot of concentrated tweaking and adjustments, with the help of a simulating physics scene to ensure the shooting was both consistent and accurate. This was incredibly useful during the testing period as I could predict where the ball would land and adjust accordingly.
In conjunction with this, it was important to make the gameplay as realistic as possible. Using a more simple code, I was able to program the basketball's velocity, for example, if the ball's Y velocity was positive, there would be a slow increase of downforce. A similar reaction would happen if the ball's Y velocity was negative, however, over time a smaller value of downforce would be added. This gave a convincing replication of the weight of a basketball.
Particle System
On this project, I also had the chance to use the particle system. This system was used to produce an array of visually enticing effects; rainbow confetti was added to celebrate the player scoring a point, while fire was added to signal when the player entered a score streak.
I continued to utilise the particle system by creating elemental reactions to the basketball. This included dust that can come from the hoop and the environment's floor, as well as the ball disappearing.
The combination of these elements not only helped to further develop my understanding of the particle system but also reinforced the realistic environment and player engagement.