Welcome to the final challenge of the CoderZ Pro League! This article will cover some of the the basic explanations for the upcoming ToppleBot Challenge which might have not appeared in the Overview Video.
In the blue ring - your team!
In the red ring - the CoderZ Bot!
Your team and your opponent's Ruby Robot stand on two pivoting platforms supported above the water. Between the two platforms is a bridge holding three balls. Ruby has with a cannon with which she can shoot bolts. The cannon is equipped with a color sensor and distance sensor. In addition, Ruby has another distance and color sensors placed on her belly, a GPS system, and a 3-axis gyro sensor.
Win the game by scoring more points than your opponent, or if your opponent falls into the water. Fire bolts from Ruby's cannon at the balls to earn points and to destabilize your opponent's platform.
The Game Rules
Green balls will spawn at 10-second intervals on the bridge between the platforms.
To fire bolts from Ruby's cannon:
- Blockly users: "fire force" block (available in the Gadgets Blockly menu)
- Python users: robot.cs.cannon.fire(20) method*
- Manual Control: press the 'B' key on your keyboard ('A', 'W', 'S', 'D' keys to aim)
*20 is just an example. You can use any value from 0 to 100
Every direct hit on a ball awards your team 10 points, and each ball that lands on your opponent's platform earns you points according to the section it landed in: 10, 20, 30 or even 100 points!
Ruby must reload the cannon after firing. You can keep track of your ammo in the readout at the bottom-left of the simulation pane. And when you run out of bolts, look for the yellow ammo packs which spawn randomly on your platform:
If you see a black ball - this is the Superball! Hitting this ball is worth 50 points, as well as earning you 5 times the number of points on target area it lands on. For example, if you shot it to your opponent's platform and it landed on the 10-point area, you will earn 50 points!
Make sure you stay stabilized on your platform; balls (or bolts!) shot by your opponent can land on your platform and cause it to tip or wobble. A ball shot from your opponent's side will turn red (just as a ball shot by your team will be blue). You can shoot bolts to intercept incoming enemy balls before they hit your platform!
Every match lasts 90 seconds, and the further along you get into each round, the more sensitive the platform becomes to Ruby's movements.
In case of a tie, the game will go into overtime. In overtime, the first robot to score will be the winner. If no robot scores, the first to fall will loose the match.
May the code be with you, and may the best bot win!
- You can switch between 4 different scene cameras by pressing the 1-4 number keys on the keyboard.
- Use Manual Control and look closely at Ruby's various readouts (GPS, Gyro, Color sensors, Cannon UI etc.) to get to know the challenge environment and build strategy before you attempt the challenge using code.
- You can use the GPS blocks/methods to get Ruby's position at any time. It can come in handy while trying not to fall off the platform
- Use the 3-axis gyro sensor to orient Ruby and towards the balls. Note that you might need to use all 3 axes because the platform tilts in all directions!
- If you have a low-performance device and are experiencing lag, you might be able to get a boost by switching to lower quality graphics. Do this by opening the icon at the bottom-right corner of the simulation pane and clicking the "Low Quality" icon