Language design (from

Kodu's programming model is simplified and can be programmed using only a gaming controller. It dispenses with the majority of "serious" programming conventions, including symbolic variables, branching, loops, number and string manipulation, subroutines, polymorphism ... and so on.

This simplicity is achieved by situating the programming task in a largely complete simulation environment. The user programs the behaviors of characters in a 3d world, and programs are expressed in a high-level, sensory paradigm consisting of a rule-based language based on conditions and actions.

The typical "hello world" of Kodu is:

see - fruit - move - towards

The grammar, as it were, of this expression is:

<condition> <action>

Where <condition> is:

<sensor> [<filter> ...]

And <action> is:

<verb> [<modifier> ...]

An illustrative variant of the above program is:

see - red - fruit - move - towards - quickly

Many different types of game can be made in kodu, such as racing, strategy, rpg, adventure, platform, puzzle, 1st person shooters, and others. Putting a game in First-person perspective is simply a matter of placing the eponymous action.