開発日誌

テクニック

[ 天下御免!からくり屋敷 ] [ テクニック ] 不可視シンボルエンカウント

2011-10-17 23:20:54

引き続き和風ミニ(?)RPGの根幹システムを作成しています。

普段は見えないが接触すると戦闘に。

今回のゲームで導入してみたいのは、シンボルエンカウントだけど、敵シンボルの姿は普段は見えない、という方式。むかーしの「英雄伝説 I」のフィールド画面で採用されていたかと思います。

普通のシンボルエンカウントだと、ザコ戦を全て回避して進むことができますが、ボス戦などに臨むためにはそれなりに成長していなければならず、ザコ戦全回避では結局ゲームが成り立ちません。かといって普通のランダムエンカウントでは、適切なエンカウント率の調整が困難です。その点、この方式であれば、プレイする側の感覚としては、ランダムエンカウントに近いと思いますが、あっちへ寄り道して来ると1回エンカウントしている、みたいな絶妙なバランス調整が可能です。

気付かれた。逃げろー!

細かい仕様はいろいろ付けています。

  • 戦闘からは必ず逃げられるが、逃げた後はその敵シンボルが見えるようになって、追いかけてくる。
  • 一定範囲内に接近すると主人公を追いかけてくる。
  • 執拗に追いかけられても困るので、ある程度経つと追尾を中止する。
  • ある程度経つと消滅して、一定時間後に復活する。
  • 背後から接触された場合は不意打ちになる場合がある。
  • 狭い範囲に敵が固まってしまわないように、配置と移動範囲を調整する。
  • アイテムを使うと敵シンボルが見えるようになる。

けっこう良い方式だと思うのですが、採用しているゲームはほとんどないように思います。実はダメダメな方式だったらどうしようw

[ 天下御免!からくり屋敷 ] [ テクニック ] RubyでRubyを…

2011-10-08 14:11:23

数日間の苦闘の末、テキストにルビを振るシステムができあがりました!

和風RPGを制作する上では、どうしても難しい言葉とか固有名詞とかが出てきます。通常の西洋ファンタジーであれば、固有名詞はカタカナが中心ですし、ちょっと読めない人が多そうだと思った言葉は、簡単な言葉で置き換えたり、ひらがなに開いたりすることも可能ですが、和風だとそういうわけにもいきませんからね。「名刀こてつ」では攻撃力も半減しそうです。

いくつか既にルビ振りを可能にするスクリプト素材があるにはありましたが、ルビ振りのみで十分なのと、画面構成全体や文字表示など根幹の部分をいじるため、競合すると厄介なので、自力で実装しました。

ルビの分だけ1行の高さが変わりますし、会話メッセージだけでなく、アイテム名やモンスター名などもルビ振りをしたかったので(むしろそっちの方が重要)、かなり全シーンにわたって各ウィンドウの位置やサイズ調整が必要になりました。一瞬投げそうになったけど、やり始めてしまえば、思ったほど修正箇所は多くなかったかな。

というわけで、苦労の賜物↓

会話画面 ▲

装備変更画面 ▲

術選択画面 ▲

あとですね、一番の問題は、テキスト中にルビを入力するのが、けっこう面倒…。

[ ゲームリリース情報 ] [ 小さな大冒険 ] [ テクニック ] [ その他の雑記 ] プロジェクトファイル公開開始

2011-10-01 01:45:56

RPGツクール2000時代はゲームデータの暗号化がなく、エディターを持っている人にはゲームの中身が見られ放題でしたが、その代わりに上手いイベントの組み方などを参考にすることができ、ツクラー全体の技術力の底上げが叶っていたように思います。XPになって暗号化アーカイブが作れるようになったお陰で、ネタバレや改造されたり、素材やイベントをパクられたりする心配はなくなりましたが、他人のテクニックを参考にすることで互いの技術力の向上を図るという機会も失われてしまいました。まあ、どちらが良い悪いという話ではないのですが…。

小さな大冒険」は、自分の習作としての意味合いも込めて制作したので、グラフィックやストーリー展開などにはそれほど凝らず、イベントテクニックやバランス調整などに力を入れました。個人的には、内容の丸パクリや完全ネタバレ状態で進まれるのは困りますが、テクニックを参考にしてもらったり、あそこでもし「いいえ」を選んでたらどういう台詞が用意されていたんだろう?と中身を見てもらう分には大歓迎です。

というわけで、暗号化していない状態のプロジェクトファイルを公開することにしました。

「RPGツクールVX」本体をお持ちの方は、プロジェクトファイルを開いて中身をご覧いただけます。イベントやスクリプトの実装方法など、ぜひ参考にしてください。ただし、グラフィック素材やゲーム内容自体の盗用はおやめください。なお、「RPGツクールVX」本体をお持ちでない方には意味がありませんので、通常バージョンをご利用ください。

Vector」での公開も開始しました。今後ともどうぞよろしくお願いします。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 付加ステート発動確率設定スクリプト素材

2011-05-04 02:55:48

小さな大冒険」で使用しているRGSSスクリプトを、素材として提供していくシリーズ、第7弾。

RPGツクールVXでは、武器に「付加するステート」が設定でき、これで攻撃と同時に敵をマヒさせたり、混乱させたりといった武器を作ることができます。しかしながら、ステートの成功確率は相手のステート有効度のみに依存するため、デフォルトのCで60%の成功確率となり、ちょっと強力すぎる気がします。

そこで、付加ステート攻撃の発動確率を指定できるスクリプト素材を用意しました。

上記スクリプトを導入して、対象となる武器のメモ欄に、以下の指定文字列を記述します。

PANDA::StateProbability = n%

nには発動確率が入ります。なお、%を忘れずに付けてください。

例えば「PANDA::StateProbability = 50%」とすると、設定した付加ステートが50%の確率で発動します。したがって、対象者のステート有効度がC(60%)であれば、50%×60%=30%の確率でステートにかけることができます。

Game_Actorクラスのplus_state_setメソッドを再定義していますので、ここを改造しているスクリプトを導入している場合は、競合にご注意ください。

質問やアドバイスなどがあれば、コメント欄までお気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ ゲームリリース情報 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] アイテム発見イベント規格化スクリプト素材とサンプルミニゲーム

2011-04-27 00:32:00

久々の「小さな大冒険」で使用しているRGSSスクリプトを、素材として提供していくシリーズ、第6弾。

なんのこっちゃって感じですが、宝箱やタンス、タルなどを調べるとアイテムが見つかる、というイベントを簡単に組むためのスクリプト素材です。

宝箱であれば、「イベントの簡単設置」で簡単に設置することはできますが、後から入っているアイテムを別の物に変更する場合、アイテムを増減するイベントコマンドと、「○○を手に入れた!」というメッセージの表示の両方を修正しなければならず、面倒かつミスりやすいです。

そんな面倒なアイテム発見イベントを、簡単に作れるようにするスクリプトです。導入方法は以下の通り。

  1. 上記スクリプト素材を組み込む。
  2. アイテム発見のコモンイベントを作る。
  3. 宝箱やタンスなどをイベントとして設置する。イベント名を入手品のIDとし、アイテム発見のコモンイベントを呼び出します。

以下、詳しく説明します。

アイテム発見コモンイベント

先に、アイテム発見のコモンイベントを作成します。

イベントコマンドの「スクリプト」で、「PANDA_FindItem(n, m)」を呼び出します。(nとmにはそれぞれ変数の番号が入ります)

n番の変数にアイテムの種別(お金=1、アイテム=2、武器=3、防具=4、敵グループ=5)、m番の変数に入手品や敵グループのIDもしくは金額が取得されます。アイテムやお金の増減はスクリプト内で処理していますので、後は効果音などの演出や、入手メッセージを表示すればOKです。ミミックなど、敵モンスターを出現させる場合は、戦闘の処理が必要です。

また、メッセージ内で、「\item[x]」「\weapon[x]」「\armor[x]」「\troop[x]」と記述すると、x番のIDのアイテム、武器、防具、敵グループ名が表示できるようになっています。これを利用すれば、n番の変数に入っているアイテム種別で分岐させつつ、「\item[\V[m]]」(mは上で指定した変数番号)などとすれば、入手時のメッセージを表示させることができます。

イベント設置

コモンイベントを用意したら、実際の宝箱などのオブジェクトをイベントとして設置します。

「ページ1」は、入手前の状態を表しており、アイテム発見コモンイベントの呼び出しにします。「ページ2」は、入手後の状態を表しており、条件を「セルフスイッチAがON」にし、イベントコマンドには何も設定しません(もしくは「もう何もない」のメッセージ表示など)。

そして、イベント名を入手品のIDとします。アイテムの場合は「i + アイテムID」、武器の場合は「w + 武器ID」、防具の場合は「a + 防具ID」とします。例えば、「i1」ならば1番のIDのアイテムが、「w25」ならば25番のIDの武器が手に入ります。また、お金の場合は「g + 金額」とし、モンスターを出現させる場合は「e + 敵グループID」とすればOKです。

入手品を変更したくなったら、イベント名を変更するだけでOKですし、入手時の演出効果やメッセージを変更したくなったら、コモンイベントの方を変更すればOKです。

サンプルミニゲーム

はっきり言って、なんのこっちゃだと思いますので、実際のサンプルプロジェクトを用意しました。

ただのサンプルでは味気ないので、ちょっとしたミニゲームに仕立ててみました。

  • 部屋の中を調べて、ダンナの浮気の証拠を探しましょう。
  • 浮気の証拠だけでなく、便利アイテムや装備品、ストレス解消に役立つ道具もあります。中には怪物が潜んでいる場所も…。
  • 探せるチャンスは10回です。10回調べ終わると、ダンナが帰ってきます。
  • それまでに入手したアイテムによって、エンディングが変わります。
  • エンディングは全部で10種類。ハッピーエンドを目指してがんばってください!

ダウンロードした「FindItem.exe」をダブルクリックして解凍してください。解凍されたフォルダの中にある「Game.exe」をダブルクリックして起動すると、ゲームがスタートします。「RPGツクールVX」をお持ちの方は、プロジェクトとして開くと、実際にどのようにイベントが組まれているかを確認することができます。ご利用の際の参考にしてください。

プレイするためには、「RPGツクールVX RTP」が必要ですので、お持ちでない場合は別途インストールしてください。

バグ報告、ご質問、ご要望等は、お気軽にコメント欄までどうぞ!