設計を見直そう13、地図とチャプター構造。

前回までのトワナナさん。

どこいしょで地図は作れそうだけれど、これ全部書くの大変だよねってお話と、地図と地図の往来の概念が欲しいかもというギブミープリーズな展開に。
そうなってくると地図を管理する仕組みも必要になるのかなって。
仕方ないので腹を括って地図もライブラリに置くことを検討スタート。

ゲームつくるよー。

あぢぢ。
夏はやく終わらないかなぁ・・。
始まったばかりだとは知っている。
でも夏苦手。
夏いらない。

もう無理、生きていけない。

〇ルース・ウイルスさんあたりが宇宙船に乗って太陽を爆破してきてくれないかなって。
たのむよとーちゃん。
アルマゲ丼とかで余裕だったやん。
予算的に無理?
予算以外が無理な気もするけれど。

現実って辛い。
 
 
前回考えた地図のお話を整理すると。

・地図は今キャラクタが移動できる範囲を表すもの
・地図には場所が割り当てられる
・地図上に割り当てる場所には面積がある
・地図上の面積は配置できる施設の数に影響する
・地図上の面積は場所から場所の移動時間に影響する

こんな感じでしたっけ。

あ、そいえば最近まとめページのアップデートしてなかった気がする。
ローカルのファイルは更新しているのだけれど、走り書きというかメモ書きで酷い有様なので整理してからアップデートしないとだ。
読んでいるひとはいないと思うけれど。

お話を戻して。
前回は洞窟をどうやって表現するの?みたいなお話で「あかんかなぁ・・」になりました。
地図は時間経過によって変化するものと定義しようとしたため、その場合、地図を移動すると時間が経ってしまうの?という問題が。

なんで時間経過によって変化するものと捉えようとしたかというと、TRPGさん1号はChapter的なもの、えーっと、章区切り?みたいな概念を用いてデータを切り替えることを考えていました。

んー。

身も蓋もない表現をすると、ステージ1のマップと、ステージ2のマップみたいな感じで、どっこいしょとデータを入れ替えていけばゲーム本編の変化を表せないかなと考えていたわけです。

マップを検討していなかった当時も、ステージごとに「場所」と「ひと」、「アクション」、「イベント・ハンドラ」を定義して、ステージをクリアしたら次のステージに進んで、「場所」と「ひと」、「アクション」、「イベント・ハンドラ」を切り替えることを考えていました。
この考え自体はそんなに困ってはいなかったのですが、ここに地図を入れようとした場合、重複するデータが増えていきそうな懸念が出てきたのです。
たぶん、元の設計からその問題はあったのですが、より具体化してしまった形なのかなと思います。

てーへんだー。

みたいな。
いや、話進めようよ。

ええと。
地図は見方を変えてみると、場所の集合体。
場所をまとめて更に大きな場所を表現しているとも定義できます。

先ほどの洞窟という概念を考えた場合、地図を使わずに「場所」単体で補えないの?というと、「ここは洞窟だよ!」という表現をすれば可能です。
表現というか、そういったルール・シートの書き方をすれば。です。

場所にはイベント・ハンドラを定義しますので、条件によって場所の変化を行うことができます。
つまり、スタート時点の「洞窟A」という場所、から状態が変化した「洞窟B」という場所へ切り替えができます。
また、場所には提案アクションという専用のアクション(選択肢みたいなものと考えれば大体あってる)を用意できますので、例えば「洞窟の奥へ進む」であったり、「階段を昇る」であったり、場所と場所をつなげて迷宮のような表現も可能です。

可能といえば可能なのですが。
気になったのが、それって後で見直した時に迷宮の構造を把握できるの?という点で。

構造上は同じ表現ができるとしても、
ルール・シートを作成するプレイヤーの負担が大きくないかなって。
情報量は作り込めば多くなります。
規模が大きくなれば。それは仕方がなくて。
ですが情報量が多いことと、見通しが悪く構造が把握しずらいことは別の問題。
トワナナさん的にはルール・シートを作るひとに優しい作りにしたいと思うのです。

ええい、思うの!

場所という定義に全部詰め込んで難解な構造にしてしまわなくても、似たようなことがもう少しだけ簡単に表現できるように、地図という拡張的表現要素を導入したいと思ったのです。

とはいってもどうやって地図と地図の往来を実現するのさーと言うと。

んー。
場所と同じように番号を振って管理してしまえばいいかも?

その考えで図にまとめてみたのがこちら。

説明文かく

左から順に「Play領域(Play Chapter)」「Active領域(Active Chapter)」「Library領域」に分かれていて。
Active領域に今使う地図や場所、アクションやイベント・ハンドラを読み込んで。
読み込んだ地図や場所、アクションやイベント・ハンドラには番号を割り振り、実行時にはPlay領域で番号を使って区別と関係を表現する。

と、まとめてみたのですが伝わりますか?

わかりにくいよね。
ごめんなさい。

料理する時に棚から調味料を取り出してきて、それに番号のラベルを貼って、レシピにはその番号で料理の仕方が書いてあるみたいな感じ?
で、レシピにあたるのが現在プレイしている章の内容。

んー。

もっとわかり難くなったような気がする。

じ、次回に続くよ。
地図と地図の往来、つながりをどのように実現するかをまとめてみます。
図にある「Play Map」のあたりのお話になるのかな。
あと「Active領域」を用意した理由のお話も、合わせてできたら。
 
 
そいえば冷やし中華は始まっているのかな?って気になってしまう昨今ですが、お酢とかがぶがぶ飲んで生き延びてください。
えーっと、びねがー?
プリーズ・ドリンク!ア、ロット・オブ・ビネガー!!

大丈夫。
内緒でよいので、はっぴーでいてください。

おさしみなさい。