Company: Microsoft Research
Contact: Download via Xbox Live
For a wannabe game developer, the path to becoming one is both harder, and easier, than it ever was. While the technological barrier to entry is higher than ever, programmes such as Microsoft’s XNA and Xbox Live Indie Games are providing new easy routes of entry.
The thing is, says Kodu program leader and lead designer Matt MacLaurin, they all provide very different results to what kids are used to seeing on consoles.
“You can go and tell kids that they can make games, but if they’re just moving GIFs around the screen, it’s like a gaming ghetto. We wanted something where kids could make things that were as cool as, and that had the production values of, things that they’d buy.”
Initially, he says, the team looked to create a programming language that was not only easy to learn and intuitive to non-programmers, but also could be used without a keyboard. What they came up with not only ticks all of those boxes – although we’re no strangers to code, we’re knocking up little games within ten minutes of first getting our hands on the controller – but also exceeded their expectations.
“You know, when kids look to learn programming today, the tutorials around the internet are all about drawing rectangles to the screen in Java. It’s really hard to care about that.
“We started off very interested in the programming aspect of it, including inventing a new programming language, but we realised that we couldn’t really solve the programming problem if we didn’t solve the design problem at the same time. This lead to the breakthrough: presenting programming as a
The language is essentially event based: ‘lines’ of code are split into two segments, a condition and the actions to execute. Conditions are expressed in terms of sensors, such as hear, bump, ‘standing on’ and timers – each explicity linked to everyday verbs.
Because each character or item has its own routines, the language is essentially concurrent and object-orientated from the ground-up. It’s even Turing complete, and other arms of Microsoft Research have expressed desire to do work on tools and dead code detectors for the language. But that doesn’t mean it’s there to teach people about programming, MacLaurin asserts.
“You’ll notice that I’ve not used words like ‘variable’ or ‘branch. We decided very early that we weren’t trying to teach people Java or C#. The language has been driven just as much by the usability process as by any sort of language theory. We continually get unexperienced kids and people into the labs to see where they go; see the barriers they encounter and then try to remove them. Every time we add a new verb to the language, we’ll get the usability labs to get people in and make sure that it works in the way they’d expect.”
Of course, while code is a bitch, you can’t get anywhere without assets – and it’s here where Kodu is slightly less flexible, but only so that it can eventually get out of the door. It’s planned to release with around 20 different characters and objects, which may not sound like a huge amount, but the team is planning to add more as time goes on.
“You have to look at this as being like Lego: yeah, we are going to give you a fixed set of components to play with, but we intend to make more plugins available as time goes on. There’ll be more characters, more abilities, stuff like that.
“For a lot of people Kodu encapsulates why they got into the industry in the first place, and what they’re not able to do these days – pursue crazy ideas, really innovate. With XNA, even if we gave you the assets it’d take you weeks to get going.
“Kodu is different: you can sit down with someone and make a game with them in real-time. I can sit down with my daughter, and she can come up with these ideas and I can make them for her as we sit there. It’s a whole different social context for coding.”
While being able to make your own creations is a great prospect, it’s a slightly hollow one if there’s no way to let others play your masterpiece. Given that Kodu is being released on Xbox Live, though, such networking magic runs through its veins.
“Yeah, we are absolutely doing sharing,” confirms MacLaurin. “We’ve got a peer-to-peer sharing model in place at the moment, where you can invite your friends over Xbox Live to come and play your game – just like starting a multiplayer match in a normal game. I think we’re the first people to do peer-to-peer sharing on Xbox Live.
“From the very beginning, we’ve wanted to make sure that the data format behind these games is extremely compact so that they can be shared easily. With our current system, you can make terrains a mile long and they’d still fit on a floppy disk.”
If you were hoping for a slightly more comprehensive server-based solution for sharing games – maybe something that highlights the best of user creations, much like the Xbox Live Community Games Channel – MacLaurin hears you.
“We do have a small research project working on a server-based system in schools in New Zealand, Sweden, Canada and Australia. It’s a really good opportunity for us to study online sharing communities. There are some people out there that really like to create a lot of stuff.”