Jump to content

Kodu Game Lab

From Wikipedia, the free encyclopedia
(Redirected from Kodu)
Kodu Game Lab
Initial releaseJune 30, 2009; 15 years ago (2009-06-30)[1]
Stable release
1.6.18.0 / April 9, 2023; 2 years ago (2023-04-09)[2]
Written inC#
Operating systemWindows
TypeVisual programming
Websitekodugamelab.com

Kodu Game Lab, originally named Boku, is a programming integrated development environment (IDE) by Microsoft's FUSE Labs. It runs on Xbox 360 and Microsoft Windows. It was released on the Xbox Live Marketplace on June 30, 2009.[3] A Windows version is available to the general public for download from Microsoft's FUSE web portal.[4] As of 2023, it still receives occasional updates. [5]

Overview

[edit]

Kodu is a visual programming 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

[edit]
In this example, the character would launch a Heart when the spacebar is pressed.

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 or language, based on conditions and actions similarly to AgentSheets.

The typical "hello world" of Kodu is:

WHEN see apple DO move toward

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

<condition> <action>

Where <condition> is:

<sensor> [<filter(s)> ...]

And <action> is:

<verb> [<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

[edit]
A typical line of code for moving a character using an Xbox controller.

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

[edit]
The characters section in Kodu

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

[edit]

References

[edit]
  1. ^ App Hub - game details
  2. ^ "Commits · scoy/KoduGameLab". GitHub.com. Retrieved 2021-03-23.
  3. ^ "Xbox LIVE Marketplace". Archived from the original on 2010-10-23. Retrieved 2011-10-03.
  4. ^ What is Kodu | Projects | Fuse Labs
  5. ^ scoy (2023-04-09). "New Kodu Release 1.6.18.0". KoduGameLab. Retrieved 2025-04-17.
[edit]