デザイナー向け解説


デザイナー向け解説

2Dゲーム用フレームワーク(以下フレームワーク)はデータ作成用ツールではなくゲームの実行環境そのものです。
ゲームの実行環境に各種ツールやビュアーが統合されたものと考えてください。
ゲーム動かしながらリソースを確認したり、試しに敵を追加してみたりといったことが可能です。

フレームワークは主に以下のオブジェクトで構成されます。
  • システム
  • ユニット
  • リソース
  • ツール

システム

システムはただ1つだけ存在するものです。
通常はデザイナーが意識することはありません。
主なシステムとしては以下のものがあります。

ジョブシステム

マルチスレッドによる並列処理により各種処理の高速化をサポートします。
マシンのハードウェアスレッド数が多いほど効果的に機能します。

描画システム

低レベル(よりハードウェアに近い)描画を提供します。
ポイント、ライン、ポリゴン(テクスチャあり、なし)を優先付きで行います。
ジョブシステムを使い処理を高速化しています。

ユニットシステム

大量のユニットを効率的に扱うためのシステムです。
ジョブシステムを使い処理を高速化しています。

リソースシステム

大量のリソースを効率的に扱うためのシステムです。
バックグラウンドでのリソースの作成(いわゆる裏読み)に対応しています(予定)。

ツールシステム

一般的なウィンドウシステムやデバッグ表示などを行います。
最終的なゲームではこのシステムは排除されるのでこのウィンドウシステムをゲームに使うことはできません。

入力システム

現在のところキーボードとマウスのみ対応しています。
最終的にはゲームパッドにも対応します。

ユニット

ゲーム内で動くもの全般です。
プレイヤーや敵、効果などさまざまなものが含まれます。
ユニットは継承関係を持つことが多いです。
継承とは元の機能を全て受け継ぎ、それに追加の機能を足して行くものです。
例えばCoordinateUnitは位置や向きというデータを持っています。
これ自体を使うことはありませんが、これを継承したユニットは全て位置や向きのデータを持つことになります。
CoordinateUnitを継承したAnimUnitはアニメーションを再生する機能を持っています。
これにアニメーションリストを設定することでアニメーションを再生することが出来ます。
通常のゲームに出てくるほとんどのユニットはAnimUnitを継承することになります。

リソース

ゲーム内で使用するデータです。
ほとんどのリソースはフレームワーク内で関連づけられたツールを使い作成します。
一部のリソース、例えばテクスチャなどは外部の一般的なツールで作成します。
リソースもユニットと同様に継承関係を持っていることがありますが、通常はデザイナーが気にする必要はありません。
リソースには中間形式とネイティブ形式があり、中間形式は一部を除きXMLで保存されます。
ネイティブ形式はバイナリデータで保存され最終的にはこちらの形式のみを使用します。

ツール

GUIの形で提供され、フレームワーク内で作成可能なリソースにはそれ用のツールが敵供されます。
リソースの作成や編集時以外にもUI上でリソースをダブルクリックすることでいつでもツールを呼び出すことが出来ます。
ユニットには汎用のツールが対応し、ユニット内で公開されているプロパティへとアクセスすることが可能です。
その他にもシステムマネージャーやユニットマネージャーといったシステムの状態を確認したり操作するためのツールも存在します。

システムマネージャー

全てのシステムの状態を確認するためのツールです。
一部の項目は編集可能となっています。
今のところ編集内容は保存されていますが、これはゲームに依存します。
通常はゲーム内で専用のコンフィグを作るのでここの内容は確認のみになるでしょう。

ショートカットキーはCOMMAND(CTRL)+OPTION(ALT)+Sです。

ユニットマネージャー

ゲーム内にある全てのユニットをグループ別などで表示します。
選択して削除することや新規ユニットを作成することが可能です。
ダブルクリックで選択中のユニットのツールを開きます。

ショートカットキーはCOMMAND(CTRL)+OPTION(ALT)+Uです。

リソースマネージャー

ゲーム内にある全てのリソースの情報を表示します。
リソースを選択しダブルクリックすることでそのリソースに関連付けられたツールを開くことが出来ます。
新規にリソースを作ったり保存されているリソースを開きツールを立ち上げることが出来ます。

ショートカットキーはCOMMAND(CTRL)+OPTION(ALT)+Rです。
最終更新:2010年07月18日 00:34