Kodable uses a dynamic hint system to encourage kids to complete each level. We store a single "recommended solution" for each level in our database. From that, we utilize a phased-release system that gradually provides more guidance as children fail to complete a specific maze. Our overall goal is to encourage trial and error by offering helpful support when needed, while not giving away the entire answer.
Note: All hints are given in reference to a single "recommended solution” which will earn 3 stars. However, many levels have multiple solutions, so don't let your learners get discouraged if the solution they try does not match our "recommended" path, but still gets all three stars. In Kodable, like in life, there's more than one path to success!
All About FuzzBuzz
FuzzBuzz is the Kodable helper fuzz, and leader of our adaptive hint system! FuzzBuzz appears in a mini tutorial when a new concept is introduced in the game to demonstrate how it works.
FuzzBuzz is also the deliverer of hints throughout all levels! If FuzzBuzz’s sign lights up blue, that means she has a hint to share (if the player needs it).
A learner can click the blue sign to reveal the hint. Sometimes FuzzBuzz shows a hint, and sometimes she just tells it, so make sure the volume is up.
How to Get a Hint:
The first way for a learner to earn a new hint is to make any change to their program’s code, like removing a command, adding a new one, or replacing a command with something else. This encourages learners to try something new before asking for more help. They may find they don’t even need the hint!
The second way to get a hint is to have a period of inactivity for 10+ seconds. This means that if a child does not make any sort of change to their code for at least 10 seconds and another hint is available, FuzzBuzz will re-appear to help. We support the child with hints in the first half of the solution, and then encourage trial and error, without giving away the entire answer.
The Types of Hints
Learners will see two different types of hints.
Hint 1: Error Checking
The first time a player asks for a hint, FuzzBuzz will fly over the code and reveal green check marks on the commands that are in the correct place, and red X’s for the ones that are not (based on a 3-star solution).
If the child sees a green check mark, they should leave that command alone - it’s already in the right spot! If there is a red X, they should try replacing that command with something else, or adding a special command tile (like a condition) on top of it.
Hint 2: Partial Answer System
The second time a player asks for a hint, FuzzBuzz will help out by changing an incorrect command to a correct one, and then “locking” it in place.
The learner will know a command is locked by the little lock icon.
This command cannot be replaced, because it is already correct and doesn’t need changing! These locked commands will alway start from the left-most incorrect answer in the command bins.
FuzzBuzz will provide the correct locked commands for half of a solution to any level. For example, if the recommended solution has two commands, and the player has both incorrect, we provide the first one. If the recommended solution has 5 commands, and the player has 1 or none correct, we provide the first three.
If a child notices that FuzzBuzz has stopped locking commands, this means they have half of the solution correct - nice work! Encourage them to keep trying to solve the second half without FuzzBuzz hints.
TEST IT Button
Learners can use the yellow TEST IT button underneath the play button to test out their program at any time and get immediate feedback.
Clicking the TEST IT button will show a “ghost” path, which is a temporary path of arrows showing where the fuzz would roll if they pressed PLAY. If the ghost path reaches the end of the maze and turns into check marks, that is the indicator that the program will work!
If the ghost path stops at some point in the maze and does not get to the end, encourage learners to look closely at their code and see if they can find the bug. Learners can change commands and click the TEST IT button as many times as needed!