投稿記事

(無)青島製菓 2022/09/06 21:50

RPGツクールでのシミュレーションゲーム制作 Vol.2 変数編①

こんにちは、あるいはこんばんは。青島清華です。

今回はちょっと早い更新です。(先月サボったので今月はちゃんと制作更新の報告をするつもりでもあります)シミュレーションゲーム制作の第2回ですが……


変数操作は難しい!

率直に言って、この記事を見るだけでいきなりシミュレーションゲームは作れません(笑)今持っているアイディアについていろいろと書きたい気もするのですが、実際に動く物を組み上げてからお見せしないと、問題が続出ということにもなりかねないので、より詳しく書いたものについてはまた機を改めさせてください。今回お伝えするのは「トレーダーでおまっ!」(以下本作)をどうやって作っていったか、ということについてです。

まず要素を書き出す

お見せしてしまうと、現時点(Ver.1.01)での本作の変数一覧です。実際には使っていないものや空白のままになっているものもあります。
変数、あるいはパラメータといった方が耳なじみがよい方もいらっしゃるかもしれませんが、ゲーム内で使われるさまざまな数値です。所持している資源の量だとか兵士の数とか現在の日付といった様々な数値を、項目名を付けて記録していくことができます。
以前どこかで書いたのですが探しません、RPGツクールの「変数」の機能、一度作り始めてしまうとあとから修正するのが面倒なので、(どうしても後から追加で必要になることはありますが)なるべく先にどういった要素が必要なのかを考えておいた方が楽です。自分の場合は紙に書きつけていくことにしました。

  • まず交易のゲームということが決まっていたので所持金と各資源の所持量・それぞれの星での相場
  • 宇宙船での移動を考えていたので燃料や燃費・貨物の最大積載量
  • 前回でも使った目的地・現在地
  • 初期段階から将来的な拡張を予定していたのでゲームモードや難易度の選択

といったことがメモ書きには書きつけてあります。交渉システム自体は最初から考えていましたが変数を用意していませんでしたw

また、現在制作中の作品(風呂田の冒険)でも利用しているのですが、確率で色々な計算をしたい時や、計算の記録として利用できるものがあった方がいい、というのが経験上分かっていたので、「乱数」や「参照値」の項目を用意しています。ゲームのデザイン次第ですが、複数の要素について、確率で判定し、しかも、お互いに影響せず独立しているような場合……、というと何のことやらかもしれませんが、「同じマップの中に宝箱が二つ以上あり、その宝箱が出るかどうかは宝箱ごとに確率を設定する」というような場合は、それぞれの項目を複数個用意しておく必要があります(例えば最大で出現する宝箱の数だけ)。そうでないと、出現がパターン化してしまうのです。今回はとりあえず一つずつで始めましたが、足りないときは適宜追加しました。

大まかな計算方法を考える

要素を粗方書き出したらそれがどのように動いていくのか、つまりどのような計算をしていくのか書き出していきます。そのためにはゲームのおよその流れを書いておく必要があります。本作の場合、①仕入れ→②移動→③販売→①に戻る、というのを繰り返すことにしていました。そして、それぞれの項目でどのような処理をしたりイベントを発生させるかも、メモしていきます。例えば、②では

  • ターン経過ごとの相場変動
  • 移動には燃料が必要
  • 時々敵と戦闘
  • (遭遇)イベント発生

といったことが書いてあります。
また、今作はそれほど変数同士の計算で複雑なことはしていないので割愛していますが、例えば「風呂田の冒険」の方では以下のような内政(もどき)があります。


初期案では「農業従事者数×農業技術×経過日数=(農業での)食糧生産」というようなことが書いてありました多分。実際にはここに一定の数値をかけたりして調整をしていますし、今後も変更があると思いますが、複雑な計算をする場合には、調整は後でいいので変数同士の関係は紙に数式を書くなどしてイメージした方がよいと思います。
本作では、計算自体は単純ですが、各星ごとに相場の傾向があったので、それについては先に決めて、表にしておきました。(青の星は水が特産でエネルギー資源が高く売れるなどなど)

「変数」以外も使えます!

さて、大体の設計図が出来上がったところで制作に取り掛かっていくわけですが、この「変数」、あるいはパラメータは、ゲームに備わっている「変数」の項目以外を利用することができます。例えば、

  • 「所持金」についてはパーティの所持金
  • 宇宙船の「耐久値」「燃料」については各キャラクターのHPとMP(項目名を変更)

この二つを本作では利用していますが、各キャラクターの能力値というのが案外使えると思います。
現時点では実装していませんが、本作では宇宙船の乗り換えができるようにしようかと思っています。RPGツクールではキャラクターに当たる「アクター」と「職業」が設定でき、同じキャラクターでも「職業」が変わると能力値も変化します。これを利用して、宇宙船の乗り換えをした時には「職業」を変更するようにし、耐久値や燃料、燃費もそれに合わせて変化するようにし、かつ必要な時に参照する値もキャラクターの能力値にしておけば、移動イベントなどの設定を変更することなく、新しい宇宙船を実装することができます。

応用編:戦略シミュレーション

各地に拠点があり、そこから部隊を出撃させて敵と戦うような戦略シミュレーションを作る場合、「拠点」または「部隊(の隊長)」を「アクター」で設定することが考えられます。後者の場合、部隊の種類(歩兵、騎兵、弓兵など)によって「職業」が変わるようにしておけば、能力値が変わります。また、HPを「兵力」、MPを「士気」などにしてMPを消費することで計略や強力なコマンドが使えるようにしておけば、RPGツクールのデフォルトの戦闘システムを利用して戦闘モードとすることもできます。これなら兵科ごとの相性や特殊コマンドなど、色々と設定することができるので便利です。しかし、問題は3以上の勢力が存在するようなゲームにした場合、必ずプレイヤーが関係しない戦闘が発生するので、その場合の戦闘をどのように処理するかなのですが……。このあたりのルール・処理が固まれば、サンプルゲームを作れそうな気がします。

ただし、「アクター」を利用する場合に注意が必要なのは、能力値の上限で

  • HPは9999
  • TPは100
  • 他は999

が限界になっています。一般的な「変数」の方は±99999999が上限と下限、「所持金」は0~99999999までとなっています。状況に合わせて使い分けるのがよいでしょう。
そして、「変数」を利用する場合は探しやすいような並び順にするのをお忘れなく。

これぐらいが固まってから、実際にPCでの作業をした方がよかったと思います。風呂田の冒険はあまり深く考えずに作り出したので結構大変でした(笑)。本格的なシミュレーションゲームを作る場合には、いくつか試作品を用意して、テストプレイをしたうえで本格的に開発するのがいいですね。そうです、それをしなかった私はバカですw

長くなってきたので今回はこの辺りで失礼いたします。それでは!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

(無)青島製菓 2022/08/22 21:04

RPGツクールでのシミュレーションゲーム制作 Vol.1 マップ編

こんにちは、あるいはこんばんは。青島清華です。

今回からしばらくRPGツクールを使ったシミュレーションゲームの制作についていろいろと書いていこうと思います。前回公開した「トレーダーでおまっ!」(以下本作)を題材に解説をしたり、やってみたいアイディアを書いていくつもりです。自分自身の備忘録やアイディアの整理を兼ねていますが、よろしければご参考に。(自分が使っているのはMZです)
一応、RPGツクールを触ったことがない人にもわかるように書いたつもりですが、少し説明を端折っている個所もありますのでご了承ください。

マップモードを作ろう!


というわけで、まずはマップについての解説です。
しかしRPGツクールシリーズをご存じの方は、疑問に思うはず。
「わざわざマップを作る必要ある?」
詳しくはツクール公式サイトで配布している体験版などを触っていただければ分かると思いますが、ツクールシリーズは(自分で通路や施設のレイアウトをデザインはしなければなりませんが)デフォルトの素材でマップを制作し、いくつか設定をすれば、そのままプレイヤーキャラがマップ内を動くことができるゲームを作ることができます。
しかし問題は、デフォルトの設定のままだと「マップ画面では自分で操作しなければならない」のです。すごろくを思い浮かべていただければよいかと思いますが、コマがマス目を無視してボード上を自由に動くことができるとゲームにならないので、今回はその点をどのように作るかの説明です。
これを利用するとどのようなゲームが作れるかというと、
  • 桃鉄やマリオパーティーのようなすごろく系のボードゲーム(ただし一人用w)
  • コーエーの三国志シリーズのような戦略シミュレーション
  • フィールド上のいくつかのポイントを自動で移動し、町やダンジョンの中では別のシステムに切り替わる(例:ファイナルファンタジータクティクス)

といったところでしょうか。通常のRPGでもフィールドを移動する時に、選択肢を表示した後ただ場面が切り替わるだけでなく、何か演出をしたり、イベントを発生させることができるようになります。特に本作では、戦闘の開始前に逃げるかどうかの確認を行い、逃走に失敗した場合は逃走不可能になるという仕組みにしていますが、ツクールのデフォルトのエンカウントシステムだとこれはできません。また、相手によって逃走成功率などを細かく調整することが可能です。さらに、組み合わせれば、アクションゲームの要素を追加することもできるので(制作は大変ですが)、どのようなゲームにするかはアイディア次第です。

まずはマップを作ろう

マップ自体はまず作らなければなりませんが、これは省略です(笑)
多少の融通は利きますが、後から設定し直すのは大変なので、先に作ってしまうことをおススメします。ちなみに、本作の宇宙マップはすべて通行不可の透明なタイル(パーツ)で、背景として宇宙空間のイラストを表示させています。

マップ画面での設定

まず下が実際の本作のツクールでの制作画面です。(公開用に中継地点のみ再配置ですが、位置は適当です💦)

やり方は色々とあると思いますが、今回紹介するのは
「イベントでプレイヤーキャラクターの移動を指定」方式です。

まず用意するのが、
①プレイヤーの現在地を格納する変数
②プレイヤーの目的地を格納する変数
です。
本作では①青②緑③赤④黄の4つの星の間を行ったり来たりしながら交易をするのですが、それぞれの星に1から4の数字を割り振っています。その上で、

①ゲーム開始時の初期位置を設定
       ↓
②移動先の目的地を選択
       ↓
③プレイヤーを強○的に移動
       ↓
④途中イベントがあれば発生
       ↓
⑤ ③④を繰り返し目的地に到着


というのがおよその流れです。

ゲーム開始時

ゲーム開始時のイベントなどで「現在地」の変数に設定を入れておきます。本作では「1」です。目的地は、この段階では何もしなくてOKです。

目的地選択

左がゲーム上に表示される画面、右がツクール内で実行されるコマンドです(実際には、これはそれぞれの惑星の中で行われていますが)。それほどたいしたことではありませんが、流れを説明すると、

①現在地ごとに条件を分ける
②マップ上に表示される現在地の場所に移動
③その場所ごとに移動先の選択肢を表示
④選択した目的地に対応する数値を「目的地」の変数に代入

ということをしていますいちいち設定するの面倒くさい。まあ、デジタルゲームの利点として、同じような構造の部分はコピペで簡単に量産できますし、場所を変更したい場合もカットアンドペーストですぐに修正できますから、慣れれば案外楽です。
条件をいくつか設定すれば、ストーリー進行などに合わせて隠しダンジョンに進めるようにすることもできます。

プレイヤーの強○移動&途中のイベント

マップ上で設定している画面です。「現在地」と「目的地」ごとに条件を分けて移動ルートを設定してあります。プレイヤーの操作に関係なく、強○的にプレイヤーキャラを動かしています。先ほどの制作画面上で「中継地点」というものを置いていたのは、この移動を行う時の目印で実際には空イベントです。当初は中継地点の上にプレイヤーキャラが到達した際に、中継地点の中で設定したイベントが起こるようにしていたのですが、ツクール側が強○的にイベントを踏ませた場合は何も起こらない仕様だったので、移動中の処理は専用のイベントで発生させています。
移動の間に入っているコモンイベント(共通処理)の「ターン終了処理」と「遭遇イベント」は、本作ではそれぞれ、「燃費分の燃料の消費と各地の相場の変動」、「乱数を利用した戦闘イベントなどの発生」を実行しています。
ちなみに、その間にある部分は「燃料切れが起きた時のゲームオーバーイベント」の処理で、もともとは「ターン終了処理」の中に入れていたものでした。しかし、コモンイベントとして処理をしてしまうと、マップが暗転したまま動かなくなってしまうので(おそらく、その後に続くプレイヤーキャラの移動処理を続けてしまっていたのでしょう)現在の場所に配置しています。また、「遭遇イベント」内には「隕石にぶつかって耐久値が0になった時にゲームオーバー」というものも入れてあります。


これは、プレイヤーが戦闘不能になることを許可していたからなのか、マップが切り替わった瞬間に何の演出もなくゲームオーバーになってしまっていたので、それへの対処です。コマンドの配置している場所を少し変えてやると、こちらの意図していたものとは全く違う挙動になったりするので、この辺りは丁寧に動作チェックをする必要があります。

以上のような設定を必要な分だけ作ってやれば「移動先を選択すると、プレイヤーキャラがマップ上を自動的に移動する仕組み」が出来上がります。

応用編:三国志シリーズ風の戦略シミュレーションの拠点画面


上は本作でのショップ画面のものです。上部に現在のステータスが表示されています。これはRPGツクールMZの公式プラグイン(拡張機能)の「ExtraWindow」というものを利用しています。詳細は省きますが、これを併用することで、三国志シリーズ風の戦略シミュレーションの拠点画面、正確には拠点のパラメータやコマンドを表示させつつ、拠点を切り替える、ということができそうです。例えば、
①マップはキャラがほとんど移動できない設定にしておく
②プレイヤーキャラは透明化
③特定の操作(例えばコントローラーのLやR、キーボードのQやWを押す)をした時に「現在地」の変数を変化させ、変化した「現在地」に対応する各種パラメーターの値をステータス部分に表示させる変数に代入
④プレイヤーキャラを移動(対象となる拠点の場所に暗転処理をなしにして直接移動、あるいは移動速度を高速化&すり抜け状態にしてプレイヤーキャラを移動)

このようなやり方で実現できそうです。戦略シミュレーションにする場合、RPGツクールで戦闘をどのように行うか、というのがまた別の問題となりますが、ターン制ならばたぶんできるのではないかと。(頑張ればリアルタイムでも出来るかもしれません)
また、通常のRPGでも地図から移動先を選ぶ場合、プレイヤーの現在位置のシンボルを表示させつつ、移動先の情報を出すこともできそうです。


長くなってしまいましたが、色々とやってみたいことはあるので、少しずつ書いていこうと思います。今回はこの辺りで失礼いたします。それでは!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

(無)青島製菓 2022/08/10 23:52

新作ができました!

こんにちは、あるいはこんばんは。青島清華です。

なんとなく、お分りいただける方は分かるのではないかと思いますが……。


これまでの制作報告してきたものとは
全く別の作品です(笑)


前回まで「制作が進まない(´;ω;`)」と言っていたのにそんな急には完成しませんよね。ということで(?)、全く別の簡単な作品を作りました。
タイトルは


「トレーダーでおまっ!」


です。また、センスがない元ネタの解説や制作経緯はフォロワーの方向けの記事で。

周回型交易シミュレーションミニゲーム

どちらかと言えばボードゲーム寄りの作品です。1プレイは10分から15分ほどが目安。
プレイヤーは宇宙商人となっていろいろな星の間を行ったり来たりしながら、商品を仕入れたりその商品を別の星で販売したりして、お金を稼いでいきます。
それぞれの星ごとに商品の相場が違うのでその差を利用してお金を稼ぐのですが、プレイヤーが移動したり商品の売買をするたびに少しずつ相場が変動します。このあたりの計算がアナログゲームだと面倒なので、デジタルゲームで作ってみたかったのです。
また時々イベントが発生して商品の価格が大きく変動します。(ただし、移動しないとその星での相場はわからないようになっています)


さらに移動中にもいくつかのイベントが発生します。それに合わせて宇宙船の耐久値や燃料が減っていき0になるとゲームオーバーなので時々、修理や補給をしなければなりません。

説明すると長くなるのですが、よろしければぜひプレイしてみてください。配信等ももししたいという奇特な方がおられればOKです。

ダウンロードはこちら

トレーダーでおまっ!Ver.1.01.zip (116.79MB)

ダウンロード

最新はVer.1.01です。(早速やらかしましたw)

今後の拡張について

サクッと作ろうと思い(ましたが動作チェックで時間がかかってしまったのでw)一週間ほどで完成したゲームです。なるべく繰り返しプレイできそうなものにしたいと思い、シナリオもゲームシステムもシンプルなものにしました。
ただ、システム自体に変更は加えませんが色々と拡張できることはあると思います。例えば、

  • 難易度の追加(それに合わせて各種数値変動の調整※ちなみに今回のものはイージーモード相当)
  • ゲームモードの追加(スコアアタックとタイムアタック、ストーリーモードなど)
  • 宇宙船の追加
  • 惑星(移動先)の追加
  • 商品の種類の追加
  • 遭遇イベントの追加(特に敵の種類)
  • アイテムの追加(遠隔地の相場の確認、相場の意図的な変動、宇宙船の装備など)

思いつくのは大体これぐらいなのですが、気が向いたときに進めようかと思っています。完成時期も特に考えていないですし、配布方法も決まっておりません。分量次第では有料にしたいなと思いますが……。

また、別の機会ですが具体的な数値は伏せつつも、どのような仕組みでゲームが動いているのか解説もしてみたいと思います。クリエーター向け記事にはなりますがよろしければそちらもお願いします。


今回はこの辺りで失礼いたします。それでは!
続きはフォロワープラン限定の記事で。

フォロワー以上限定無料

開発のきっかけ・裏話

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

(無)青島製菓 2022/07/27 22:20

制作雑記 Vol.5 制作が……(´;ω;`)

こんにちは、あるいはこんばんは。青島清華です。

えー、タイトルで大体お分かりの通り、制作は順調に遅れています😭
色々と用事があって、そもそも作業自体ができない日も数日あるにはあったのですが、それ以上にシナリオ部分で

「この先どんな展開にしようかなぁ」

と迷っていました。スランプと言えるほどの実績は全くありませんが、スランプみたいなものです……。

シナリオの作り方

あくまでも自分の場合、とさせていただきますが、大きなシナリオの流れ自体は最初に考えています。例えば、お城に向かう、洞窟に行く、魔王を倒すといったような一言で表せるぐらいの内容のチャート式のシナリオはすでに考えて、決まっているのです(時々変更もありますが)。しかし、具体的な会話やそのシーンに登場する人物というのをきっちりと決めた後に制作に取り掛かるわけではなく、作りながら「まあ、この人物はこういうことを言いそうだ」とか「この場面で活躍しそうなのはこのキャラだな」といったことを考えながら制作しています。
で、今回迷っていたのは後の方、具体的な会話や登場人物です。話の方向性は決まっていたのに、会話も登場人物も一切思いつかず……(笑)話の展開に無理があったのだと思います🤣なんとか、その後の展開につなげられそうなのですが、今度はダンジョンをどうしようかというところで、また思考中です。
かなり行き当たりばったりな作り方なのですが、やれるところから少しずつ作っていけばいいや、と思えるので気が楽です。また、ゲームの場合はキャラクターのイラストなどを見ながらいろいろと構想を膨らませることができるので、その部分に関しては小説よりも楽だと思います。ただこのやり方だと、前回の制作雑記で書いたようにいろいろと不都合があるので、次回作はもう少し構想を練ってから作り出したいのですが、いつになることやら……。


今回はこの辺りで失礼いたします。それでは!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

(無)青島製菓 2022/07/12 22:51

次回作の制作状況 Vol.10

こんにちは、あるいはこんばんは。青島清華です。
先月末の猛暑以来ダウンしていて、なかなか作業がはかどりません……。

次回作の制作状況

現在第3章の冒頭部分を制作しています。1・2章は施設・機能の解放イベントが色々あったのですが、3章以降については

  • 冒頭イベント制作
  • その章のボス相手の防衛戦
  • ボスのいるダンジョン制作
  • ボスイベント制作

の4つの繰り返しです。ボスキャラの(職業のような)属性を考えると、5章か6章で終わりそうです。サブイベントやバッドエンディングのイベントも作らなければいけませんし、アイテムやスキルの設定もありますが、とりあえず、全体像が見えてきたかな、ということで一安心です。体力がもうちょっとあれば、もう少し進んでいたのではないか、というのが悔やまれますが、年内には完成するように頑張ります!

登場人物紹介 その八


姉御肌な女商人。一応シナリオが進めばアイテムを販売してくれるようになるはずなのですが、そもそもゲーム内通貨の入手手段が限られているのに必要なのかなー、とは思ってしまいます。資源管理などで出番があるにはあるのですが、また別の作品で活躍してもらえれば(笑)

今回はこの辺りで失礼いたします。それでは!
続きはフォロワープランの方向けの記事で。

フォロワー以上限定無料

どなたでも加入することができます。

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

2 3 4 5 6 7 8

月別アーカイブ

限定特典から探す

記事を検索