ゲーム制作日記

アバター
ナムアニクラウド
記事: 16
登録日時: 15年前
住所: 茨城県

ゲーム制作日記

投稿記事 by ナムアニクラウド » 14年前

ひさびさに制作日記でも。
ノートに問題点やアイデアをまとめたものを、ほぼそのままうpしちゃいます。ので、意味不明なところもあるかも。

4/10(日)の頑張り
現状の課題たち
A:背景画像を用意しなきゃ
B:弾の生成やりづらくね?
C:連続で撃つ弾幕、どうするの?
D:ボスの画像用意しなきゃ
E:BGMとSE用意しないと
F:ステージの区切りを作る
G:データのセーブ機能が必要だ
H:パラメータのロードを簡単にしたい!
I:ロード画面欲しいよね
J:弾幕の構成考えないと
K:ゲートアイテム作らなきゃ
L:難易度調整の仕組みが欲しいなあ

B - 弾の生成やりづらくね?について
  a:「速度・加速度」とか「角度・速さ・加速」とか、引数にバリエーションを作るとしたら、
    各派生クラスにそれぞれ複数のコンストラクター作らなきゃいけない問題
  b:SEいつ鳴らすの?問題
  c:左右反転どうすんの問題
  d:引数多すぎ問題
    → BulletFactory作ればいいじゃん!!!!!!!!
      ① 「敵クラス」が「位置」「弾の形」「弾の色」「左右反転射出フラグ」を持っているので
      ② 敵クラスをFactoryにぶっ込む(メソッドに引数で渡す)。特に指定がなければ敵の位置から撃つ
        引数の問題も左右反転の問題もFactoryで処理すればいいし、a,b,d解決!
      ③ SEはFactory内部で鳴らせばいいんじゃね?c解決!

  これであとはFactoryで派生クラスをうまく処理すれば・・・はっ!
  e:弾の種類ごとにコンストラクターに必要な引数が違う問題
    NormalBullet 基本パラメータのみ
    CurveBullet 基本パラメータ+角速度
    WaveBullet 基本パラメータ+振幅や波長
    などなど。できるだけ引数渡す場所はFacrotyに集めたいんだけどなー。
    簡単に思いつくのは可変個引数を・・・
    いやしかし、「CreateNormal」とか「CreateCurve」とかのメソッドを作れば済むじゃん!何やってんだ俺。
    e解決!

  じゃあ早速実装しようぜ!
    基本パラメータは「発射主、角度、速さ、加速、(位置)」で。
    ぶっちゃけ「速度ベクトル・加速度ベクトル」で指定したくないよねー

  よし、実装した!B解決!

ああ、ソースコード見てたら新たな問題が浮かんできたぞ・・・
M:アイテム生成やりづらくね?
N:派生クラス用の定数を、兄弟クラスごとに同じの作るのが気持ち悪い

コメントはまだありません。