その2:ステージ選択の実装について設計編

前回にステージ選択の実装に必要な仕様変更要件について見ていきました。

引き続き、今回はステージの設計について見ていきたいと思います。

以前の設計について

大雑把にゲームを進行する上での機能と処理をまとめる以下の通り。

かなり機能もりもりですね。

ゲーム進行の処理は複雑になりがちですが、これは少しできること盛り過ぎで保守性が最悪になる未来が見えますね。

これでは機能の追加以前の問題ですのでこの処理の改修について見ていきたいと思います。

設計の見直し

どのみちステージ選択のため、ランダムポップと固定ポップの使い分けができなければいけないので

それも合わせて設計していきたいと思います。

機能がもりもりでしたが、ゲームメインの方は、

  • ゲームパートの進行
  • シーンの切り替え
  • サウンド再生

等、最低限の機能だけまとめ、あとはステージデータとして設計したいと思います。

その設計が以下のようになります。

画像サイズが大幅に長くなり、手続きが複雑化しましたが。

一つ一つの機能が圧倒的にシンプルになりました。

ここで重要な点は新しいルールのステージを追加する場合、ゲームの根幹部分である

「ゲームメイン」を触ることなく「ステージベース」を継承して作ることで必要最低限の労力で実装することができます。

まだ固定ポップアップのステージは構想段階ですが、現在の段階で後のように分割しておくことで、

実装に時間をかけずに、面白さとボリュームの追加に時間を追加していくことができるようになります。

まとめ

大雑把ですが制作しているゲームについての設計について記載しました。

今回は自作ゲームのシューティングゲームですが。

設計の仕方自体は全てのゲーム、というよりプログラミング全般で役に立つことですので覚えていて損はないでしょう。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
vuniformity誰でもない人
トレンドの行く末を見守っている
仮名を名乗るエンジニア

ゲーム開発は仕事であり趣味である
プログラムだけでなく多種多様なスキルを数多く持つ

ゲーム開発は
ソーシャルゲームを開発運用の経験アリ
ゲーム以外にも経験アリ
Webサービス保守開発等に携わる

ゲームプレイの主な戦場は
FGO
FEH
MTGA
マビノギ
ここでは主にunityroomで公開しているゲーム作り直しの軌跡を綴っていきます