音楽ゲーム −設計編−



 まずは、どんなゲームにするのか考えをまとめます。今回作成する主な機能はゲームのプレイと新規作成の2つです。 そこでこの2つを中心に必要な機能を簡単に考えていきます。
○ゲーム新規作成
・タイミング入力 → 入力はBGM再生中の任意の時間にボタンを押す
・保存 → 保存ファイルはこのゲーム専用のものとする。クラスの属性はBGMファイルの場所、最高得点、入力タイミングのリスト(以降タイミングリスト)。
○ゲームプレイ
・新規作成したゲームのファイル(以降ゲームファイル)を読み込み → 最高得点を表示
・入力はキーボード → 使用するキーはアルファベットに限定 → ゲーム開始時に使用するキーを選択
・プレイ時はある基点に向かってアルファベットを描いたマークを流し、基点とマークが重なる瞬間にプレイヤーに入力させる (このマークが流れる場所を以降"レーン"と呼びます)
・使用するキーにゲームファイルのタイミングリストを割り振る → 各レーンにタイミングリストを1つずつ保持させる
・入力すべきタイミングに入力されなかったらタイミングリストから見逃されたタイミングを除去

ゲームプレイ画面はこのような感じにする予定です。



更に全体像をユースケース図に描いてみるとこのようになります。

この図でも分かるように、アルファベットを流す処理とタイミングの判定処理はそれぞれ独立しています。 つまりタイミング判定は、レーン上のタイミングマークと基点マークとの誤差ではなく、入力時間とタイミングリストとを比較して行います。 なのでタイミングマークはタイミングリストのn秒前に流れ出し、そのn秒後に基点と重なるように表示します。


パッケージ分割

 上で今回作るゲームの機能を書きましたが、タイミング入力や判定、BGM再生等は、このゲームに限らずにどんな音楽ゲームでも行うことです。 なので音楽ゲームの基本といえる機能はゲームエンジンとして独立させておき、 更にそれを利用するパッケージとそれを実装するGUIのコンポーネントのパッケージの3つに分解します。
 それでは最初に中核となるゲームエンジンを実装します。

ゲームエンジン編へ

メニューに戻る inserted by FC2 system