人生にゲームをプラスするメディア

UDKを使ってみよう!【基礎編】 ・・・「Unreal Japan News」第42回

前回に引き続きUDKの使い方を実践的に説明していきます。

ゲームビジネス 開発
前回に引き続きUDKの使い方を実践的に説明していきます。

今回は実際の制作に入りたいところなのですが…アンリアル・エンジンで使われている言語とプロジェクト構成について説明しておいたほうが理解が早まると思われるので、まずはその説明をさせていただきつつ、ゲーム制作のさわりをできればと思います。

■UDKで使われているコンピューター言語

UDKの場合Kismetというグラフィカルにゲームのロジックを組む機能が備わっていますが、プログラミング言語としては、アンリアル・スクリプトというクラスベースのオブジェクト指向言語が備わっています。

このオブジェクト指向言語については真面目に説明すると凄く長くなってしまうので、詳しくはウィキペディアをご覧ください。
・ウィキペディア:オブジェクト指向プログラミング
・ウィキペディア:クラス

今回のキーワードは「クラス」と「継承」です。

オブジェクト指向言語の中に、クラスと継承という概念があり、あるデータ構造と機能をまとめ持ったものをクラスといい、似通ったデータ構造や機能を作成する場合はそのクラスを継承して似通ったクラスを作成していく、というものなのですが、UDKのプロジェクト・ディレクトリの分割単位もある種の機能群でまとめられていて、さらに別のプロジェクト・ディレクトリでそれらを継承・利用する機能群をまとめていくという構成になっています。

そして、UDKのプロジェクトはUnreal Tournamentというゲームが元になっていまして、実行ファイルこそUDK.exeという名前になっていますが、ゲーム本編を司どるプロジェクト・ディレクトリ名はUTGameとなっていて頭についているUTというのがその名残りとなっています。

■プロジェクト・ディレクトリの大まかな関係

UDKをインストールしたディレクトリを覗いてみると、以下のようになっているかと思います。



この中でも重要なディレクトリはDevelopment\Srcの中の以下の5つです。
・Coreで、純粋なオブジェクトやアルゴリズムクラス群を定義しています
・Engineで、Coreのクラス群を継承・利用し、ゲームエンジンの基本クラス群を定義しています
・GameFrameworkで、Engineのクラス群を継承・利用しゲームのためのフレームワーク(骨格)をなすクラス群を定義しています
・UDKBaseで、GameFrameworkのクラス群を継承・利用し、UDKのための基本的なクラス群を定義しています
・UTGameでUDKBaseを継承・利用した実際のゲームを定義しています

UTGame→UDKBase→GameFramework→Engine→Core

という相関関係になります。

■クラスの関係

上記のプロジェクト・ディレクトリの中にさらに沢山のクラス群があるのですが、中でもUDK上にゲームを組み上げるために肝になるクラスは次のファイル群で構成されています。これらを継承していくことでゲームを制作できます。

・Development\Src\Core\Classes\Object.uc
・Development\Src\Engine\Classes\GameInfo.uc
・Development\Src\Engine\Classes\Actor.uc
・Development\Src\Engine\Classes\Camera.uc
・Development\Src\Engine\Classes\Pawn.uc
・Development\Src\Engine\Classes\Controller.uc
・Development\Src\Engine\Classes\PlayerController.uc
・Development\Src\Engine\Classes\PlayerInput.uc
・Development\Src\Engine\Classes\AIController.uc

継承関係は以下のようになっています。

・Objectクラスがベースにあり
・Objectを継承して、位置情報を持ったActorや、Input、GameInfo等を作成
・Actorを継承して、ゲーム中のオブジェであるPawnやContorllerやCamera
・Controllerを継承して、PlayerControllerやAIControllerを作成されています

さらに技術的な事を詳しく知りたい方は以下のページも覗いてみてください。

・「テクニカル&プログラミングホーム」
http://udn.epicgames.com/Three/TechnicalHomeJP.html
・「UnrealScript」
http://udn.epicgames.com/Three/UnrealScriptHomeJP.html

■アンリアル・スクリプトのコードを書いてみよう

それではここから、アンリアル・スクリプトを使って、サードパーソン視点の独自のゲームを構築してみたいと思います。今回冒頭で述べさせて頂きましたように、アンリアル・スクリプトはクラスを継承して、少ない手間で似通ったクラスを構築することができますので、UDKのデフォルトのファーストパーソン視点のゲームからサードパーソン視点のゲームにするには数十行のコードを書くだけで可能です。

とはいえ、こちらのGameBusiness.jpページにつらつらとアンリアル・スクリプトを書いてしまうのもどうかと思いますので…実は、弊社のドキュメントサイトで実際にサードパーソン視点の独自のゲームを作成するための手順がドキュメント化されていますので、ここではそのドキュメントへのリンクを掲載しておきたいと思います。



・「基本:ゲーム開発のクイックスタート」
http://udn.epicgames.com/Three/BasicGameQuickStartJP.html

上記ページに記載されている手順を行うだけで、皆さんの独自のゲーム(上記ドキュメントの場合UDNGame)をサードパーソン視点でプレイができるようになります。

ぜひ、試してみてください!

■次回予告

次回はレベルデザイン(ゲームのステージの設計・構築)やさらに深い説明等、より実践的な内容に入っていきたいと思います。GameBusiness.jp 「Unreal Japan News(エピック・ゲームズ・ジャパン)」の今後にもぜひご注目ください。
《編集部》
【注目の記事】[PR]

編集部おすすめの記事

ゲームビジネス アクセスランキング

  1. 今年の特別前売券特典、オーロラチケットで「デオキシス」をゲット!

    今年の特別前売券特典、オーロラチケットで「デオキシス」をゲット!

  2. ポケモンはここで作られる!ゲームフリーク訪問記(前編)

    ポケモンはここで作られる!ゲームフリーク訪問記(前編)

  3. 言論の自由はどこまで言論の自由を許すか?・・・平林久和「ゲームの未来を語る」第21回

    言論の自由はどこまで言論の自由を許すか?・・・平林久和「ゲームの未来を語る」第21回

  4. 【CEDEC2012】みんな大好き「プリキュアダンス」の変遷 ― その技術に迫る

  5. アバターの口の動きがより滑らかに!音声認識リップシンク「CRI LipSync」が「Animaze」に標準搭載

  6. 令和に新作ファミコンカセットを自作!その知られざるテクニック&80年代カルチャーを「桃井はるこ」「なぞなぞ鈴木」らが語る【インタビュー】

  7. 【レポート】VRロボゲー『アーガイルシフト』のロマンと没入感が凄い!男の子の夢、これで叶います

アクセスランキングをもっと見る