I tried to hew closely to the principles of Constructionism which were pioneered by Papert, and to make the game accessible to kids who wouldn't normally be interested in programming.
I tried to hew closely to the principles of Constructionism which were pioneered by Papert, and to make the game accessible to kids who wouldn't normally be interested in programming.
My first question is how will this teach the use of variables and conditional logic? My daughter has been playing around with programming using Scratch and things like that. But she is stuck with just linear "programs", basically just creating animated stories.
There's other games that seem to have the same mechanics as yours: get the robot from A to B by entering sequential instructions. How do you differentiate? (I mean this as a positive question not a bad criticism.)
I've tried sitting down with her and doing some basics of functions, but it doesn't seem to go over well (she's 10). She _did_ love DragonBox, the algebra-instruction game. Even at 6 she was able to "solve for x" for simple equations. So I think it's possible to sneak stuff in, somehow.
Codemancer has variables and conditionals, and uses them for various things. Some of the game is very tactical, so conditionals are used to deal with enemies who have semi-random behaviour. There are also levels that take place "in the dark" (with a limited field of view).
Yes, "code your way to the target" games have become somewhat of a genre. I think the story is one source of differentiation, as is the programming interface -- Codemancer has no numbers greater than 5 (arithmetic is mod 6), to keep the game from getting math-heavy. All the functions are symbolic, so there's no reading required.
In Codemancer user-defined functions are "pages" in your spell book. Players can call other pages, and even the page they're on (this is much later in the game). You can also Cast a page onto an enemy who has been weakened. We've seen that kids are pretty comfortable with the idiom of "Pages."
Hey man! Yes, the pages are a really good idea. Among other things, it seems like a great way of sowing the seeds of structured programming.
Can't wait for the game to be released!