PROPS GAMESの作品作成方法④――ゲームブックサンプルとエンディング

こんにちは。

あるいはこんばんは。

ゲームブック総合サイトの管理者です。

ノベルゲーム投稿サイト・高機能作成ツールとして提供されているWebサービス、Props Gamesについての操作方法第四弾です。

こちらのエントリも参考になると思いますのでぜひ御覧ください。

今回は前回で作り始めたゲームブックサンプルの続きです。

エンディング機能も非常に興味深い仕様ですのでお見逃しなく。

サンプルゲームブック

まず、ゲームブックサンプルは下記の通りです。

場面1
君は入口に立っている。真っ暗な洞窟だ。ランタンに火を灯そう。どうやら北に進めるようだ。
北に進むなら→場面2

場面2
君は十字路に立っている。東からは何やら物音が聞こえる。誰か居るのかもしれない。 さてどうするか?
東へ進む→場面4
西へ進む→場面3
南へ進む→場面1
北へ進む→場面5

場面3
君はL字型の交差点に居る。静寂が君を包む。早くここから出たいものだ。さあ、動こう。
東へ進む→場面2
北へ進む→場面7

場面4
君が歩を進めると、何やら只ならぬ気配を感じる。「ウオォォォォ!」獣が吠える! うわっ!キマイラだ! 君は慌てて剣に手をかけるもヤツの一撃を交わすのが遅れる……。 残念だ。君は死んでしまった。
最初からやり直すこと。→場面1

場面5
君はL字型の交差点に居る。足元が湿気を帯びており、石畳の上を歩くのは滑りそうだ。気をつけて進め。
西へ進む→場面6
南へ進む→場面2

場面6
君はL字型の交差点に居る。バサバサッ!うわっ。突然の音と若干の風圧に君は驚く。何だ蝙蝠か。 彼らは君の来訪に警戒して立ち去っただけのようだ。さあ、気を取り直して歩こう。
東へ進む→場面5
南へ進む→場面7

場面7
君はT字路に立っている。いつまでこの散策を続ければよいのだろう……。打ちひしがれる君は足元に清流が流れていることに気づく。 君はしゃがみ込み、手ですくって一口飲む。「ほう」と短い溜息が出た。歩ける。行こう。
西へ進む→場面8
南へ進む→場面3
北へ進む→場面6

場面8
君はL字型の通路にやってきた。北の方は何か明るく光っている。怪しい魔法使いでもいなければいいのだが。
東へ進む→場面7
北へ進む→場面9

場面9
君は慎重に歩を進める。するとどうだ。目の前が眩しい。暫く君は目を閉じる。そう。幻ではない。待ち望んでいた外界だ! おめでとう。君は無事にこのダンジョンを制覇することが出来たのだ。ハッピーエンド。

上記ゲームブックは下記のマッピングをもとに書き起こしています。

前回で場面1は作成しました。

そこまで終わっている前提でお話を進めます。

まずゲームブックで言うところのパラグラフ、場面を全部作ってしまいましょう。

場面2を記述します。

場面2の編集画面、イベント欄の場面開始時のコードの一例は下記の通りです。

<計算 結果="$システム変数数値1" 式="$システム変数数値1+1" />

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10">
君は十字路に立っている。東からは何やら物音が聞こえる。誰か居るのかもしれない。 さてどうするか?
    <改行 />
進んだ歩数:
    <変数表示 変数="$システム変数数値1" />
    <クリック />
</小説>
<選択>
    <会話 名前="" 速度="0">
    </会話>
    <選択肢 メッセージ="東へ進む→場面4">
        <場面移動 移動先="場面4" アニメ="瞬間移動" />
    </選択肢>
    <選択肢 メッセージ="西へ進む→場面3">
        <場面移動 移動先="場面3" アニメ="瞬間移動" />
    </選択肢>
    <選択肢 メッセージ="南へ進む→場面1">
        <場面移動 移動先="場面1" アニメ="瞬間移動" />
    </選択肢>
    <選択肢 メッセージ="北へ進む→場面5">
        <場面移動 移動先="場面5" アニメ="瞬間移動" />
    </選択肢>    
</選択>

それでお気づきでしょうか?

他の場面3~9も、マーキングした部分だけ修正すればいいと言うことを。

黄色くマーキングしたところが地の文です。

それぞれのパラグラフからコピペでいいですね。

後は選択肢の修正です。

場面2は最大の選択肢数である、4つの選択肢、東西南北があります。

場面に応じてそれを減らせばよく、変える部分も場面の数値のみなのです。

制作する側にとっては、これほど楽な作業はありません。

しかしプレイする側にすれば無味乾燥で、単純作業が苦しくなってくるので、ダンジョン散策は本当は控えたほうが良いです。

今回もあくまでサンプルということで、説明しやすいので題材に使っただけですので、念の為。

上記場面2をコピーし、修正した場面3は下記の通りです。

<計算 結果="$システム変数数値1" 式="$システム変数数値1+1" />


<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10">
君はL字型の交差点に居る。静寂が君を包む。早くここから出たいものだ。さあ、動こう。

    <改行 />
進んだ歩数:
    <変数表示 変数="$システム変数数値1" />
    <クリック />
</小説>
<選択>
    <会話 名前="" 速度="0">
    </会話>
    <選択肢 メッセージ="東へ進む→場面2">
        <場面移動 移動先="場面2" アニメ="瞬間移動" />
    </選択肢>
    <選択肢 メッセージ="北へ進む→場面7">
        <場面移動 移動先="場面7" アニメ="瞬間移動" />
    </選択肢>    
</選択>

こんな感じで場面9まで、サンプルゲームブックから地の文はコピーし、選択肢を取捨選択し、場面の数値を修正してください。

エンディング

プレーヤーが晴れて場面9まで行くとグッドエンドです。

でもわざわざ変数を使って、どれくらい移動したかカウントしてます。

であれば、最も少ない移動数ならベストエンド、準じて少ないならベターエンド、それ以外ならグッドエンド、とするのはどうでしょうか。

この当たりは工夫次第で幾らでもオモロく出来ます。

さらに、場面4に行ってしまうとキマイラに食べられちゃいますのでバッド・エンドにしたいですね。

Props Gamesにはエンディング機能があります。

作品制作画面にエンディング欄があります。

上記はすでに

  • ベストエンド
  • ベターエンド
  • グッドエンド
  • バッドエンド

の4種類のエンディングをつくりました。

ではまず、バッドエンドの場面4を修正しましょう。

<計算 結果="$システム変数数値1" 式="$システム変数数値1+1" />


<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10">
君が歩を進めると、何やら只ならぬ気配を感じる。「ウオォォォォ!」獣が吠える! うわっ!キマイラだ! 君は慌てて剣に手をかけるもヤツの一撃を交わすのが遅れる……。 残念だ。君は死んでしまった。
    <改行 />
進んだ歩数:
    <変数表示 変数="$システム変数数値1" />
    <クリック />
</小説>

場面移動がないので、選択肢を含まないコードとなっています。

で、「終了」ボタンを押します。

エンディングを選べるようになっているので、バッドエンドを選びます。

<計算 結果="$システム変数数値1" 式="$システム変数数値1+1" />

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10">
君が歩を進めると、何やら只ならぬ気配を感じる。「ウオォォォォ!」獣が吠える! うわっ!キマイラだ! 君は慌てて剣に手をかけるもヤツの一撃を交わすのが遅れる……。 残念だ。君は死んでしまった。
    <改行 />
進んだ歩数:
    <変数表示 変数="$システム変数数値1" />
    <クリック />
</小説>

<エンディング エンディング="バッドエンド" />

すると、上記コードが生成されます。

これでOK。

続いて、場面9を修正します。

<計算 結果="$システム変数数値1" 式="$システム変数数値1+1" />

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10">
君は慎重に歩を進める。するとどうだ。目の前が眩しい。暫く君は目を閉じる。そう。幻ではない。待ち望んでいた外界だ! おめでとう。君は無事にこのダンジョンを制覇することが出来たのだ。ハッピーエンド。
    <改行 />
進んだ歩数:
    <変数表示 変数="$システム変数数値1" />
    <クリック />
</小説>
<小説 横="中央" 縦="枠中央" 幅="16" 高さ="10" 速度="10" >
あなたがクリアまで移動した数:
<変数表示 変数="$システム変数数値1" />
 です。
<クリック />
</小説>

<もしも 条件="$システム変数数値1=5" タイプ="数値" >
<エンディング エンディング="ベストエンド" />
</もしも>

<もしも 条件="$システム変数数値1=6" タイプ="数値" >
<エンディング エンディング="ベターエンド" />
</もしも>

<もしも 条件="$システム変数数値1>6" タイプ="数値" >
<エンディング エンディング="グッドエンド" />
</もしも>

黄色くマーキングしたところは、クリアまで移動した数を、念の為に改めて表示する命令郡です。

余り必要ないかもしれません。

エンディングを処理しているのはピンクでマーキングした部分です。

<もしも>タグ3つでつくりましたが、<もしくは>タグを利用してももちろん構いません。

このマッピングを思い出してほしいのですが。

1➯2➯3➯7➯8➯9と言う移動が最短です。

1➯2➯5➯6➯7➯8➯9がそれに準じて少ない移動数です。

なので

  • 移動数が5ならベスト
  • 移動数が6ならベター
  • それ(6)より大きければグッド

という条件判断をしています。

テストプレイで、ベストエンドの条件を満たした場合、上記の表示になります。

恐らくですけど、作品公開してユーザーがプレイして、各エンディングにたどり着いた数をカウントしていて、エンディングのパーセンテージが出る仕組みになるのかなと。

プレイヤーは自分がどのエンディングで、割合を知ることによって、自分の順位に変わる立ち位置というのを知ることが出来ると。

ベストエンドにたどり着いたなら満足だなと。

でもベストエンドが100%に近いのなら、誰もがベストエンドにたどり着いてるので、普通なんだなと。

そのような情報が分かる仕組みになっているのかと思ったのですが、ちょっと、確認できてません。

正直クソつまんないゲームではありますが、作品作成の参考になればとこちらでプレイできるようにしました。

あえて選択肢に移動する場面の番号を表示してますが、これをなくすだけでゲームの難易度が上がります。

ダンジョンの途中に旅人や、モンスターを配置するとよりオモロくなることでしょう。

無味乾燥なダンジョン散策から、様々なギミックを多く盛り込めば、幾らでもプレイヤーの満足度をあげることが出来ますので、ぜひオモロい作品をアップしてください。

このエントリ執筆時点で上位者にはAmazonのギフト券がもらえるコンクールを開催しているとのことですので、奮って参加しましょう。

ameblo.jp

まとめ

以上で筆者の分かる範囲でのProps Gamesの解説を終わります。

この他にもプレーヤーキャラクターの取り扱いや、戦闘システムがあるのですが、いろいろ弄りましたがエラーが出たりして、筆者にはわかりかねました。

大変恐縮ですが、この辺は公式さんのご説明をご教授頂きたいところであります。

あと、やはりリファレンスがあると非常に助かります。

属性のパラメーターの値の範囲とか、速度や程度の大小、どちらの数値が早くなったり、音などが大きくなるのかとか。

その辺がわかればより作品を作りやすくなることでしょう。

www.propsgames.jp

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA