設計を見直そう22、アクション系イベント・ハンドラ。

ええええ?!ネクソンさんって、あのネクソンさん?!オンラインゲームの?
日経225銘柄に採用されたって、ニュースになっているけれど。
ほげー、すごいなー。
任天堂さん、は、まぁ、高すぎるから採用されないのだと思うけれど、ハンダイナムコさんも昨年採用になってたよね。
ネクソンさんはファミリーマートの上場廃止の件の入れ替えだそうな。

ネクソンさんというと、マビノギとか、テイルズウィーバーとか、あとメイプルストーリーか。
今はさぞスゴイラインナップで・・と思ったらあまり変わってなかった。

あれれ?
ジャパン国はあまり変わらずなのかな。

あ、でもモバイル向けでEAのサッカー持ってるのか。
これはスゴいかも。
業績もよいみたいだし、経営が手堅いのかな。
 
 
ゲームつくるよー。

今回も前回、前々回から引き続き「更新の場所、判定の位置、優先順位」に関して。

前回の終わりは、どこで「それ」が扱われるのか、を整理したところから。

・1ターン目
  ・出力シートを入手  ←(ポイントA)
  ・アクションを決定、入力シートを用意
  ・入力シートをエンジンに入力
  ・エンジン上で判定開始
    ・移動・判定   ←(ポイントB)
    ・そのた・判定  ←(ポイントC)
    ・分岐・判定   ←(ポイントD)
  ・エンジン上で判定終了
  ・新たな出力シートの生成
・2ターン目
  ・出力シートを入手  ←(ポイントE)
 
 
ポイントAの時点での場所が、アクションで移動を行う際にどの時点で更新されるのかの検討。
だったのかな?

気になっている点は、
「移動・判定」と「そのた・判定」はアクション系イベント・ハンドラの扱いで。
「分岐・判定」はチャプター系イベント・ハンドラの扱い。

例えばイベントハンドラには処理を列挙することになるのだけれど。
うーんと。

ミステリーハウス的なシチュエーションで。
試しに書いてみる。

アクション系イベント・ハンドラ例:
・提案アクション1
  項目名:扉を開けて外の様子を伺う
  説明:足跡が聞こえなくなってから大分経つ。安心はできないが外の様子は気になる。
  形式:場所移動、場所ID3へ移動
  条件:なし
  ダイス:0
・提案アクション2
  項目名:天井を調べる
  説明:人の気配を感じて天井を見上げると、持ち上がりそうな天板が見えた。
  形式:罠、身体へ20ダメージ
  条件:敏捷値が30以下でダメージ
  ボーナス:敏捷値+6面ダイス2回
・提案アクション3
  項目名:床を調べる
  説明:部屋を歩き回っていると、一部の床板から異なる音がすることに気付いた。
  形式:アイテム取得、金庫の鍵
  条件:知力が50以上で成功
  ダイス:知力値+6面ダイス1回
 
 
あれ?

共通アクションを書こうと思ったけれど、何か違う。
共通アクションが紐づく先というか、条件が異なる?

ええと、アイテムの売買は施設に紐づくし、キャラクタの移動も施設に紐づく。
んー、でも、アイテムの利用はキャラクタの所有するアイテムに依存するのか。
あと、パーティー操作は相手がいるかどうか。
戦闘操作も相手次第。

ぬ。
ちょっと思い違いしていたかも。

アクション系イベント・ハンドラに記述するのは提案アクションのみで。
共通アクションは固定で用意するべき。
なのかな。

以下を共通アクションだとして。

・[共通] 施設を使ったアイテムの売買
・[共通] 自分へのアイテム操作(利用・廃棄・装備の脱着)
・[共通] 自分以外のキャラクタへのアイテム操作(利用・渡す)
・[共通] 場所へのアイテム操作(利用)
・[共通] パーティー操作(勧誘・受諾・脱退)
・[共通] 戦闘操作(開始・離脱)

施設を使ったアイテムの売買は、どちらかというと、売買リスト(商品リスト)とNPCのセリフが差し替えられれば。
つまりはシステム的に施設側の定義でカバーするお話。

自分へのアイテム操作は、アイテムリストに何を書くか、これもルール・シート上の定義のお話。
名前だったり、効果だったりはルール上に定義するという意味で。

自分以外へのキャラクタへのアイテム操作も自分へのアイテム操作と同じ。

場所へのアイテム操作も、主となるのはアイテムの効果なので、これもルール・シート上の定義のお話。

パーティー操作は対象のキャラクタが存在するかの判定を行うにしても、システム的に固定ルールになるため、特にルール上で何かを置き換える必要も、用意する必要もない。
あえて置き換えるパラメータがあるとしたら、最大メンバー数を指定させられるようにする位?
どちらかというとエンジン上のメモリ負担への影響なので、今はあまり重要視しなくてもよさそう。
例えば100名位でも構造的に問題は起きないと思う。
文章ジェネレータの「その他大勢」の基準には影響しそうだけれど、そのへんはもう少し先のお話なので。

戦闘操作は、戦闘のルールそのものは固定になることと、共通アクション上の戦闘操作は「戦闘を仕掛ける」「戦闘を離脱する」に相当する行動なので、固定に。

ということは。

共通アクションは最低1つの定義、例えばそれはデフォルトの定義でも足りる。
もしかしてイベントハンドラを以下の3つとかにした方がよい?

提案アクション系イベント・ハンドラ
共通アクション系イベント・ハンドラ
チャプター系イベント・ハンドラ

いっそ、共通アクション系イベント・ハンドラを無くしてもいいかな。
ルール・シートを記述する方の負担を減らしたいし。
パラメータの指定と、禁止事項さえ設定できれば、共通アクションは固定化できるはず。

共通アクションの定義を固めた方がよいかも。
次回あたりでそこを固めよう。
 
 
ぷしー。
もう限界なのでネヨウ。
内緒でよいので、はっぴーでいて下さい。

おさしみ。