Skip to Content

Intentionally breaking a game (so it can be intentionally fixed)

For a recent Hack Day ( www.angieslist.com/hackday/ ), our team of three fathers decided we wanted to produce something that we could do with our kids when we got home. We knew that our sons/daughters loved structures like refridgerator boxes that they could gut and create something new with. We wanted to create an app that had structure but was easy to tinker with and decorate.

The result was the ever evocatively titled game "Ninja Puppy." We published it at scratch.mit.edu/projects/21949501/ and intentionally added bugs that were revealed as "chapters" in the game. Each chapter was meant to teach a programming fundamental, and was sequentially structured to demonstrate how you can iteratively fix or debug your code. The intent was to have kids sit down with an instructor who could ask questions like "why does the puppy fly left when you press the right arrow?"

After the Hack Day, I sat down with my 10 year-old daughter to run through the lesson. She had fun, especially with the last challenge of unlocking a dog bone. To my surprise she never wanted to take the easy way out or make a quick fix - she wanted to really add her own personality to every change. The lock couldn't just be hidden... she wanted to have a cat appear, knock it away and then vanish. Awesome.

I'd like to extend this out to a match-3 game, but need to wrap my head around how to do that in Scratch.
randomness