Wednesday, April 6, 2011

My first game with Kodu!

Today I played "Kodu". I made a game that was very fun! You would have to collect ten apples to win, and there was a fish that was worth 5 points.

First I hade to put a "Kodu" in the world, then program him/her to move around under my control, and also to eat apples. Then I added characters and objects, and programed them to eat each other, an the last one "alive" won.

Then Daddy and I played the game I made, against a computer ran character. We ended up winning, because the "cycle" kept going around in cicles until someone bumped it.

Dad's Take:
We've been tech busy in the past few weeks, but mainly playing games. I think I mentioned before that Gidget is participating in a "Girl Games" study being conducted by a friend at Gonzaga U. That's been fun, playing Nancy Drew, etc.

This is Spring break week so we decided to do some more programming. This time with MS Kodu, an icon-based programming interface. Really pretty cute. You click to add pre-made characters to the "world" then use the iconic programming to make them interact with the environment and other characters. You choose a "when" and when that state is met a "Do" is invoked. Here is a sample screen shot of the programming interface:


Using this model, Gidget was able to program a competative apple eating game. She created 3 characters, one controlled by each of us and an NPC. The objective was to see which character could eat 10 apples first. She even programmed the game to keep track of the score and announce a "Winner" when a character reached 10 apples. Here is the screen shot of an early iteration of the game:


Overall, this is a fantastic interface and she likes this programming much more than Python. Can't say that I blame her. While the feedback is nearly instantaneous in both cases, in Kodu, it is visual rather than text-based and you can create a complete game in a very short amount of time.

In terms of this being a literacy exercize, she was gaining a fundamental understanding of "if/then" statements, the core of actual programming. She's learning about interactivity by creating it. Most importantly, the tool itself is allowing her to be creative. It is not a paradigm-changing creativity, as there is no room to move beyond the pre-programmed constraints of the interface, but she is using the tools available to express herself in a fairly impressive way.

I'll post more on this as we move forward.

JM