Aug 31, 2010 10:45 GMT  ·  By

A new free resource from Microsoft is designed to make it as easy as possible for researchers and teachers to learn the visual programming language that the company put together specifically for creating games.

The Kodu Language and Grammar Specification white paper is now available for download from Microsoft Research.

Authored by Microsoft’s Kathryn T. Stolee, the resource is set up to deliver an insight into the Kodu language by leveraging a grammar based on the notation for context-free grammars.

The whitepaper is up for grabs from the official Kodu website as of August 27th, 2010. At the same time, Kodu continues to be available for free to both Xbox 360 and Windows PC users.

“Kodu is a high-level, visual, and interpreted language,” Stolee explained. “It is heavily inspired by robotics, and as such, each character and object in Kodu is programmed individually to interact with the world, much like intelligent agents.”

It is important to note that in the creation of Kodu, formerly codenamed Boku, Microsoft has opted to build an event driven language.

In this sense, rules created with Kodu have two parts, namely a condition and an action. In this regard, an object in a game developed with Kodu will only perform an action as long as there the necessary condition to catalyze that action is defined.

“For example, a rule could read, when see apple red, do move toward quickly, where when see apple red is the conditional, and do move toward quickly is the action,” Stolee stated.

“Each word in the rule (omitting when and do), is represented as a tile in Kodu, and thus is a member of the alphabet.”

The whitepaper provides a range of details related to the Basic Grammar of Kodu as well as the Full Grammar of the visual programming language for games.

“This language description is represented by a series of production rules, where the left-hand side (LHS) shows a variable, also known as a non-terminal, and the right-hand side (RHS) contains variables and terminals,” Stolee said.

“Each terminal is an element on the alphabet of the Kodu language and all begin with a lower-case letter. In the case of Kodu, the alphabet is composed of the entire set of tiles available during programming.”

Kodu is available for download here.