忍者ブログ
windowsやブラウザ のゲーム作ったりとか。
この記事は、ツクールアドベントカレンダー2024の23日に参加しています。

おひさまクラフト
さんのSRPGギアは
RPGツクール(RPGMaker)でSRPGを作るための公式素材です。
初歩的な使い方をまとめました。
SRPGってなんじゃらほいって方は
拙作の「SRPGギルド5-決戦前夜-」(ブラウザゲーム)を遊んでみると分かりますよ。

SRPGギアは、MZ用だけでなくMV用もあり、基本はほぼ一緒だと思います。

また、SRPGギアには、ユーザー同士の情報交換及び、作者さんのサポートを受けられるフォーラムが存在します。(コメントするにはログインが必要です)
困った時には、SRPGギアのフォーラムを活用しましょう。

さてそれでは、最初の一歩を始めましょう。
初心者は、いきなりまっさらなプロジェクトから作り始めず
サンプルプロジェクトに、ステージを追加する形で使い方を覚えるのが良いでしょう。

と、いうわけで、まずおひさまクラフトさんちに行って
サンプルゲームをダウンロードしてください。

サンプルに同梱されている規約(はじめにお読みください.pdfとSRPGgear_read_me JP.pdf)をよく読んで、納得したらサンプルゲームのプロジェクトを開いてください。

まずは、基本中の基本敵を全滅させたら勝利というステージを作ってみよう。

適当な大きさのマップを新規作成し、適当なマップをデザインします。
サンプルゲームの「stage1 薬草を探して」から001~012番までのイベントをコピペします。
001~006までがゲームの進行を管理するイベントで
007~012までが、プレイヤーキャラの配置イベントになります。
ちなみに、008~012までは同一イベントなので
008を戦闘参加可能人数分だけ配置するといいです。

敵がいないとすぐゲームオーバーになるので、014番の敵イベントもコピペしよう。

001番は、戦闘開始時のイベントです。
ここで、戦闘開始時の会話や、メニュー画面から参照するための
勝利条件の設定などを行います。
文章を指定するだけで、実際の勝利判定は006番の「ユニット行動後の処理」で行います。
とりあえず、メイドさんのセリフは全カットし、例文にそって条件を編集しましょう。
このイベントが終わると、「戦闘準備画面」が表示されます。
戦闘準備画面では、この戦闘に参加するメンバーを選出することができます。

「001戦闘開始時の処理」 入力例


002番はアクターターン開始時の処理です。
「◆コモンイベント:アクターターン開始演出」 以外は不要なので削除します。
表示演出を変えたい場合は、コモンイベントを編集します。

003番はエネミーターン開始時の処理です。
002番と同じです。

004番はターン終了時の処理です。
数ターン経過でゲームオーバーとか、増援とかのイベントに使います。
今回は何も入力しなくてOK。

005番は戦闘前の処理です。
攻撃などの行動を行う直前に、会話をしたいとかに使います。
今回は何も入力しなくてOK。

006番はユニット行動後の処理です。
はい、ここに敵が全滅してたら勝利、味方が全滅してたらゲームオーバーという処理を入れます。

007番はアクターIDを指定して、戦闘に参加するメンバーの配置位置を指定します。
つまり強制参加メンバーということですね。
全員強制参加にさせたい場合は、全員ID指定にするとよいです。
配置した数だけ、戦闘に参加できます。

008~012番はメンバーの並び順に戦闘に参加するメンバーの位置を指定します。
自由参加枠で、戦闘開始前の準備画面で参加者を変更できます。
配置した数だけ、戦闘に参加できます。

014番は敵キャラの配置になります。
指定したエネミーID(データベースのエネミー)の情報が反映されます。

ここまでできたら、ステージは完成です。
一旦テストプレイで問題がなければ、このマップはひな型として保存
コピペしたマップから編集を再開すると良いでしょう。

テストプレイをするために
通常のマップから戦闘のマップに移動するイベントを作る必要があります。

適当なマップを作成し、プレイヤーのスタート位置に設定します。
ステージへの移動用のイベントを作成しましょう。
基本的には、マップへの移動イベントとプラグインコマンドで戦闘開始を指示するだけです。
移動位置については、移動位置にカーソルが表示されるので
戦闘マップの「001 戦闘開始の処理」イベントで会話を入れているなら
会話をするキャラの位置に指定するか、会話がないなら参加メンバーの誰かの位置に指定するのが良いでしょう。

「戦闘マップへの移動」イベント 入力例


これで、基本は完成です。
後は、ヘルプを読みながら自分の作りたいものを作るといいです。

プラグインのヘルプ画面で右クリックすると、ワード検索ができるので
サンプルのデータベース等のタグやイベントスクリプトが何を意味しているのか
わからないなーって時は、ワードをコピペして検索するといいよ。

SRPGギアMZ はじめの一歩、これにて終了。
SRPGがもっともっと増えますように。



オマケ こんな時どうする?

Q:戦闘準備画面をスキップしたいステージがあるんだけど?
A:プラグイン「SRPG_BattlePrepare_MZ」のプラグインコマンドで
 準備画面を無効にするコマンドを、戦闘マップに移動する前に実行します。
 そもそも準備画面まったく使わない場合は、プラグインごとOFFにしてもよい。

Q:攻撃時などに戦闘画面に移動しない(戦闘シーンスキップ)でマップ上で攻撃アニメーションを表示したい
A:プラグイン「SRPG_core_MZ」のパラメータにマップバトルの設定があるので
 好きな設定に変更する。

Q:途中から敵を増やしたい
A:プラグイン「SRPG_core_MZ」のプラグインコマンド「ユニットの追加(増援)」を使う方法は、「stage1 薬草を探して」の「006 ユニット行動後の処理」にサンプルがあります。この方法は、事前に敵キャラ用のイベントを配置しておく必要があります。仲間キャラを増やしたい時もこちらの方法ですね。
 もう一つ、召喚する方法は、「stage2 不死の大穴」の「アクターターン開始時の処理」にサンプルがあります。イベントコマンドのスクリプトで指示します。この方法は、ターン毎に敵が増える等、増援数が不確定な場合に便利です。また、償還用マップに敵キャラを作成しておく必要があります。プラグイン「SRPG_Summon_MZ」のヘルプに使い方が載っています。
 特定の場所までプレイヤーがたどり着いたら増やしたい場合は、「stage3 邪神復活」の「006 ユニット行動後の処理」にサンプルがあります。この方法は、リージョンを配置してプレイヤーがリージョンの上にいるかを調べて増援するかを判定します。

Q:敵を全滅させる以外の勝利条件を作りたい
A:アイデア次第で色々作れます。
 サンプルの「stage1 薬草を探して」では、「薬草を指定数集める」事。
 これは、宝箱などの薬草を入手するユニットイベントを配置して
 そのマスの上で行動を終了すると、変数に加」算するようにイベントを作ります。
 「006 ユニット行動後の処理」イベントに、変数が一定数になったら
 戦闘を終了させるイベントを入れます。
 サンプルの「stage2 不死の大穴」では、「特定の敵を倒す」事。
 これも「006 ユニット行動後の処理」イベントに
 特定の敵が生きているかどうかを判定する処理を入れています。
 特定の仲間が死んだとき、も同様です。
 「特定ターンまでにクリア」は、普通に敵全滅でクリアに設定した後
 「004 ターン終了時の処理」に、ゲームオーバーにしたいターン数+1の数値で条件分岐すると良いです。

Q:スキルの射程・範囲設定の仕方が良くわからない
A:データベースのスキルを編集します。
 プラグイン「SRPG_core_MZ」のヘルプを開き「スキル」で検索すると
 使用可能なタグの説明を読めます。
 また、みなみよつばさんの動画もお勧めです。

Q:トラップを仕掛けたい
A:takachanさんの講座がお勧めです。

Q:ワープ先を作ってワープさせる魔法を作りたい
A:takachanさんの講座がお勧めです。

Q:特定の敵だけ、戦闘BGMを変えたい、会話したい
A:サンプルの「stage3 邪神復活」の「005 戦闘前の処理」にサンプルがあります。
 サンプルでは、会話をするだけですが、戦闘BGMの変更にも使えるでしょう。
 プラグイン「SRPG_core_MZ」のプラグインコマンド「行動中/対象のイベントか判定」を使用します。

拙作の「SRPGギルド5-決戦前夜-」(ブラウザゲーム)で使われているルールで
再現方法わかんないよってのがあったら、コメントくれたら教えますよー。

拍手[4回]

PR
この記事は、ツクールフォーラムアドベントカレンダー2021に向けて書いたよ。

「踏むとダメージを受ける罠」
あれです、床からトゲが出たり入ったりするやつ。

上にのってるのにダメージを受けなくてどうしよう?
っていう質問を時々見かけるので
作例を公開しようと思います。

<用意するもの>
スイッチ・・・1つ(並列処理用)
変数6個・・・プレイヤーX座標取得用
       プレイヤーY座標取得用
       リージョンID取得用
       歩数の取得用
       前回の歩数を覚えておく用
       ループ回数カウント用
リージョン・・・1つ
       (マップ変種画面のタイルセット表示枠の
        ABC…RのRがリージョンタイルです。
        リージョンとは、敵の出現エリアを
        設定するのが主な役割ですが
        とても幅広く活用できる便利なタイルなのだ!)

<ざっくりとした制作の流れ>
罠の絵を表示するだけのイベントと、ダメージを制御するイベントを作り
足元のリージョンと罠の絵の状態を判断してダメージを与えます。

<制作の手順>
①罠を置きたい場所をリージョンタイルで塗る。
 何番でもいいのですが、とりあえず、8番にしておきます。

②罠のアニメーションを表示するだけのイベントを作成する。
 アニメーションは、自律移動のカスタムで行います。
 大体こんな内容です。
-----------------
:        :◇左を向く
:        :◇ウェイト:3フレーム
:        :◇スイッチON:0002(ダメージ診断開始)
:        :◇右を向く
:        :◇ウェイト:3フレーム
:        :◇上を向く
:        :◇ウェイト:60フレーム(とげが出た状態で長めに停止)
:        :◇右を向く
:        :◇ウェイト:3フレーム
:        :◇スイッチOFF:0002(ダメージ診断終了)
:        :◇左を向く
:        :◇ウェイト:3フレーム
:        :◇下を向く
:        :◇ウェイト:60フレーム(とげが出てない状態で長めに停止)
-----------------

③上記の罠をコピペして、リージョンタイルの上に配置。

④ダメージ制御用のイベントを作成。邪魔にならなくて忘れ去られない場所に設置。

⑤制御用イベントは、ダメージ診断開始用のスイッチがONになったら
 起動する並列処理です。
 大体こんな内容です。
-----------------
◆変数の操作:#0008 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0009 プレイヤーY = プレイヤーのマップY
 ↓上記で取得した座標のリージョンIDを調べます↓
◆指定位置の情報取得:リージョンID, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:リージョンID = 8
 ↓リージョンの上にプレイヤーがいる場合の処理です↓
 ↓自由にダメージを演出してください       ↓
  ◆画面のフラッシュ:(255,0,0,102), 20フレーム
  ◆SEの演奏:Bite (90, 100, 0)
  ◆HPの増減:パーティ全体, - 10 (戦闘不能を許可)
  ◆ウェイト:10フレーム
 ↓上に乗り続けていたらダメージを受けたいけど        ↓
 ↓このままだとダメージが入りすぎるのでウェイト処理を作ります↓
  ◆変数の操作:#0011 カウント = 0(ループ回数を数える)
  ◆変数の操作:#0007 前の歩数 = 歩数(基準となる歩数を取得)
  ◆ループ
    ◆変数の操作:#0011 カウント += 1
    ◆変数の操作:#0001 歩数 = 歩数(現在の歩数を取得)
    ◆条件分岐:歩数 ≠ 前の歩数
   ↓プレイヤーが移動していたら、ループを終了↓
      ◆ラベル:中断
      ◆ループの中断
      ◆
    :分岐終了
    ◆条件分岐:カウント = 6
  ↓60フレーム経過しても、ループを終了↓
      ◆ラベルジャンプ:中断
      ◆
    :分岐終了
  ↓ループ終了のフラグがたってなかったらウエイトを追加↓
    ◆ウェイト:10フレーム
    ◆
  :以上繰り返し
  ◆
:分岐終了
-----------------

以上です。簡単だね!     

トゲ以外でも、例えば「毒の沼地」でも触れている間はダメージを受けたい
っていう時に使えるよ。

やり方は千差万別、他にもいろいろあると思うから考えてみてね!
おしまい!

ちなみに2000の頃は、罠に乗るとダメージを受けた後ノックバックするのが
多かったように思います。
ずーっとノックバックしていって、最終的に罠の外に追い出されます。
そういう昔ながらの罠も良いんじゃないかしらと思ったり。

拍手[1回]

この記事は、ツクールフォーラムアドベントカレンダー2021に向けて書いたよ。

脱出ゲームにもいろいろありますが、代表的なのは2種類かな。
まず、どっちの形式のゲームを作るかを考えます。

A、クリックタイプ(例:Welcome to the secret house!

B、見下ろしタイプ(例:サンタの脱出


RPGツクールで作るなら、Bタイプが作りやすいですね。


①物語は後付けでいい。

物語の合間に脱出したい、というのでなければ
脱出ゲームには基本的に物語は必要ないとです。
ただ、最初に理由と結果を考えておくと
仕掛けのバリエーションや方向性が安定するので
考えておくと良いです。


②アイテムの使用は、自動で行うか、アイテムウインドウを表示して
 選択するかを決める。

 Ace以降には、アイテム選択という便利なイベントコマンドがあるので
 これを活用すると良い。


③何をしたら脱出できるかを考える。

例えば、最後のカギを入手したら出口を開けることができる。
と目標を決めます。


④目標を達成するためにする事を考える。

最後のカギを手に入れるためには、2つに割れたカギを修復する必要がある。
等です。


⑤④を必要なだけ繰り返す。

鍵の断片を入手するために、小さな鍵が必要とか。
ミニゲームをクリアしたり、クイズに答えたりとか。
箱を所定の位置に動かしたり、ミニゲームのための駒を集めたり
隠されたヒントを全部見つけると、答えがわかったり。
どんな仕掛けを作るかは、アイデア次第。


⑥アイデアをまとめる。

後で考えた仕掛けの方が、前に考えた仕掛けより難しい場合があるので
最初の方がやや見つけやすく、徐々に難度が上がっていくよう
出題のバランスを調整する。


⑦考えた仕掛けやアイテムを配置するために必要なマップを作ったり
 必要なアイテムをデータベースで作成する。

仕掛けに必要な素材なども用意する。
メニュー画面とかも考える。
MV以降は、メニューコマンドのどれを表示するかを
選択できるので、活用する。
デフォルトのメニューをOFFにして
選択肢でメニューを表示する方法もおススメ!


⑧イベントを配置し、テストプレイをして完成。

余裕があれば、本筋に関係ない遊び要素を入れると楽しいよ!
手に入れたかどうかでエンディングが替わるアイテムがあるとか
コレクションアイテムがあるとか。
作者の恥ずかしい秘密が暴露されるメモがあるとか。


⑨物語と脱出を絡める一般的な手法。

あちこちに、手記の切れ端などが落ちていて
徐々に物語の背景が明らかになっていくとか。

キーアイテムを入手するごとにイベントが起きるとか。
お化けが追いかけてくるとか。

これらは、脱出パート完成後にいくらでも追加できるので
余裕があれば、付けるとよいよ!


おしまい!

Aタイプの作り方も基本はBタイプと同じだよ!
画面のデザインをどうするかとかを考えなきゃいけないだけだよ!
それでは良い脱出ライフを!!

拍手[8回]

このレポートは、ツクールフォーラムアドベントカレンダー2021向けに作成しました。

RPGツクールMZには、キャラクタージェネレータが付いています。
男性、女性、子供の3種類が作成でき、それぞれ専用の素材が入っています。
でも、子供用の装飾品を男性や女性にも使いたいなーって思うこともある。
その逆も然り。
その時に、どうやって目的の素材を目的のフォルダにコピペするかを調べてみました。

実はそれ系の講座はすでにムノクラさんが書いてくれてるので
そちらを観覧するだけで十分なんですけど・・・
RPGツクールMZのキャラクター生成(キャラクタージェネレーター)素材の追加方法
RPGツクールMVの以下同文

まあ、実際やってみるっていうことで。
この先へ進む前に一通り目を通しておいてね。
今日使用するのは、RPGツクールMZの方なのでご注意ください。

-----------------------------

では、今回子供用素材から大人用素材にコピペするのはこちら!
MZのこの眼帯素材をコピペするよ!

①まず、ムノクラさんの講座を見て、ジェネレータ素材の入ったフォルダを
丸ごとバックアップ取ります。
これは絶対やってね! 失敗すると再インストールになるからね)

②眼帯素材を探しましょう。
「Face」フォルダの中の「Kid」フォルダを開きます。
 エクスプローラの表示方法を「大アイコン」とかにしておくと探しやすいよ。
FG_AccA_p08_c1_m013.pngってファイル名のようです。

②とりあえず、これを同じフォルダの中か、作業用フォルダを作成してコピペします。
 コピペしたFG_AccA_p08_c1_m013.pngの「p08」の部分を「kid08」に変更します。
 別に他に自分が分かりやすい名前でも構いません。
 これ以降の素材ファイルも、同様に「p08」の部分を同じ名前に変更しますので
 置き換える名前を忘れないようメモってね。
このファイル名の変更方法は、RPGツクールMVでは使えないので気を付けて
 MVの場合は、「p08」を「p108」とか数字だけ変更します)


③名前を変更したら、「Face」フォルダの中の
 「Female」と「Male」フォルダにそれぞれコピペします。


④「SV」フォルダの中の「Kid」フォルダを開きます。
 AccA_p08って名前が入ったpngファイルを探します。
ファイルが2つありますね。

 「_c」がついてる方は、色を変更するためのファイルです。

 では、両方ともコピーして
 Faceの時と同じように、「p08」の部分を「kid08」に変更し
 「SV」フォルダの中の
 「Female」と「Male」フォルダにそれぞれコピペします。


⑤「TV」フォルダの以下同文。
これも2つありますね。
 両方コピーして以下同文。


⑥「TVD」フォルダの以下同文。

 はい、これも二つともコピーして以下同文。


⑦最後は、「Variation」フォルダの以下同文。

 はい、以下同文ですよ。


⑧RPGツクールMZを起動し、キャラクタージェネレータを開きます。
 
 大人用の「装身具1」に眼帯が増えてるのを確認します。
 わーい、増えたね!

 でも、ちょっと待って? なんか変じゃない?
 フェイスはいいけど、歩行グラやバトラーの眼帯、位置ずれてるよ?
 そりゃそうだ、子供用だから位置が低いんだ!
 というわけで、何かグラフィックを編集するソフトを使うよ。


⑨グラフィック編集ソフトを使って、SVとTVのファイルを開き
 ちょっとだけ、上にずらすよ。
 
 TV用は2つとも、上に4ドットくらいずらすといいよ。
 SV用は2つとも、以下のような感じに位置を調整するよ。


他のフォルダの眼帯は、位置をずらさなくてOK。
これで、子供用の眼帯を大人用に移植できました。
おしまい。

やり方を覚えたら、装身具系は、大人用から子供用へも
流用できるから便利だよ!


実際に素材を追加してみて感じたこと。

追加素材は、「Variation」のファイルに名義か印をつけてくれたら
デフォルトかどこかの素材か、一目でわかっていいなーと思いました。
今回は子供用のをコピペしたので身長差で追加素材とわかります。


オマケ

女性用装身具2の09番をヘアバンドだけにした素材と
今回のレポートで作成した子供の眼帯の改名素材を配布します。
参考にしてみてね。
尚、この素材はRPGツクールMZの正規ユーザーさんのみご利用いただけます。
 ★オマケ素材のダウンロード
※エクスプローラを2重起動して
 片方はコピー元、片方はコピー先を開いて
 コピペ作業をすると多少は楽ですよ。
 一応、一括コピペ対応フォルダ形式のも入れてありますけど。

拍手[8回]

前回までのあらすじ。

アツマールのバカゲーコンテストに、ニコ生ゲーム賞なるものが登場したので
ニコ生ゲームについて、調べてみた。
なお、ニコニコ自作ゲームフェス2021にもニコ生ゲーム賞があるそうだ。
Akashic Engineというものを使って作るそうだ。

サンプルに毛が生えただけの処女作がこちら

そしてついに、オリジナルのミニゲーム作ったよ!
15秒間に動くハートに何回タッチできたかを
ランキングで競うゲームだよ!

ハートにタッチ」遊んでね!

ユーフルカさんの各種素材をお借りました。
ありがとうございます。

処女作でできなかったタイトルの演出は、結局自力では無理と判断して
公式さんに教えてもらったので、ばっちりです!

方法はとても簡単だったけど、私は可能性から除外していた方法だったので
目からうろこが落ちました。

定期的に処理を実行する、を使えばよかったのでした。

一応、機能確認で命令文自体は試していましたが、使い方が違っていたのでした。
321とカウントしてゲームを開始する具体的な作例は、以下の通り。

scene.setInterval(function () {
   if (残り秒数が 0) {
     // 繰り返し解除
     // ゲーム本編の処理(エンティティ生成など)
   } else {
     // 残り秒数を表示
     // 残り秒数を1減らす
   }
}, 1000); // 1000ミリ秒(1秒)おきに繰り返し処理

とのことで。

クリックしてからカウントを始めるには、もうちょっとひとひねり必要なのですが
私は以下の方法でつくりました。

クリックできるエンティティを作成
上記の秒数をカウントする変数を操作して、カウントを始めるようにする。
else の内容である、秒を減らす処理もif文で制御。

これで、クリック待ちのウエイトや、開始のカウントダウンのウェイトができました。
公式さんありがとうございました。

スクリプトの勉強せずに作れるのはここまでかな。
基本的な命令文だけでもアイデア次第で色々作れそうなので
もし興味を持ったら、とりあえずチャレンジしてみてね。

拍手[0回]

広告枠
アクセス解析

ATOM  
ATOM 
RSS  
RSS 


ソフトウェア制作講座





Copyright ©   YUWAKA'S SOFT   All Rights Reserved
Design by MMIT / TemplateB3  Powered by NINJA TOOLS
忍者ブログ [PR]