機能紹介
前回(U&C No.129 '20 春の号)に引き続き、スイート千鳥エンジンの機能について紹介します 。
1.サウンドの再生
サウンドは、Wave形式とOgg Vorbis形式のデータに対応しています。Wave形式データの拡張子は .wavです。非圧縮のため、高音質の場合はファイル容量が大きくなります。Ogg Vorbis 形式データの拡張子は.oggです。非可逆圧縮のためファイル容量は小さく、同じく非可逆圧縮のMP3形式より音質が良いとされます。
サウンドの再生方法は以下の2つがあります。
- 登録データの再生
登録データの再生では、ファイルから読み込んだサウンドデータをプログラムに登録して、それを再生します。ループ再生はできませんが 、ファイル読み込みは 1 度だけでよいので、 ゲーム中で 何度も 再生される効果音としての利用に適しています。
- ストリーミング再生
ストリーミング再生では、サウンドデータを再生のたびにファイルから読み込みます。ループ再生が可能なため、ゲームの BGMとしての利用に適しています。再生したサウンドは、停止、一時停止、一時停止の再開が可能です。停止する場合は、フェードアウトさせることもできます。
2.フォントの表示
スイート千鳥エンジンでは、ビットマップフォントを用いたフォント描画システムを用意しています。ビットマップフォントとは、フォントを点の集まりで表現したものです。
ゲームで使用するビットマップデータはスイート千鳥エンジンの独自フォーマットとなり、インストーラに同梱のツールを使用して作成することができます。ツールでは、ゲームで使用したいフォントを記述したテキストファイルを読み込んで、ビットマップデータを描画します。その際、様々なフォント種類、サイズから
選択することができます。フォントの色や透過度は ゲーム側で指定することができます。
|
|
図1 ツールでの表示例 |
図2 ゲームでの表示例 |
ドキュメントの紹介
インストーラには、ゲームの開発に役立つドキュメントが同梱されています。ここでは、Ver1.2.0に同梱のドキュメントについて紹介します。
- スイート千鳥エンジン ヘルプ
ヘルプファイルです。ライセンス認証の手順やゲームを配布する際の注意事項、各機能の使用方法、ツールの使用方法、ゲーム作成時の環境構築の手順、チュートリアルプロジェクトの使用方法とコードの説明、サンプルプロジェクトの使用方法が記載されています。
- スイート千鳥エンジン リファレンスマニュアル
リファレンスマニュアルです。スイート千鳥エンジンに用意されたクラスや関数の一覧が記載されています。
スイート千鳥エンジンを使用したゲームの紹介
スイート千鳥エンジンを使用して開発したゲーム「モグラで脳トレ!~瞬間記憶モグラ叩き~」を紹介します。このゲームは、モグラが穴から飛び出す順番を覚えてその順にモグラを叩く、瞬間記憶を鍛える脳トレゲームです。FORUM8ランチャーに搭載予定で、製品ユーザであればどなたでも遊ぶことができます。
ゲームの流れをゲーム画面と合わせて紹介します。
ゲームを起動すると、タイトル画面が表示されます。タイトル画面からは遊び方を確認することもできます。ゲームは「簡単」「普通」「難しい」の3つの難易度から選択することができます。
|
|
図3 タイトル画面 |
図4 遊び方画面 |
難易度を選択すると画面が切り替わりゲームが始まります。画面上には選択した難易度と現在のステージ数、画面左下には現在の獲得スコアが表示されます。まず、モグラの出てくる順番を覚える手順です。難易度により出てくるモグラの数が変化します。
|
|
図5 順番を覚えて! |
図6 順番を覚える手順 |
モグラがすべて出てくると、次は出てきた順にモグラをクリックにより叩きます。あと何匹のモグラを叩けばよいかは、画面右下に表示されます。
|
|
図7 覚えた通りに叩いて! |
図8 覚えた通りに叩く手順 |
モグラを叩くと結果が表示されます。正しい順番で叩けていれば次のステージに移動できます。5ステージ連続で正解するとゲームクリアとなり、結果画面が表示されます。叩く順番が間違っていると、そこでゲームが終了し結果画面が表示されます。
|
|
図9 成功時の表示 |
図10 失敗時の表示 |
結果画面には、今回のゲームで獲得したスコアと、これまでのハイスコア、今回のスコアのランクが表示されます。同じ難易度で続けて遊ぶか、タイトルに戻り別の難易度で遊ぶかを選択できます。
|
図11 結果画面 |
ゲームの実装内容を紹介します。
このゲームでは、タスクは、主には下図に示すものを作成しています。
|
図12 タスク構成 |
- ルートタスク
プログラム開始後に最初に呼び出されるタスクです。タイトルタスク、ゲームタスク、リザルトタスクを子タスクとして持ちます。ゲームの状態やプレイヤーの操作に応じて、タイトルタスク、ゲームタスク、リザルトタスクのいずれか一つを有効状態にします。
- タイトルタスク
タイトル画像、遊び方画像、ゲーム開始ボタンを表示、制御します。
- ゲームタスク
モグラモデル、ゲーム画面内の各パネルとフォントの表示、制御、および、ゲームの処理を制御します。
- リザルトタスク
結果画面のパネルとフォントを表示、制御します。
- パネルタスク、フォントタスク、モグラモデルタスク
タイトルタスク、ゲームタスク、リザルトタスクの子タスクとして追加しています。それぞれ、2次元画像を表示できるパネル、フォント、モグラモデルを表示、制御します。
- プロセスタスク
ゲームタスクの子タスクとして追加しています。UIやモデルの表示と処理を分割するために用意したもので、ゲームタスクが表示を、プロセスタスクが処理を担当しています。
|