Saturday, 5 January 2013

Kodu Game Lab

I set a challenge for ye!!

Yo gang,

I don't suppose many of you are too aware of what I actually do for a living but it recently involved conveting our quiz resources into something more 'user friendly'; something more enjoyable.

Some new Open Source software that lets kids create their own games for PCs and XBOX. They get to design the layout, like you would in Sims using objects provided but you create whole worlds, not just houses. Then they get to programme all the characters and objects to behave and react in particular ways.

It's called Kodu Game Lab! The characters are called Kodu's, it's totally free and comes with Tutorials!

These Tutorials are to help you get your head around it all, which start very simply by adding a character, adding an apple, then telling the character to eat the apple. Those who are generally quite IT literate will pick it up just fine.

My challange to you is to create an educational game with it!!

You can start now or you can read the rest of this Blog to take a look at the coding I use and problems I ran into.

Below is the coding I used to convert my class quizzes into a game, which should help you get started.

So, firstly, what I chose to do was use questions. This meant having Kodu bump the apple and instead of eating it, he gets a question. The first thing to recognise is that we want a different question per apple, so rather than programme Kodu to bring up the text, we're going to programme the apple to give us the question.

Secondly, I wanted the questions to be randomised, which you can't do if each question is programmed in to each stationary apple. So, instead of apples, lets use fish! The fish can swim around, and then the question Kodu is asked will be dependant on the fish he bumps in to.

Easy! Now we have a question being asked, so we can get on with answering the question.

Of course at this point we should test the game.

At this point, Kodu should be able to move and the fish should automatically move around freely and ask the question when bumped by Kodu.

FYI, I used questions with 4 optional answers, laid out as follows:-

So, I play the game, I bump into the fish and...

...I can't read the question!

This calls for a change in programming. When setting your question, make sure you use the Full screen button when programming your question.

Excellent. Now when I catch the fish, I get a question! And we can add as many fish as we want!

While you are developing your game, make sure you keep testing everything. You also can't Copy & Paste text into Kodu. You have to type out your questions. At this stage don't waste time programming each fish. Just copy and paste the same fish object and play with that one. Once the game is working, then go in and type in all your different questions.

At this point, if you've copy & pasted your fish, you'll realise you start getting asked a lot of questions without Kodu having to bump into the fish. This is because the fish have been programmed the ask a question as of when they are bumped, by anything. This needs to be changed to 'Bumped By Kodu'.

You'll also notice that as you try to come out of a question, the questions keep repeating itself. This is because Kodu and the fish are quite slippery. If you right click them, you can change their individual settings. Bring down Bounce and increase Friction.

It still won't be perfect.

What you can do is have the fish ask the question once but it has to be done on the second page (no, I don't know why)

Pages are great and should be used to programme the consequences to your answers.

Once the question has been asked, the Gamer will answer it. They're answer should turn the programming to a particular page (depending on the Keyboard button they press, it will take them to a particular page). The results of a wrong answer should have a particular consequence and hitting the correct key should have a particular consequence.

Now we've got fish who ask us questions. We can start programming the answers!

In the example above the Gamer is asked to press either A, B, C or D to answer the question. However, by default Kodu Game Lab uses 'A' to mean continue. As far as I'm aware, this can't be changed. Because of this, when 'A' is pressed, the Gamer will return to the game thinking they've got the question right and the answer is always 'A'. So, we don't want to use 'A'!

In effect, this will also be easier for the user as they won't have to search the keyboard to find letters A, B, C & D.

In this example, the answer is '1', so here's the programming I used to indicate the right answer

When the Gamer presses 1 (the right answer), the programming will turn to page 3, where they'll receive the consequence for getting it right.

If the Gamer gets it wrong (presses 2, 3, or 4) it will revert to page 4, where we have the consequences for getting it wrong.

In this example a correct answer gets you one point and a wrong answer will cause the fish to explode. This won't harm Kodu but eventually he's going to run out of fish and then he won't be able to get the points he needs to be able to win.

So, we've got swimming talking fish with consequences to our educational questions. Now we can talk about winning!!

With Kodu, a win can happen after a particular event i.e. gaining a certain number of points, but what if there's 30 questions (30 points available) and they get one wrong, they can't win if the win is set to 30. So, let's set it a bit lower. Say 25. Then, after getting 25 questions right, they win!...

But what if someone is capable of getting 30 out of 30 and want to play to the end?

Instead of a straight 'Win', having a 'finishing line' that only takes effect after a certain percentage (I think) is a better option. In this example, I've included a House for Kodu. If it's bumped by Kodu during the game it will inform Kodu he doesn't have enough points to win. Once Kodu gets 25 out of 35 points (70%), then when he touches the house, he'll win. This allows people to play past the 25 pass rate. And ta da! We have a game :)

Give it a go!! I'm sure you can make Worlds more exciting than mine. If you do pull it off, export the game and e-mail it in to:-

doothcrow@gmail.com

Download Kodu at:-

http://www.microsoft.com/en-gb/download/details.aspx?id=10056