Knowledge Base

ToppleBot Challenge (Pro League)

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.

The Contestants:

In the blue ring - your team!

In the red ring - the CoderZ Bot!

The Scene:

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.

Screen_Shot_2020-11-29_at_11.43.51-01__1_.jpg

The Objective

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

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!
Falling into the water reduces your score by 20 points.

Green balls will spawn at 10-second intervals on the bridge between the platforms.

mceclip7.png

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!

mceclip4.png mceclip2.png

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:

mceclip6.png blobid0.png

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!

mceclip8.png

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. May the code be with you, and may the best bot win!

 

Tips:

    • 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.
      mceclip6.png mceclip13.png
    • 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 
      mceclip11.pngmceclip12.png
    • 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 mceclip10.png icon at the bottom-right corner of the simulation pane and clicking the "Low Quality" icon
      mceclip9.png
    •  
Was this article helpful?
0 out of 0 found this helpful

Comments

Please sign in to leave a comment.

Powered by Zendesk