Kodu
   HOME

TheInfoList



OR:

Kodu Game Lab, originally named ''Boku'', is a
programming Program (American English; also Commonwealth English in terms of computer programming and related activities) or programme (Commonwealth English in all other meanings), programmer, or programming may refer to: Business and management * Program m ...
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) by
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's FUSE Labs. It runs on
Xbox 360 The Xbox 360 is a home video game console developed by Microsoft. As the successor to the Xbox (console), original Xbox, it is the second console in the Xbox#Consoles, Xbox series. It was officially unveiled on MTV on May 12, 2005, with detail ...
and
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. It was released on the Xbox Live Marketplace on June 30, 2009. A Windows version is available to the general public for download from Microsoft's FUSE web portal. As of 2023, it still receives occasional updates.


Overview

Kodu is a
visual programming In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating prog ...
tool which is used to teach basic coding principles with the use of blocks and pictures. Its design allows it to be accessible to anyone. Most of the creation takes place within the 3D environment, where programming is done through characters (sometimes referred to as "bots"). Kodu is different from other game development or programming apps in several key ways: * It avoids typing code by having users program through blocks representing conditions and responses. * Rather than a bitmapped or 2D display, programs are executed in a 3D simulation environment. * Users are limited to visual options and settings provided by the program. Kodu Game Lab has been used as an educational learning tool in selected schools and learning centers. Games created in Kodu can be given a title, description, and any combination of built-in tags, as well as be shared online in the "Community" tab.


Language design

Kodu's programming model is simplified and can be navigated using a gaming controller or a combination of the keyboard and mouse. It does not use most "serious" programming conventions, including symbolic variables, branching, loops, number and string manipulation, subroutines, polymorphism, and so on. Kodu uses a logic-based system, making it simple to understand for beginners. The simplicity is achieved by situating the programming task in a largely complete simulation environment. The user programs the behaviors of characters in the 3D world, and programs are expressed in a high-level, sensory paradigm consisting of a
rule-based system In computer science, a rule-based system is a computer system in which domain-specific knowledge is represented in the form of rules and general-purpose reasoning is used to solve problems in the domain. Two different kinds of rule-based systems ...
or language, based on conditions and actions similarly to
AgentSheets AgentSheets is a Block-based programming language, block-based programming language designed for children. AgentSheets uses Drag and drop, drag-and-drop mechanisms with commands such as conditions and actions as editable blocks that could be comp ...
. The typical "hello world" of Kodu is:
WHEN see apple DO move toward
The grammar, as it were, of this expression is:
Where is:
filter(s)> ...''
And is:
modifier(s)> ...''
An illustrative variant of the above program, with filters and modifiers applied, is:
WHEN see apple blue close-by DO move toward quickly
In the above example, the character with this line of code would move quickly toward the closest nearby apple, provided it is colored blue. Code blocks in Kodu can be indented, allowing for more than one condition per action.


Input

Kodu allows for user input by setting particular WHEN tiles. Keyboard, mouse, and controller input are accepted. This is primarily used to create controllable characters, but can be applied to any DO function. When programming controller input, player slot can be specified. This (on the Xbox version) can be used to create multiplayer games.


Characters

Kodu provides users with a large variety of characters called "bots" which can be placed anywhere in the 3D world. Generally, a bot will have unique attributes and physics properties that cannot be changed. "Object" bots, such as rocks and apples, cannot be programmed to move. Certain characters have unique, character-specific abilities (for example, only the Rover can use various science-themed actions. It also lacks the ability to jump or shoot). Bots can be colored one of 11 colors, and have their size and various properties changed. They are the only part of the game that can be programmed using the tile system, and are the primary way of creating games in Kodu. Because player input is optional, Kodu can create zero-player games where bots only interact with each other and the world.


See also

*
Educational programming language An educational programming language (EPL) is a programming language used primarily as a learning tool, and a starting point before transitioning to more complex programming languages. Types of educational programming languages Assembly languages ...
*
Visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...


References


The Age (Australia): "Get With the Program"
* ttps://web.archive.org/web/20080325000958/http://blog.wired.com/monkeybites/2007/03/techfest_demo_b.html Wired: TechFest Demo: Kodubr>Seed Magazine on KoduEdge Magazine: Do You Kodu?


External links


Kodu - Microsoft Research
{{Authority control Educational programming languages Software for children Microsoft Research Pedagogic integrated development environments Video game development software 2009 software