設計を見直そう11、ルール・シートの構造1。

TRPGさん1号はゲーム・エンジン(実行ファイル)と、ライブラリ(共通データ)、ルール・シート(専用データ)の3つをセットで扱います。
ルール・シートにはゲームの内容が定義され、ルール・シートを交換することで異なるゲームを遊ぶことができます。

ルール・シートはユーザーが作成します。
もちろん、TRPGさん1号にはサンプルのルール・シートが付属しますが、ユーザーが自由にルール・シートを作って遊ぶことをメインとして考えています。
(楽をしたいわけじゃないよ。ほんとだよ)

というわけで、今回はルール・シートの構造のまとめ。
ゲームつくるよー。
 
 
ルール・シートはテキスト・ファイルであること以外はほとんど決まっていませんので、1つずつまとめていきます。
まず現段階でわかっている必要なもの。

基礎ルールの内容:
・スタートの場所ID
・ゲームクリアの場所ID
・プレイ人数下限(必ず用意する必要のあるキャラクタ数)
・プレイ人数上限(同時に参加できるキャラクタ数)
・ゲームオーバー条件(0=全滅の場合 / 1=欠員が出た場合)
・ターン数上限(0=上限なし / 1以上=上限ターン数)

管理ルールの内容:
・開始時点の日付
・開始時点の時刻
・イベント・フラグの定義
・イベント・レベルの定義
・イベント・ハンドラ(提案アクション用)の定義
・イベント・ハンドラ(共通アクション用)の定義
・イベント・ハンドラ(戦闘アクション用)の定義

要素の内容:
・場所の定義(環境+施設+ひと+イベント・ハンドラ)
・環境の定義(天候+風向+地形)
・施設の定義(サービス+売りリスト+買いリスト+ひと)
・天候の定義
・風向の定義
・地形の定義
・キャラ構成の定義
・会話の定義
・サービスの定義
・売りリストの定義(アイテム)
・買いリストの定義(アイテム)
・アイテムの定義
・ひとの定義(キャラ構成+会話+アイテム)

たぶん、こんな感じかな?
イベント・ハンドラは複数、というか山ほど用意することになるのかな。
それはそれで大変そう。ううーん。

例えば場所が1つあった場合、用意するイベント・ハンドラは提案アクション用が1つと、共通アクションが・・ 全部?
むむう。
プログラムでおこすのであれば大したことないけれど、人力で書いてもらうとなると大変そう。
何か考えないとダメかな。
ベースのセットを決めて、差異があるものだけ上書き扱いで書いてもらうとか?
共通アクションは変更するものだけ書く、であれば少しは楽ができるか、な?

もうちょっとこう、システム的に書けるといいよね、きっと。
数字だけでつながりが表せるような。

地図みたいな。

数字で表現した地図。

で、地名ごとに詳しい内容は別紙に書かれていて、どこがどことつながっているのかは地図だけでわかる。
みたいなの。

プログラムで表すとテーブルみたいな表現になるのかな。
ゴハンたべる台じゃないよ。
HTMLみたいな、書式が決まって値がはめ込まれているような感じの。
寝る前に食べると太るよ。
 
 
そうだ。
まずこれも決めないと。

ルール・シートの構造を決めるうえで優先すること、守りたいこと。

・全体像が見渡せること
・完成前に実行が出来ること
・言語に依存しないこと
・ミスをプログラムで見つけられること

うしろの2つは日本語や英語でも遊べるように作れるとの意図と、ユーザーがじぶんの書いたルール・シートを遊ぶ前にチェック・プログラムで確認できるようにしたいという意図。

やっぱり色んな国のひとと遊んでほしいなって。
あとは遊んでいる途中で「エラーがおきますた」とか言われたら困るもんね。

もうちょっと整理していかないと。
あれ?今気づいたけれどアクションの定義が抜けてない?
うう、頭回らない。ぐるぐる。
今回はおしまい、次回に続くよ。

いろいろある世の中ですが、カレーでも食べて華麗に生き延びてくださいな。
大丈夫。
内緒でよいので、はっぴーでいてください。

おさしみなさい。