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

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. 2018年7月発売の新作ゲームは何を買う?―注目タイトルまとめ!

    2018年7月発売の新作ゲームは何を買う?―注目タイトルまとめ!

  2. ブロックチェーン技術を活用した『My Crypto Heroes』が開発中-獲得したアセットはユーザー自身が所有権を持つ

    ブロックチェーン技術を活用した『My Crypto Heroes』が開発中-獲得したアセットはユーザー自身が所有権を持つ

  3. ゲームボーイ版『マインクラフト』はこんな感じ?―レトロ愛が伝わるファンメイド映像が公開

    ゲームボーイ版『マインクラフト』はこんな感じ?―レトロ愛が伝わるファンメイド映像が公開

  4. 今週発売の新作ゲーム『Jurassic World Evolution』『グランクレスト戦記』『GOD WARS 日本神話大戦』『スーパーボンバーマンR』他

  5. 国内ゲーム人口は4,336万人、家庭用ゲーム機所有者数も明らかに ― 2016CESA一般生活者調査報告書

  6. 「創点 弟子入りプロジェクト」で次世代を育てたいーディライトワークス塩川洋介氏インタビュー

  7. 【特集】『東方Project』商業・海外展開の裏側、その背景には時代の変化が

  8. 「ゲーム開発者の選択肢を広げる企業に」CRI・ミドルウェア押見正雄社長に聞く同社の過去・現在・未来

  9. 【GDC 2013】『シムシティ』のエンジニアが語る「サンドボックスゲーム」の作り方

  10. 海外の日本コンテンツ市場は、アニメ・マンガ・ゲーム中心の展開に ― 「メディアとコンテンツの産業・市場」レポート

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