Robo-Boxing is a 3D fighting game inspired by the old arcade classic Urban Champion. In Robo-Boxing, you go against different fighters with higher and lower stats letting players make strategic moves with the fighting and movement style. Robo-Boxing is a fighting game with a twist! You can fight clean or dirty, however if you fight dirty there are going to be consequences from a referee in the ring and fans in the crowd watching your every move. Choose your way to fight.
Robo-Boxing was a 3D-boxing game I made solely on my own.The game was made in Unity-3D using visual studio to program the game and Mixamo to gather the animations to resemble fighting and movement. The game is now enclosed as a basic version, however could be revisited at a later date. Onwards shows the development of the project



























This is the Base class which controls a lot of the logic for the game. This C# script gets passed into other classes so they can use the functions which have been declared in the base. There are also subclasses in the base which are used by the camera or referee to stop errors from appearing in the console.
Player Scripts










This is the script which allows players to move around in the game and fight the opponent.
NPC Script





















This is the script which allows the NPC fighter to know what to do in different game states, allowing for movement and combat.
Camera Movement Class
This script is applied to the camera so that it will follow a list of objects and find the centre point between them all. It also has a zoom effect when objects move closer or further away from each other.
Referee Derived Class & NPC Crowed Thrower Derived Class











Additional Bottle Derived Class
This derived class allow for different types of gameplay. The referee AI will be stunned and when sending each fighter into their corner, the referee is prevented as they have been stunned. When the referee is stunned, players can use more aggresive moves without being penalized. While the referee can be stunned so can the fighters when the bottle is thrown at them. The bottle gets thrown at the fighters when they use an illegal fighting technique.
When first thinking about how I would execute this project, I had a game I was using as inspiration which was Urban Champion the old arcade 2D street brawler game. After playing the game for a while I decided this was something I wanted to create. I wanted to re-make the game but change how it is presented. I did this by changing the environment from an illegal street fight to a boxing ring but having a dirty fighting element. I made the referee similar to the police car from Urban Champion, the one object which stopped the fight when it appeared; However, in this case the referee stops the fight when a dirty fighting technique is used by either fighter. The referee can sometimes miss the offender’s attack and instead the AI crowd member will throw an object at the offender. I wanted to use OOP (“Object Oriented Programming”) because I wanted all the objects to be linked together which I feel like I achieved with the referee linking with the AI thrower and all inheriting from the base.
However, like most projects there are some things I would have liked to have done better if time was on my side. To start I would have liked to make the environment more interesting by designing the level instead of using placeholder objects like cubes used for the ring, referee and AI crowd member. I would have also liked to spend a little more time on the animations for both the player and NPC so they could play more smoothly, whether it is in blend tress or when & where they’re called through the scripts. Lastly, I would have liked to have spent more time on the AI thrower so there could be more dynamic throws. This would have allowed fighters to punch the object at their opponent or allowed for more combat options, like head butts and blocking attacks for a more strategic approach to the gameplay.
To see the project for yourself feel free to find it on my GitHub