セリフ・システムの設計

ちょっと「Log」タグを便利使いしすぎてるな。設計(過程)と成果は別のタグで分けておきたいが。今までの「成果」の方は「Create」にしとくべきだったか。でも、あれはあれで途中経過っぽいんだよなぁ。


それはそれとして、セリフ・システムの設計。まずは元ネタを読みつつ、どういう風にセリフを吐かせたいかを列挙する。


  • 優先度:高
    • 敵の残骸の近くで「キッタネ」
    • やられた時の効果音「グチャ」「ベヂャッ」「うわあああ」
  • 優先度:中
    • イベントっぽいセリフのやりとり
      • イベントとして別に用意した方が良いかもしれない
      • しかし、「撃つなよ!絶対撃つなよ!」というイベントではこのシステムでやった方が有利
    • 敵が攻撃時にセリフを吐く
    • 敵が移動時に「ゴロゴロ」
    • 敵が登場時に「ここでわたしです」
    • 最大溜め発射で「どーん」
    • 下撃ち時に「スイチョク ニ ウチマス」
    • 敵を倒した時に「グヘヘ」「ヤッタネ」
    • 溜めている時に「ウーイ」
  • 優先度:低
    • 敵が画面に出てきたら「!」と表示
    • 大きなオブジェクトが落ちたら「ズシィン」
    • 敵のジャンプ時に「ちんぽっぽ」+「ぼいんっ」


ひとまず「Dr.アガサの研究所」まで確認。時間的な問題ではなく、笑いをこらえるのがしんどくなってきたので。会社で確認するのはしんどいんだぜ。


列挙してわかったのは、「特定の状態になった時」のセリフが多いということ。「キッタネ」の実現を最初に考えていたので、その多さはちょっと見落としていた。
基本的には「自分の状態が変化→自分のセリフを変更」が一番多くて、次に「何かのイベント(敵の破壊、敵の登場)が発生→自分のセリフを変更」が来て、最後が「特定の範囲内に行く→自分のセリフを変更(キッタネ)」となる。最後のは、「範囲内に入った」という「イベント」として扱えば良いのかも。「イベント」を全てのオブジェクトに伝播して、その種類を元にセリフを変更すればよさそう。


ということで、作る順序は以下の通り。

  • セリフを表示するためのSpriteやら基本関数やらの追加
  • 状態が変わったときにセリフを発するテスト
  • イベントのDispatchの作成
  • イベントを元にセリフを発するテスト


そういえば「溜め撃ち」も必要で、それ用のエフェクトも必要だった。一応、セリフ・システムでできないこともないが、やはりこれは別物の方が良いか。
あと、「上撃ち」「下撃ち」も必要だ。
それ以前に、発射時はちゃんとバスター用の画像に切り替えるべきではなかろうか。
となると、画像の差し替えはちゃんと関数化すべきだ。
それなら、グロ・ラグドールの画像変更もそれに合わせることができる。
足りない部分で言ったら、ライフ表示とかもない。あれはまぁ、あってないようなもんだから別にいいか。
他にも「カーチャン二段ジャンプ」があるが、あれはスキルの一つとして作るべきで、それはわりと後の方でやるべきなんじゃなかろうか。


思ってたより、だいぶやることが残ってるなぁ。いつになったらちゃんとしたステージが作れるんだ。