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

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

ゲームビジネス 開発

前回に引き続き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(エピック・ゲームズ・ジャパン)」の今後にもぜひご注目ください。
《編集部》

編集部おすすめの記事

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

  1. 7月14日オープンの「VR ZONE SHINJUKU」詳細発表! 『マリオカート』や「攻殻」のアクティビティも─気になる料金は?

    7月14日オープンの「VR ZONE SHINJUKU」詳細発表! 『マリオカート』や「攻殻」のアクティビティも─気になる料金は?

  2. YouTubeを活用したプロモーションを成功させる3つの原則(後編)

    YouTubeを活用したプロモーションを成功させる3つの原則(後編)

  3. 子供たちが3Dプリンターでオリジナルキーホルダーを制作、ネクソンらが「みらいクリエイターズプロジェクト」開催

    子供たちが3Dプリンターでオリジナルキーホルダーを制作、ネクソンらが「みらいクリエイターズプロジェクト」開催

  4. 劇場版「SAO」のアスナとVRで会える! 視線追跡型VRヘッドセット「FOVE」が新たな刺激を提案

  5. 今週発売の新作ゲーム『ドラゴンクエストX オールインワンパッケージ』『ソニックマニア』『UNDERTALE』他

  6. ミストウォーカー、新作タイトルで現代アーティストの小松美羽とコラボを実施 ─ 個展には描き下ろし作品が展示中

  7. 『テトリス』や『ドンキーコング』の作曲家が逝去、ゲーム音楽業界に大きな貢献残す

  8. 【特集】マリオカートやエヴァ搭乗をVRで楽しめる「VR ZONE SHINJUKU」オープン─利用方法は? 要予約なの? まとめてご紹介

  9. 第40回東京モーターショー2007 コンパニオン写真集

  10. 日本初のゲーム専用AI会社が設立―『がんばれ森川君2号』の森川幸人氏が代表取締役

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