This game involves two fighting robots named R.0.B. and T.0.R.0.K. They use one motor on each arm to fight each other. The right is used to punch, and the left to block. There is a button on the left arm that the other robot’s punching hand can press if the button is aimed towards them. When pressed, the robot that’s button has been pressed loses a point. When the button is pointed away, the other robot is unable to hit it, therefore denying a point loss. When one robot’s button has been hit five times, the loser robot says “Game Over” and the scores are reset.
To use the left arm, the player must press or hold a button encased in Lego. The encasing represents the protection that a shield offers. pressing the button makes it spin towards the base of the robot, and stay there for a second, before returning to it’s original position. While this is happening the robot’s light turns red for a second, the right arm is disabled, and a one second cooldown timer is set for the button, so that the other player doesn’t just spam the button and win immediately.
The punching arm is used by pressing or holding a button encased in Lego. It is less hidden than the button, with better structure to represent the strength of an offensive attack. When the button is held, the arm jolts forward repeatedly to hit the other player, until the button is let go. Pressing the button makes the arm jolt just once.
The robots move left to right every 0.5 seconds. They were going to have the ability to move anywhere the player likes, but the cables were too short for a player to be sitting and playing. The robots now move back and forth on a track. To hit the other robot’s button, you must get the timing right.
The EV3 Brick is easily detachable by removing the red pins underneath it.
My original plan was for the robots to have working legs, and for the player to operate them by pressing buttons one at a time, one for each leg. The final product ended up with wheels that the player can’t control. Bit of a downgrade.
I was going to have a proximity sensor on the base of the robot to detect hits from the other player, but I realised that it would also detect it’s own arms, and wouldn’t know when the button is turned away. Instead, I have a button on the left arm that the other player can hit.
The punching arm was originally a knife, but it wouldn’t hit the other player’s button hard enough for it to detect that it’s being hit, so I changed it to a cuboid. It has more mass, so it hits harder.
I learned many different skills on building practical Lego EV3 robots. One technique I used was cross-bracing. This diagram shows what cross-bracing is.
If I had more time to do this project, I would make the arms lighter, put more weight on the back, add more attacks, and add little things that make it look better.
If I were to start this project over, I would start with the key design elements that worked, then fix the ones that didn’t work as well. I would keep the motor arms, and the stability of the structure, but I’d replace the wheels with legs, and design a head of some kind, maybe to headbutt the other player.
This project was inspired by the Rockem Sockem Robots.