Kodu Game Lab(当初はBokuという名前だった)は、MicrosoftのFUSE Labsが開発したプログラミング統合開発環境(IDE)です。Xbox 360とMicrosoft Windowsで動作します。2009年6月30日にXbox Live Marketplaceでリリースされました。[ 3 ] Windows版は、MicrosoftのFUSEウェブポータルから一般向けにダウンロードできます。[ 4 ] 2023年現在も、時折アップデートが行われています。[ 5 ]
Koduは、ブロックと画像を用いて基本的なコーディング原理を教えるビジュアルプログラミングツールです。誰でも簡単に使えるように設計されています。作成作業のほとんどは3D環境で行われ、プログラミングはキャラクター(「ボット」と呼ばれることもあります)を通して行われます。
Koduは、他のゲーム開発アプリやプログラミングアプリとはいくつかの重要な点で異なっています。
Kodu Game Labは、一部の学校や学習センターで教育ツールとして活用されています。Koduで作成したゲームには、タイトル、説明、組み込みタグを自由に組み合わせて付けることができ、「コミュニティ」タブからオンラインで共有することも可能です。
Koduのプログラミングモデルは簡略化されており、ゲームコントローラーやキーボードとマウスの組み合わせで操作できます。記号変数、分岐、ループ、数値や文字列の操作、サブルーチン、ポリモーフィズムなど、いわゆる「本格的な」プログラミングの慣習はほとんど使用していません。Koduは論理ベースのシステムを採用しているため、初心者でも簡単に理解できます。
プログラミング作業をほぼ完成されたシミュレーション環境に配置することで、シンプルさを実現しています。ユーザーは3D世界におけるキャラクターの挙動をプログラミングし、そのプログラムは、AgentSheetsと同様に、条件とアクションに基づいたルールベースのシステムまたは言語からなる、高レベルの感覚パラダイムで表現されます。
Koduの典型的な「ハローワールド」は次のとおりです。
リンゴを見たら、そちらへ移動してください
この表現の文法は、いわば次のとおりです。
<条件> <アクション>
ここで、<条件>は:
<センサー> [<フィルター> ...]
そして<action>は:
<動詞> [<修飾語> ...]
上記のプログラムにフィルターと修飾子を適用した、例示的なバリエーションを以下に示します。
近くにアップルブルーが見えたら、すぐに近づいてください
上記の例では、このコード行を持つキャラクターは、近くにあるリンゴが青色で、かつキャラクターの近くにある場合に、リンゴに向かって素早く移動します。Koduのコードブロックはインデントできるため、1つのアクションに対して複数の条件を設定できます。
Koduでは、特定のWHENタイルを設定することでユーザー入力を受け付けることができます。キーボード、マウス、コントローラーからの入力に対応しています。これは主に操作可能なキャラクターを作成するために使用されますが、あらゆるDO関数に適用できます。
コントローラーの入力をプログラミングする際、プレイヤーのスロットを指定できます。これは(Xbox版では)マルチプレイヤーゲームを作成するために使用できます。
Koduでは、3Dワールドのどこにでも配置できる「ボット」と呼ばれる多種多様なキャラクターがユーザーに提供されます。一般的に、ボットは変更できない固有の属性と物理特性を持っています。岩やリンゴなどの「オブジェクト」ボットは、移動するようにプログラムすることはできません。特定のキャラクターは、キャラクター固有のユニークな能力を持っています(たとえば、ローバーだけがさまざまな科学的なアクションを実行できます。また、ジャンプや射撃はできません)。
ボットは11色の中から好きな色に塗ることができ、サイズや様々な特性を変更することも可能です。ボットはタイルシステムを使ってプログラミングできる唯一の要素であり、Koduでゲームを作成する主要な手段となっています。
プレイヤーの入力は任意であるため、Koduはボット同士やゲーム世界とのみインタラクションを行う、プレイヤーのいないゲームを作成するために使用できます。