不撓不屈

戦国史同盟管理人・蛛賢(Shuken)のブログです。 サイト運営情報、技術情報、備忘録、作品公開等について投稿しています。

こんにちは。蛛賢です。
PropsGamesでRPGを作りました。



備忘も兼ねて「Zodiac Walk Prologue」の制作手順を投稿します。
今回はフィールドエンカウント及び戦闘です。

Zodiacではフィールドを1歩進むとランダムで敵と遭遇したり、お金を拾ったりします。

黎明の平原
黎明のイベント

◇フィールドイベント
最初の選択肢で「歩く」以外であれば、街に移動したり、エンディングにいきます。
「歩く」であれば、「//一歩進む」以降のランダム処理に進みます。

敵のエンカウント等が終わったら、

<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />

で最初の選択肢に戻ります。
<音楽 ファイル="フィールド_PerituneMaterial_Wish3.mp3" ループ="on" フェード="2000" 音量="40" />

<画像表示 ID="367" 透明度="100" 時間="2000" />
<もしも 条件="共通.flg平原初回=FALSE" タイプ="フラグ" >
<画像表示 ID="542" 透明度="100" 時間="2000" />
<待機 時間="2000" /> 
<画像表示 ID="542" 透明度="0" 時間="2000" />
<待機 時間="2000" />
<変数変更 変数="共通.flg平原初回" 値="TRUE" />
</もしも>
<画像表示 ID="543" 透明度="100" 時間="2000" />
<待機 時間="2000" /> 


<もしも 条件="共通.flgボス=FALSE" タイプ="フラグ" >

<選択>
<会話 名前="" 速度="0" >
どうしますか?<改行 />
【所持金】<変数表示 変数="共通.int所持金" /> Coin<改行 />
【歩 数】<変数表示 変数="共通.int歩数" /> 歩<改行 />
【討伐数】<変数表示 変数="共通.int討伐数" /> 体
</会話>

<選択肢 メッセージ="歩く" >
</選択肢>

<選択肢 メッセージ="街に戻る" >
<音楽 フェード="0"/>
<画像表示 ID="543" 透明度="0" 時間="2000" />
<画像表示 ID="367" 透明度="0" 時間="2000" />
<待機 時間="2000" /> 
<場面移動 移動先="エルティア市街" アニメ="瞬間移動" />
</選択肢>

<選択肢 メッセージ="次の国に行く(200Coin)" >
<もしも 条件="int所持金>=200" タイプ="数値" >
<選択>
<会話 名前="" 速度="0" >
エンディングに移行します。<改行 />
よろしいですか?
</会話>

<選択肢 メッセージ="はい" >
<音楽 フェード="2000"/>
<画像表示 ID="543" 透明度="0" 時間="2000" />
<画像表示 ID="367" 透明度="0" 時間="2000" />
<待機 時間="2000" /> 
<場面移動 移動先="ラコルミベルナ市街" アニメ="瞬間移動" />
</選択肢>

<選択肢 メッセージ="いいえ" >
<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />
</選択肢>
</選択>

</もしも>

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
所持金が足りません<クリック />
</小説>
<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />
</選択肢>
</選択>
</もしも>

<もしも 条件="共通.flgボス=TRUE" タイプ="フラグ" >

<選択>
<会話 名前="" 速度="0" >
どうしますか?<改行 />
【所持金】<変数表示 変数="共通.int所持金" /> Coin<改行 />
【歩 数】<変数表示 変数="共通.int歩数" /> 歩<改行 />
【討伐数】<変数表示 変数="共通.int討伐数" /> 体
</会話>

<選択肢 メッセージ="歩く" >
</選択肢>

<選択肢 メッセージ="街に戻る" >
<音楽 フェード="0"/>
<画像表示 ID="543" 透明度="0" 時間="2000" />
<画像表示 ID="367" 透明度="0" 時間="2000" />
<待機 時間="2000" /> 
<場面移動 移動先="エルティア市街" アニメ="瞬間移動" />
</選択肢>
</選択>
</もしも>


//一歩進む

<画像移動 ID="367" 横="-162" 縦="-44" 速度="100"/>
<待機 時間="1" />  
<画像移動 ID="367" 横="-162" 縦="-20" 速度="100"/>
<待機 時間="400" />
<画像移動 ID="367" 横="-162" 縦="-44" 速度="100"/>
<待機 時間="1" />  
<画像移動 ID="367" 横="-162" 縦="-20" 速度="100"/>

<計算 結果="int歩数" 式="共通.int歩数+1" />

<待機 時間="1000" />

<ダイス 代入先="共通.intダイス" 目="1,2,3,4,5,6,7,8,9,10" 速度="30" 遅延="0" 順番="裏実行"/>

<もしも 条件="共通.intダイス=1" タイプ="数値" >
<コード呼出 コード名="01_野盗戦" />
</もしも>

<もしくは 条件="共通.intダイス=2" タイプ="数値" >
<コード呼出 コード名="02_盗賊戦" />
</もしくは>

<もしくは 条件="共通.intダイス=3" タイプ="数値" >
<小説 横="中央" 縦="枠中央" 幅="8" 高さ="1" 速度="60" >
2Coin 拾った<クリック />
</小説>
<HP 操作="足し算" 範囲="全体" 値="1" 時間="1000" />
<計算 結果="int所持金" 式="共通.int所持金+2" />
</もしくは>

<もしくは 条件="共通.intダイス=4" タイプ="数値" >
<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="60" >
何もなかった<クリック />
</小説>
<HP 操作="足し算" 範囲="全体" 値="1" 時間="1000" />
</もしくは>

<もしくは 条件="共通.intダイス=5" タイプ="数値" >
<コード呼出 コード名="01_野盗戦" />
</もしくは>

<もしくは 条件="共通.intダイス=6" タイプ="数値" >
<コード呼出 コード名="02_盗賊戦" />
</もしくは>

<もしくは 条件="共通.intダイス=7" タイプ="数値" >
<コード呼出 コード名="03_山賊戦" />
</もしくは>

<もしくは 条件="共通.intダイス=8" タイプ="数値" >
<コード呼出 コード名="04_グランホッパー戦" />
</もしくは>

<もしくは 条件="共通.intダイス=9" タイプ="数値" >
<もしも 条件="flgボス=TRUE" タイプ="フラグ" >
<もしも 条件="int討伐数>10" タイプ="数値" >
<コード呼出 コード名="10_ボス戦" />
<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />
</もしも>

<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="60" >
何もなかった<クリック />
</小説>
<HP 操作="足し算" 範囲="全体" 値="1" 時間="1000" />

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
…が、かすかに気配を感じる<クリック />
</小説>
<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />
</もしも>

<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="60" >
何もなかった<クリック />
</小説>
<HP 操作="足し算" 範囲="全体" 値="1" 時間="1000" />
</もしくは>

<その他>
<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="60" >
何もなかった<クリック />
</小説>
<HP 操作="足し算" 範囲="全体" 値="1" 時間="1000" />
</その他>

<場面移動 移動先="エルティア郊外" アニメ="瞬間移動" />

◇エンカウントイベント
 エンカウントしたら「呼び出し時」の方のイベントに飛ぶようにしました。
 戦闘イベントの「中断」がいまひとつ使い方が分かっていません。
<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="0" >
敵が出現した<クリック />
</小説>

<画像移動 ID="367" 横="-162" 縦="-32" 速度="1"/>

<小説 横="中央" 縦="枠中央" 幅="5" 高さ="1" 速度="0" >
Lv.2 盗賊<クリック />
</小説>

<戦闘 名前="盗賊戦" >

<勝利>
<小説 横="中央" 縦="枠中央" 幅="6" 高さ="1" 速度="0" >
敵を倒した<クリック />
</小説>

<小説 横="中央" 縦="枠中央" 幅="6" 高さ="1" 速度="0" >
+ 5 Coin<クリック />
</小説>

<計算 結果="int所持金" 式="共通.int所持金+5" />
<計算 結果="int討伐数" 式="共通.int討伐数+1" />
</勝利>

<敗北>
<小説 横="中央" 縦="枠中央" 幅="6" 高さ="1" 速度="0" >
全滅した<クリック />
</小説>

<画像表示 ID="367" 透明度="0" 時間="2000" />
<待機 時間="2000" /> 
<場面移動 移動先="ゲームオーバー" アニメ="瞬間移動" />
</敗北>

<中断>
</中断>

</戦闘>

◇戦闘選択画面
 エンカウントイベントから遷移する戦闘を制作します。
 あらかじめノンプレイヤーキャラクターとして敵を作っておきます。
 戦闘画面では画像を追加できませんが、ターン前後にイベントを挟むことができます。
 これを利用して相手の特殊攻撃や演出等を表現することが可能です。
<変数変更 変数="共通.intTemp" 値="0" />

<それぞれ 対象="敵全体">
<人物参照 代入先="共通.intダイス" 役割="$選択中" 属性="HP" />
<計算 結果="intTemp" 式="共通.intTemp+共通.intダイス" />
</それぞれ>

<もしも 条件="intTemp>0" タイプ="数値" >

<ダイス 代入先="共通.intダイス" 目="1,2,3,4,5" 速度="30" 遅延="0" 順番="裏実行"/>

<もしも 条件="共通.intダイス=3" タイプ="数値" >

<小説 横="中央" 縦="枠中央" 幅="11" 高さ="1" 速度="60" >
盗賊は逃げ出した…<クリック />
</小説>

<待機 時間="100" />  

<効果音 ファイル="逃走.mp3" 音量="80" />
<待機 時間="1" />  
<画像移動 ID="367" 横="-162" 縦="-34" 速度="400"/>
<待機 時間="1" />  
<画像移動 ID="367" 横="-162" 縦="-20" 速度="400"/>

<待機 時間="400" />  

<小説 横="中央" 縦="枠中央" 幅="7" 高さ="1" 速度="60" >
失敗!<クリック />
</小説>

</もしも>

</もしも>
 
↑ただの演出である逃亡失敗。
(戦闘を中断させるイベントはないため)

イベントを駆使すれば独自システムの戦闘を表現できるのかもしれませんが、
今回は基本機能の〇△☆のダイスによる戦闘システムを活かすこととしました。

また、ボスは1ターン力を溜めて、次のターンで全体攻撃を放ってきますが、これもイベントで実装しています。

まぁ…全体的に、PERITUNE様(BGM)、CLOSET様(画像)、効果音ラボ様の素材のおかげで成立しているんですけどね…

取り急ぎ今回はここまで。
※需要あるか分かりませんが、ご要望あれば詳しめに書きます。
このエントリーをはてなブックマークに追加 mixiチェック

こんにちは。蛛賢です。
PropsGamesでRPGを作りました。

備忘も兼ねて「Zodiac Walk Prologue」の制作手順を投稿します。
今回は宿屋、道具屋の場面構成です。



街から宿屋や道具屋の場面に移ります。
他の店舗系も作りは一緒です。イベント内容もコピペで作れます。

コピペの注意点としては、画面表示の画像IDだけは使い回せないので、場面毎に画像登録の上、IDを書き換える必要があります。

※画像は場面毎に登録を要し、かつ全作品通じた付番のようですので、作品や場面をまたいだ画像IDの使い回しはできないようです。

宿屋


◇宿屋イベント
<画像表示 ID="548" 透明度="100" 時間="2000" />
<待機 時間="2000" />  

<音楽 ファイル="街_PerituneMaterial_Soft_Day2_loop.mp3" ループ="on" フェード="2000" 音量="40" />

<選択>
<会話 名前="" 速度="0" >
1泊10Coinです。<改行 />
宿泊しますか?<改行 />
【所持金】<変数表示 変数="共通.int所持金" />Coin
</会話>
<選択肢 メッセージ="する" >

<もしも 条件="共通.int所持金<10" タイプ="数値" >
<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
所持金が足りません。
<クリック />
</小説>

<待機 時間="2000" /> 

<画像表示 ID="548" 透明度="0" 時間="0" />
<場面移動 移動先="エルティア市街" アニメ="右スライド" />

</もしも>

<画像表示 ID="547" 透明度="0" 時間="2000" />
<画像表示 ID="548" 透明度="0" 時間="2000" />
<待機 時間="3000" /> 

<効果音 ファイル="宿屋_きらきら輝く1.mp3" 音量="80" />
<HP 操作="足し算" 範囲="全体" 値="9999" 時間="1000" />
<待機 時間="2000" /> 


<画像表示 ID="547" 透明度="100" 時間="2000" />
<画像表示 ID="548" 透明度="100" 時間="2000" />
<待機 時間="2000" /> 

<計算 結果="int所持金" 式="共通.int所持金-10" />

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
体力が全回復しました。
<クリック />
</小説>

<待機 時間="2000" /> 

<画像表示 ID="548" 透明度="0" 時間="0" />
<場面移動 移動先="エルティア市街" アニメ="右スライド" />

</選択肢>

<選択肢 メッセージ="しない" >

<待機 時間="1000" /> 

<画像表示 ID="548" 透明度="0" 時間="0" />
<場面移動 移動先="エルティア市街" アニメ="右スライド" />

</選択肢>
</選択>


道具屋と宿屋の作りの違いは、選択肢次第で最初に戻る点です。
「いらっしゃい」「買う/売る/出る」
 ↓
「買う/売る」が終わる
 ↓
「いらっしゃい」「買う/売る/出る」

これは「<場面移動 移動先="道具屋" アニメ="瞬間移動" />」を入れると簡単に実現できます。


◇道具屋イベント
<画像表示 ID="550" 透明度="100" 時間="2000" />
<待機 時間="2000" />  

<音楽 ファイル="街_PerituneMaterial_Soft_Day2_loop.mp3" ループ="on" フェード="2000" 音量="40" />

<選択>
<会話 名前="" 速度="0" >
道具屋です。<改行 />
何か御用ですか?<改行 />
【所持金】<変数表示 変数="共通.int所持金" />Coin
</会話>

<選択肢 メッセージ="買う" >

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
「すまない、品切れなんだ」
<クリック />
</小説>

<待機 時間="1000" /> 

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
「また来てほしい」
<クリック />
</小説>

<場面移動 移動先="道具屋" アニメ="瞬間移動" />

</選択肢>

<選択肢 メッセージ="売る" >
…中略…

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
「今は買い取れないんだ」
<クリック />
</小説>

<待機 時間="1000" /> 

<小説 横="中央" 縦="枠中央" 幅="16" 高さ="1" 速度="60" >
「また来てほしい」
<クリック />
</小説>

<場面移動 移動先="道具屋" アニメ="瞬間移動" />

</選択肢>

<選択肢 メッセージ="店を出る" >

<待機 時間="1000" /> 
<画像表示 ID="550" 透明度="0" 時間="0" />
<場面移動 移動先="エルティア市街" アニメ="右スライド" />

</選択肢>

</選択>

取り急ぎ今回はここまで。
※需要あるか分かりませんが、ご要望あれば詳しめに書きます。
このエントリーをはてなブックマークに追加 mixiチェック

お疲れさまです。蛛賢です。
PropsGamesでRPGを作りました。



備忘も兼ねて「Zodiac Walk Prologue」の制作手順を投稿します。
今回は全体のストーリー・場面構成です。

PropsGamesでRPGを作るぞ、と決心したら、
ひとまず全体的なストーリー展開と、場面構成を考えました。
私は素材の作り込みと併せてPowerPointを用いています。
(色々ありますけど、何でもいっぺんにできるので個人的に使いやすいです)

投稿用

ざっくばらんに、思いつくままに表現していきます。
・背景となるストーリー(正直ゲームプレーに必要な内容のみ)
・ゲームシナリオ
・ゴール

「Zodiac Walk」のゲームシステムを決める上で、
簡単にできること、できないことをPropsGames上でも検証しながら進めます。
※下の画像は途中のもので、実際の内容と異なるところもあります。

自由帳


その後、場面を整理します。
エルティア市街の【宿】、【店】、【教会】の表現方法については、
【宿に泊まるか】、【お金が足りるか】、【街に戻るか】といった流れをループにしたいと思ったので、各場面に分割することにしました。
(場面の最後に「場面【宿】に移る」とすれば簡単にループになる)


場面


画像素材、音楽素材を探しながら想像を膨らませながら並行して準備を進めました。

取り急ぎ今回はここまで。
※需要あるか分かりませんが、ご要望あれば詳しめに書きます。
このエントリーをはてなブックマークに追加 mixiチェック

お疲れさまです。蛛賢です。

大変遅ればせながら、第2回 PROPS GAMES コンクールにおいて
拙作RPG「Zodiac Walk Prologue」が【大賞】をいただきました。

本当にありがとうございます。



本作はPROPS GAMESの基本的な標準機能だけで制作したショートRPGです。
奇抜さというよりかは、至ってシンプルな作りを意識しました。

◇あらすじ
ここは大陸の北に位置する「自由国家エルティア」

街中で路上演奏をしている少女に出会う

初めて聴くはずの音色に懐かしさを覚えて声を掛ける

「ありがとう」と微笑んだ少女は
金細工のペンダントを渡したのち
すぐに立ち去ってしまった

ペンダントには私と少女の名前が刻まれていた
驚いた私は少女の行方を追うことにした
フィールドを歩いてはエンカウント、歩いてはエンカウント、の単純操作です。
制作に割ける時間も限られていたため、今回はプロローグとして1ステージのみとしました。
今後、新たな機能追加に併せてステージ2以降を追加するかもしれません。

多少のやり込み要素がありますので、PropsGamesの登録ユーザでログインし、
オートセーブ有効でプレーされることを推奨します。大体30分くらいでクリアできます。


 


せっかく大賞をいただいたので、折を見てブログ上で作品を紹介したいと思います。
まずは報告まで。ありがとうございました。





【追記:2021.5.4】

ハチミツ様よりクリア画像をいただきました。
ものすごくやり込んでいただきました。作者冥利に尽きます。ありがとうございました。

Zodiac_Walk_Prologue_9
Zodiac_Walk_Prologue_10

ハチミツ様の作品も今回受賞されています。
熱い展開、BGM、そして演出!ぜひプレーしてみてください。


このエントリーをはてなブックマークに追加 mixiチェック

こんばんは。
繁忙期に入りそうなので、本件取り急ぎ発信します。

これまで掲示板ベースで進められていた「サンプルシナリオ改造プロジェクト」について、
試案ですが「Gitlabで運用してみてはどうか」ということで環境を準備してみました。



当該プロジェクトは、私が運営していた掲示板で行われていたものですが、
ホスティングサービス障害、掲示板システムバグ等で度々中断、大変ご迷惑をお掛けしました。
(活発だった有志の皆さんの活動に痛恨の水差しだったと思います……)

2021年現在、戦国史本体に同梱されているバージョンは最新版でないため、
掲示板ログを掘り起こし、残課題を今度は私自身で解決した上で、同梱を奏上しようと思っています。

Gitlabということで当初から複数人の作業を想定しているのか、というとそういうわけでなく、
単純に差分管理システム・外部記憶として利用し、まずは私だけで進めていこうと思っています。
(とりあえず掲示板終盤で指摘されていた誤字と、本体同梱版に合わせた文言訂正をしています。)

以上、Gitlab初心者の私が、突貫で始めたものですが、
知見はその他のプロジェクトにも活かしたいと考えておりますので、
純粋に皆さんからのご意見、アドバイスをいただけると幸いです。


以下検討内容。
おそらく参加しやすいように手引きを用意すべきなんだろうとは思います…が……。


≪運用≫
①修正点や課題を「イシュー」ページに入力していく。
②参加者は、「イシュー」ページに入力された内容の中から、自ら着手するものを表明する。
③現行developブランチの最新シナリオをベースに作業を行う。
④完了次第、リポジトリのdevelopブランチにプッシュする。
⑤ある程度まとまったらdevelopブランチの内容をmasterブランチに反映する。(管理者)
 ※必要に応じて参加者からマージリクエストを管理者に行う。
⑥masterに統合された時点で、完了している「イシュー」をクローズする。

・参加希望者は「Owner」「Maintainers」が承認する。
 ※参加者:「Developers」又は「Maintainers」のユーザ

・準備中の段階で、現時点でサンプルシナリオ改造プロジェクト用の掲示板等はありません。
・強いて言えば、Discordの戦国史サーバにそういった部屋は作りました。(蛛賢の独り言状態)

・masterファイルは別の場所での公開を検討します。(より一般的に目に留まりやすいところに)


以下備忘録。

≪プロジェクトの立ち上げ手順≫
グループの作成
プロジェクトの作成
masterブランチの作成(README.md、ベースとするリポジトリ等)
developブランチの作成(masterブランチからのコピー)
デフォルトブランチの設定(master→develop)
ブランチの保護(masterは管理者のみ、developは「Developers」Merge・Push可)
プロジェクトの公開
メンバーの募集

≪公開権限≫
プロジェクトの可視性:「公開」

イシュー:「アクセスできる人すべて」 … どんな課題があるかは公開していいと思うため。

リポジトリ:「アクセスできる人すべて」、それ以下は「プロジェクトメンバーのみ」
 … ダウンロード用ファイル置き場。それ以外は公開しない方が良いと思うため。

Analytics:「プロジェクトメンバーのみ」 … 公開する必要性を感じないため。

Requirements:「プロジェクトメンバーのみ」 … 公開する必要性を感じないため。

Wiki:「アクセスできる人すべて」 … 公開しても良いと思う。

スニペット:「プロジェクトメンバーのみ」 … 公開する必要性を感じないため。

ページ:「アクセスできる人すべて」 … 公開しても良いと思う。

Operations:「プロジェクトメンバーのみ」 … 公開する必要性を感じないため。

----

2021.1.31 awakさんの御助言を反映させました。ありがとうございます。
ちなみにawakさんが参加されているNMIHプロジェクトは、
構成ファイルが複数あるため、それぞれ作業を進めやすいようです。

戦国史は基本的に「シナリオ」と「マップ」のみですからね…
分業にはあまり向いていないかもしれません。
このエントリーをはてなブックマークに追加 mixiチェック

↑このページのトップヘ