開発日誌

すべての記事

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 戦闘アニメの位置を敵ごとにずらす

2024-04-14 12:28:20

戦闘アニメーションの表示位置(オフセット)を敵キャラごとに変えられるようにするプラグインを作成しました。

RPGツクールMZのEffekseerによるMZ標準アニメーションにのみ対応しており、MVやMV互換アニメーションには非対応です。

RPGツクールMZのアニメーションは、表示タイプが「対象ごと」の場合、対象キャラクター画像の中央に表示されるようになっています。

しかし、空中を飛んでいて本体が上にある敵や、武器を持っていて身体が左右に寄っている敵キャラ画像の場合、戦闘アニメーションが敵キャラ本体の中心からズレて表示されてしまいます。

▲ 本体が右に寄っているため矢が当たっていないように見える

▲ 空中を飛んでいて本体が上にあるため刺さっていないように見える

実際には、MZのアニメーションは大きめに作られており、また表示されるのも一瞬なので、そこまで気になるものではありません。

そうは言っても気になり出したら止まらないのが世の常。できることなら、こういう細かい部分にもこだわっていきたいところです。

RPGツクールMZ標準のEffekseer仕様によるアニメーションには、「オフセット」という縦横方向に表示位置を調整できる設定が存在します。しかし、これはアニメーションを常にずらして表示させるための機能で、これを敵ごとに変えることはできません。

そこで、このオフセット値を敵ごとに変更できるようにするプラグインを作成しました。

このプラグインを導入して、敵キャラのメモ欄に、例えば <animationOffsetX29:70> と記述すると、この敵キャラに対してID29番のアニメーションは、横方向に+70ドット、すなわち右に70ドットずれて表示されるようになります。

メモ欄への記述は以下のようなメタタグが使用できます。

<animationOffsetX:n>
対象となりうる全てのアニメーションを横方向にnドットずらします
<animationOffsetY:n>
対象となりうる全てのアニメーションを縦方向にnドットずらします
<animationOffsetXm:n>
IDがm番のアニメーションを横方向にnドットずらします
<animationOffsetYm:n>
IDがm番のアニメーションを縦方向にnドットずらします

▲ 本体の中心に矢が当たるようになった

対象となりうるアニメーションは、表示タイプが「対象ごと」のもののみで、表示タイプが「全対象の中央」や「画面の中央」となっているアニメーションは指定が無視されます。右クリックの「MV互換データの作成」で作成できるMV互換アニメーションも対象外です。

アニメーション自体にオフセットが設定されている場合、そこにさらに設定したオフセット値が加算されます。すなわち、例えばアニメーション自体のオフセットが100で、そこに本プラグインで200と指定した場合、加算されて300のオフセットが適用されます。-150と指定した場合は差し引き-50のオフセットとなります。

IDで個別にオフセット値が指定された場合は、対象となりうる全てのアニメーションへのオフセット値は無視されます。すなわち、例えば <animationOffsetY:50> <animationOffsetY66:100> が指定されていた場合、66番のアニメーションのオフセットYは、両者を足して150とはならずに、個別指定の方の値のみが適用されて100となります。

本体が敵キャラ画像の中心になかったり、「秘孔を突く」みたいなスキル(例えが古い)で特定部位にアニメーションさせたい場合などには役に立つかと思います。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] ダミーイベントと重なる位置でも飛行船を下りられるようにする

2024-04-04 00:38:01

RPGツクールのデフォルト機能では、イベントと重なるような位置では飛行船から下りることができない仕様になっています。

確かに、キャラクターの頭上に下りられたり、町や城への移動イベントが仕込んであるところに下りられても不便なので、この仕様自体は妥当です。

しかし、マップ上に設置するイベントの中には、ランダム移動するキャラの移動範囲を制御するためのイベントや、マップ上の変化を表すためのタイルイベントといった、具体的な中身のないイベントも設置され得ます。こうしたダミーイベントの上にも下りられないのは不便です。

そこで、ダミーイベントのような実質的な意味を持たないイベントであれば、重なった位置でも飛行船から下りることができるようにするプラグインを作成しました。

RPGツクールMV/MZ、どちらにも対応しています。

具体的には、以下のいずれかの条件を満たしたイベントであれば、重なった位置でも飛行船から下りられるようになります。

  • 「すり抜け」がONになっている
  • プライオリティが「通常キャラの下」かつ実行内容が空である

実行内容が空というのは、注釈も含めてイベントコマンドが1行も登録されていないということです。

乗り物への乗降開始時や完了時、また乗り物から下りられない時に、指定したコモンイベントを実行させるプラグインである「乗り物コモンイベントプラグイン(PANDA_VehicleCommon.js)」と併用する場合は、本プラグインを「PANDA_VehicleCommon.js」よりも上に配置してください。逆に配置すると、飛行船から下りられない時のコモンイベントが正しく発動しません。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 乗り物の乗降時等にイベントを実行

2024-03-24 16:15:55

乗り物への乗降開始時や完了時、また乗り物から下りられない時に、指定したコモンイベントを実行させるプラグインを作成しました。

RPGツクールMV/MZ、どちらにも対応しています。

小型船・大型船・飛行船といった、乗り物への乗り込みを開始した時と乗り込みが完了した時、および乗り物から下り始めた時と下り終わった時、さらに障害物などがあって乗り物から下りられない時に、指定したコモンイベントを発動させることができます。

コモンイベントはプラグインパラメータで指定することが可能です。

プラグイン自体に発動条件を設定する機能はありませんので、特定の条件でのみコモンイベントを起動させたい場合は、コモンイベントの方で条件分岐を行ってください。

乗り物は小型船・大型船・飛行船それぞれで指定することが可能です。特定の項目にはコモンイベントを指定しないことも可能ですし、同じコモンイベントを複数の項目に設定することも可能です。

Yana様の作成された「ビークルコモン(VehicleCommon.js)」というプラグインをベースに、機能を追加して作成しました。この場を借りて御礼申し上げます。

乗降時にシステム的な設定を行ったり、乗った直後に会話イベントを自動実行したりすることが可能になります。

また、下りられない場所で下りようとした時にメッセージを出すといったことも可能になります。特に飛行船は、下りられる場所か否かの区別が一見難しいこともあるため、メッセージを出してやると親切でしょう。

並列処理のイベントでどの乗り物に乗っているか(あるいは乗っていないか)によって条件分岐すれば、プラグインを使わなくとも同じような処理を実装することは可能ですが、隊列歩行メンバーの移動や飛行船の降下などにより乗り物への乗降の開始と完了は微妙にタイミングが異なることや、下りられない時にイベントを動かすのは難しいことから、プラグインを作成しました。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] メッセージのウェイト無効化を無効化

2024-01-16 21:46:31

RPGツクールMZの最新バージョンとなるVersion 1.8.0がリリースされました。

開発部からのリリースノートを見る限り、ピクチャの設定でX,Y座標を表示したり、方向キーで移動させたりできるなど、いくつか便利機能が加わったようです。

が、その中に1つ、既存のプロジェクトに大きな影響を及ぼしそうな機能が。

決定キーを押している間のイベントの倍速処理の実行中に、メッセージのウェイトを無効化するように改善しました。

イベントの実行中、決定キーを押しっぱなしにしている間は、イベントの処理速度が倍速になるという機能があります。

キャラの動きやメッセージの表示速度など全て倍速になるので、テストプレイ時や簡易的なイベントスキップ機能として役に立つ機能ではあったのですが、「文章の表示」の制御文字で1秒ウェイトの\|と1/4秒ウェイトの\.については倍速処理されないため、メッセージ中にこれらのウェイトを多用していると、結局そこで待たされるという現象が発生していました。

メッセージ中のウェイトの多用は、プレイヤーをイライラさせる制作者がやりがちな失敗例としてよく言われるため、そのウェイトが倍速処理でスキップできるようになったのは好ましいことである反面、既存のプロジェクトでメッセージ中のウェイトを用いて、イベントの動きの制御を行っているようなケースでは、タイミングがずれてしまう可能性もあるため、注意が必要です。

というわけで暫定的に、メッセージのウェイトを無効化する機能を無効化(ややこしい)するプラグインを作成しました。

このプラグインを導入すれば、決定キー押しっぱなしでイベントの倍速処理をしている最中も、メッセージ中の制御文字によるウェイトは有効のままになります。

※ 2024-01-17追記:スイッチでON/OFFの切替機能を実装しました。

そもそもウェイトの多用は好ましくなく、通常はスキップできて然るべきと考えます。ただし、イベントの動きと合わせている場合や、クレジット表示などスキップされては困る場面でも、強制的にスキップされてしまうのが問題です。

そこで、指定したスイッチがONの場合だけ、決定キー押しっぱなしによる倍速処理中でも、メッセージ中のウェイトが有効になります。

スイッチを指定していなかったり、スイッチがOFFの場合は、倍速処理中はメッセージ中のウェイトが無効になります。

スキップされると困るシーンの直前でスイッチをONにし、シーン終了後にスイッチをOFFにして、普段はメッセージ中のウェイトもスキップできるようにしておくのが良いでしょう。それ以前に、あまりメッセージ中のウェイトを多用すべきでない、というのは前提です。

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

[ サイト情報 ] [ その他の雑記 ] 2023年総括

2023-12-31 13:52:28

あっという間に2023年も大晦日の日を迎え、恒例の1年間総括のお時間がやって参りました。

2023年の活動

2023年も相変わらず、新作の長編大河RPGの制作に没頭していました。本当は今年の秋頃には公開の想定だったのですが、延びに延びて4年目突入です。さすがにストーリーの佳境は過ぎたので、来年の夏ぐらいまでには完成することでしょう。ホントかよ。

制作状況はtwitter改めXでもちょくちょくアップしているので、ぜひフォローよろしくお願いします。

MV/MZ用のプラグインは、上半期はあまり公開しませんでしたが、10~11月にかけて立て続けにいくつか公開しました。どれもツクールの仕様の微妙なところを補う、必須級のプラグインではないかと思いますので、ぜひ活用してください。

2024年も引き続きプラグインのほか、プラグインを使わないテクニックの数々を紹介していければと思います。テクニックはたまにtwitter(現X)でも紹介していますが、どうしても文字数の制限などもあって細かい説明ができないので、こちらでも紹介していきたいと思います。

12月には、今年も「ツクールアドベントカレンダー Advent Calendar 2023」に参加し、「回答されやすい質問の仕方指南」という記事を発表しました。

最近、ツクールの公式フォーラムなどで要領を得ない質問が散見されたこともあって、どういう質問の仕方が望ましいのか、回答者側の立場から書いてみました。口うるさいベテランみたいで、あまりそういうことは言いたくなかったのですが、このままだとフォーラムの衰退にも繋がりかねないため、敢えて書いてみました。

2023年の三大ニュース

さて、2023年の三大ニュース、一つ目は、和風探索RPG『天下御免!からくり屋敷』がついに実況プレイされたこと!

これまで『小さな大冒険』と『夫婦戦争MZ』は何度か実況プレイされていましたが、『天下御免!からくり屋敷』は2018年の公開以来、知る限り実況プレイは上がっていませんでした。やはり主人公が女の子でもイケメンでもない、濃いオッサンなのが敗因なのか……。

それはともかく、春頃にみなみよつばさん主催の「実況歓迎自作ゲームPR大会」に出したところ、みなみよつばさん自ら実況プレイ動画を上げていただきました。本編のみ全18回。プレイリストからご覧いただけます。

実況のお陰でヒドいバグを発見できたり、少しバランスを調整したりもしました。

個人的には本編後の地獄篇・極楽篇からが本番、みたいなところもあるので、続きもぜひ実況してもらいたいのですが、続きが気になった方はぜひ直接プレイをお願いします!

2023年の三大ニュース、二つ目は、ゲームアツマールの終了です。

2022年の末に突如終了告知があり、予定通り2023年6月に終了となりました。

自作フリーゲームを公開できるフリゲ投稿サイトはいくつかありますが、その中でもゲームアツマールは

  • ニコニコ動画内にあるので集客しやすかった
  • ツクールとも連携していて公式感があった
  • サイトデザインが他と比べて洗練されていた
  • ニコニ広告で露出を増やすことができた

といった点で、他のフリーゲーム投稿サイトとは一線を画すものでありました。

特に最後の広告で露出を増やせる点は重要で、フリゲ投稿サイトには毎日何本もの新作ゲームが投稿されています。目に留まるのは新着一覧に掲載されるほんの数日。それ以降はよほど話題に上らない限り、急速に埋もれていってしまいます。

しかし、ニコニ広告を使うことによって、カネの力で露出を増やすことができ、特にアツマールのトップページのバナーに掲載されると、確実にプレイ数は伸びました。

他のフリゲサイトにもピックアップの仕組みはありますが、多くはランダムで選ばれるもので、作者が狙って露出を増やすことはできません。その点、アツマールは金の力で注目を集める手段があったため、一度埋もれても再起のチャンスがありました。広告費によってサイト運営費の足しになるでしょうし、他のサイトでもぜひ採用してほしいシステムですね。

2023年の三大ニュース、最後の三つ目は、『RPG Maker UNITE』の発売と混乱、そして『RPG Maker WITH』の発表です。

Unity上で動作するツクールということで、操作体系がガラッと変わって、期待と不安を一身に背負って発売されたUNITEですが、極度の重さ、UIの不便さ、重要機能の欠落などなど……。多数の便利な新機能を台無しにする出来の悪さで、年末にはSteam版の発売が事実上の中止となる事態に。

また、10月に発表され、2024年の4月に発売予定となったCS版ツクールの新作『RPG Maker WITH』は、見た目的にはMZをベースにしたもののようですが、キャラクタージェネレーション機能の削除など、残念な話もいくつか出てきています。

そもそもプラグインや自作グラフィックがなく、できることに限りがあるCS版ツクールですが、ゲーム制作の入門編としては一定の役割を果たしていると思っています。

特にWITHの目玉機能として紹介されている「アセットシェアリング」機能が、プラグインに近い機能を果たして、入門者から中級者へのステップアップを図る一助になることを期待しています。

あとは、MV Trinityの時に問題となったバグや、いわゆるNGワード問題などが、どれだけ解消されているかに懸かっているかもしれません。

フリゲ界を盛り上げるために

最近、フリーゲームは衰退したのか否かという議論が話題になりました。

ツクールのみならず多様なゲーム制作ツールが出てきて、ゲーム制作を始める人が増えているのは事実です。前述したようにフリゲ投稿サイトで公開される作品の数は減ってはおらず、それだけを見るとフリーゲームは活発化しているとも言えるでしょう。

しかしアツマールの終了に象徴されるように、公開先は減っており、それに伴ってフリーゲームのプレイ人口も減っていると思われます。フリーゲームから商業化など注目を集める作品が現れる一方、ほとんど注目されずに埋もれていく作品も多数あり、それで言うとフリーゲームはレッドオーシャン化していると言えるでしょう。

そもそもフリーゲームはフリー(無料)であるだけにお金が動きづらく、大企業の支援が得られにくい世界でもあります。一方のフリー(自由)は、昨今のコンプライアンス強化の一環でふりーむ!の審査が厳しくなったりと、あまり明るい話を聞かないのも事実です。

今すでに衰退しているかと言われると、そこまでではないものの、このままだと徐々に衰退していくのではないかという危機感は覚えます。

個人的にフリーゲーム界の振興に必要だと思っている要素は次の3つ。

  • 使いやすくバグの少ないツール
  • 公式的なフリーゲーム投稿サイト
  • ユーザー間の互助システム

一つ目のツールは言わずもがなで、直近で発売されたUNITEの惨状は語るまでもありません。ツクール以外のツールも、部分的にはツクールに勝っているところもありますが、取っ付きやすさや拡張性、素材の豊富さなど、総合的な使いやすさに関してはツクールにまだ及んでいないというのが個人的な感想です。

そろそろMZの正式後継版も計画が進められている頃かと思いますが、取っ付きやすさ、拡張性、豊富な素材といったツクールの長所は失わないようにしてほしいと思います。

二つ目の投稿サイトに関しても、アツマール亡き今、割と切実な問題であります。

昔はツクール公式でも作品宣伝掲示板や、Vectorや窓の杜といった大手ダウンロードサイトでもフリーゲームのレビューが定期的にありましたが、いつしかそういうものはなくなってしまいました。

ツクール公式も、ゲーム制作ツールを売るだけ売って、肝心の発表する場所が他人任せというのは、フリーゲーム界を本当に盛り上げていきたいのか、疑問に思えてしまいます。アツマール終了の際、ツクール公式からもそれに代わる仕掛けを検討中、みたいなことを言っていたと記憶しているので、それに期待しています。

前述の2つは一ユーザーでどうにかできる問題ではありませんが、最後の三つ目は個人でも協力できる部分です。

公式が何から何まで面倒を見るわけにはいかず、ユーザー間で相談したり質問し合えるような仕組みが必要です。それも、ただ仕組みだけあればいいというのではなく、上級者は積極的に初心者の質問に答え、初心者は自分の悩んでいる部分を分かりやすく質問する、といった工夫が必要になります。それを考えて「回答されやすい質問の仕方指南」の記事も出しました。

私もできるだけ、フォーラムの質問には答え、テクニックなども積極的に紹介していきたいと思います。

去年に引き続き最後の方は暗い話になってしまいましたが、それに負けず2024年は現在制作中の新作公開に漕ぎ着けたいと思います。

来年もどうぞよろしくお願い申し上げます。