開発日誌

すべての記事

[ サイト情報 ] [ その他の雑記 ] 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年は現在制作中の新作公開に漕ぎ着けたいと思います。

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

[ その他の雑記 ] 回答されやすい質問の仕方指南

2023-12-05 00:00:10

本記事は「ツクールアドベントカレンダー Advent Calendar 2023」12月5日分の投稿記事です。

はじめに

RPGツクールシリーズにはユーザー間でノウハウの質問や相談を行えるサイトがいくつかあり、公式の「ツクールWebフォーラム」や非公式の「ツクマテ」が代表的なサイトです。

公式のツクールフォーラムは私も登録していて、そこそこの頻度で書き込んでいます。ツクマテの方は登録はしていないのですが、そこに挙がっている質問は参考として読んでいたりします。

私は基本的に質問に対する回答者の立場となることがほとんどですが、挙がっている質問を見ていると、回答する気の失せるような質問も散見されます。

しかし多くの場合は、悪意を持って回答者を困らせてやろうとしているわけではなく、どういう風に質問したらいいか分からない、何が分からないのか自分でも分かっていない、という状態なのだと思われます。

そこで今回は、どういう風に質問したらいいか、どういう質問をしたら回答がされやすいかを、回答者側の観点を交えて解説したいと思います。

けっこう長文になりますが、お付き合いください。

なお最初に断っておきますが、以下はあくまで個人の意見です。

回答するにも時間がかかる

まず最初に質問者に分かってほしいのは、回答するにはそれなりに時間がかかるということです。

質問者の意図を理解して、実装方法を考えて、多くの場合は実際に自分で試しに組んでみて、エラーが起きないか、想定外のことはないかなど検証もしてから、質問者のレベルに応じて理解しやすいように文章を工夫しつつ回答を作成します。

簡単なものでも30分~1時間くらいかかります。難しいものだともっとかかりますし、1回で解決せず2回3回とやり取りが続くことも珍しくありません。

それだけ回答するのも大変な作業ですが、特に回答することによって報酬が発生するわけでもありません。

それなのになぜわざわざ回答するのかというと、より多くの作品を完成に導いてツクール界隈を盛り上げたいとか、ツクール界隈で技術力のある人として認知されたいとか、ついでに自作品の宣伝をしたいとか、高尚な思いから下賤な気持ちまで、様々な思いがあります。

忘れないでもらいたいのは、回答者は

  • 無報酬にもかかわらず
  • それなりの時間を割いて回答している

という点です。

それだけに、徒労になるようなやり取りは避けたいものです。

やりたいことを具体的に書こう

徒労を避けるために、回答者から質問者にいちばんお願いしたいことは、やりたいことを具体的に書いてほしいということです。

どういうことか、もう少し具体的に説明します。

作りたいものをストレートに書こう

例えば「属性有効度が0%の相手にも属性攻撃が当たるようにしたい」という質問があったとします。

この質問だけを見ると、「属性有効度を0%にしなければいいのでは?」としか思えません。

おそらくそういうことではないのだろうと推測はできますが、詳細が分からないので回答のしようがありません。

もっとストレートに「最初は炎耐性があるが、特定のアイテムを使うとバリアが剥がれて、炎攻撃が通るようにしたい」と書いてくれれば、「戦闘開始時にバトルイベントで炎属性0%のステートを付与して、アイテムの使用効果でそのステートを解除すればよい」と答えられます。

そうではなく「普通の炎攻撃は当たらないが、特定の炎スキルだけは当たるようにしたい」ということであれば、「炎属性を通常と特定スキル用の2つに分けて、普通の敵は2つとも同じ有効度を設定、耐性のある敵だけ炎(通常)は0%にして炎(特定スキル用)を100%にする」といった解決策が考えられます。

このように同じ「属性有効度が0%の相手にも属性攻撃が当たるようにしたい」という質問でも、実際に実現したい内容によって全く違う解決策となります。

具体性のない質問だと、何をやりたいのか要領を得ない質問になりがちで、結果として以下のような事態を招きます。

  • 詳細が分からないのでそもそも回答がもらえない
  • 回答者が具体的な仕様を推測することになり、質問者にとって的外れな回答が返ってくる
  • 回答者が複数の仕様を検討するという労力を強いられる

どんなスキルを作ろうとしているのか、どんな演出をしようとしているのか、具体的な活用イメージがあれば、それに沿って解決策を考えることができます。

量の観点は重要

前述の、属性バリアを剥がす話が、特定のボス戦だけの話であればいいのですが、通常の雑魚敵でもそういう敵がたくさんいる、しかも敵によって対象の属性も様々、という話であれば、全ての敵グループのバトルイベントで戦闘開始時に属性0%のステートを仕込むのは現実的ではなく、プラグインの導入を検討した方がいいかもしれません。

また属性を通常と特定スキル用の2つに分けるケースも、対象となる属性がいくつもあって、敵キャラも何百体いて、全部に設定するのが大変という話であれば、やはりプラグインを検討した方がいいかもしれません。

このように、特定のケースだけで必要になるのか、普遍的に必要なのかによって、デフォルトの機能を駆使すればできるのか、プラグインに頼った方がいいのかは異なります。

頑張ってプラグインを作ったのに、実は必要になるのは1回だけで、少し工夫すればデフォルトの機能だけで行けたというのでは、徒労になってしまいます。

逆に、せっかくいろいろ検証してデフォルトの機能だけで実現する方法を説明したのに、「その方法は知ってるがたくさんあって大変なのでプラグインをお願いしたかった」と質問者から言われたら、回答者としては「それならそうと初めから言ってほしい」という気持ちになります。

このように、量の観点は思わぬ誤解を招くものです。

基本的にケースが限定されていればいるほど、想定すべきことが減るので、作りやすくなります。

  • 特定のシーンだけで必要なのか、多くのケースで必要なのか
  • 対象は1つだけなのか、2~3個なのか、たくさんあるのか
  • 対象は敵だけなのか、味方だけなのか、両方なのか
  • ボス敵だけなのか、特定のアクターだけなのか、不特定多数なのか

といった情報を入れると、回答者側も考えやすくなってありがたいです。

丸投げの質問はやめよう

回答者に敬遠される質問の代表は、自分では大して何も考えずに、質問を丸投げされることです。

▲『天下御免!からくり屋敷』の合成画面

「アイテム合成システムの作り方を教えてください」とだけ質問されても、「アイテム合成」でイメージされるシステムの詳細な仕様は千差万別です。

合成施設があるのかメニューから合成できるのか、合成アイテムの設定方法は、合成画面のレイアウトは……など、少し考えても様々な要件が存在します。

そういうものを全てスルーして、ただ「アイテム合成システムの作り方を教えてください」とだけ書かれると、「この人は自分で何も考えてないんだな」という印象になります。真面目に作る気がなさそうだと考えて、こちらもスルーします。

まずは自分で検索しよう

まずは質問以前に、自分で検索などしてトライしましょう。

少し検索すればすぐに答えが見つかるようなことを質問されると、回答者としては

  • 右も左も分からない初心者、かつ自分で少しは考えようという気持ちがなさそう
  • そんな人には一から十まで懇切丁寧に書く必要があって大変
  • 今後も少し詰まるたびに質問しまくるのだろうか
  • そんな調子ではまずゲームなど完成しそうにない
  • だとすると自分が手取り足取り教えたところで徒労に終わる可能性が高い

と考えて、スルーしたくなります。

前述のアイテム合成システムであれば、Googleで「ツクール アイテム合成」などと検索すれば、いくつかプラグインや解説ページがヒットします。

それ以外でも、「ツクール」とスペース(空白)に続けて求めるシステムの名称を入れれば、たいてい解説ページやプラグインページが1つ2つヒットします。

それをもとに、「試してみたけどうまくいかなかった」「設定方法がよく分からなかった」「この動作が希望と違うので変更したい」などと質問すべきです。

もしそれっぽいページが見つからなかった場合は、「○○というキーワードで検索してみましたが見つかりませんでした」などと書くといいでしょう。

自分で試したことは書こう

実装するにあたって、既に自分で試してみたことがあれば、ちゃんと書くようにしましょう。

「ここまで既にできているのであれば、後はこれだけ教えれば済む」という方が、ゼロから回答するよりも、回答する側としては楽です。

また「実装方法としては何通りか考えられるが、この方法を試しているのなら、それを改良したこの実装方法を教えよう」というケースもあります。

「この方法を試してみたが、こういう理由でダメだった」というのが書かれていれば、同じ轍を踏まずに済みます。

全く手がかりがなく、どこから考えればいいか分からない、ということであれば、その通りに「どこから考えればいいか分からなかった」と書きましょう。

少なくとも丸投げでないことは分かりますので、どこから考え始めればいいか、どういう方針で実装すればいいか、アドバイスできると思います。

何がどううまくいっていないのかを書こう

よく「プラグインを試してみましたがうまくいきませんでした」とだけ書かれていて、何のプラグインを使ったのかも分からなければ、どううまくいっていないのかも分からないことがあります。

一口に「うまくいかなかった」と言われても、何も変化がなかったのか、エラーが出たのか、動くけれど意図した動きと違うのかによって、対処法は異なります。

  • 何というプラグインを
  • どのように設定して
  • このようになったが
  • 意図しているのはこういう動きである

というポイントを押さえて書いてもらえると、回答しやすくなります。

特に「変になった」とだけ書かれていて、どういう状態が正常なのか分からないことがよくあります。求めている状態は何なのかを、できるだけ言葉にして記述するか、言語化が難しければ絵に描いて画像を添付するなど、工夫してみましょう。

また場合によっては、単純な設定ミスや入力間違いでうまく動いていないだけかもしれません。イベント内容やプラグインの設定画面のスクリーンショットがあると、より確かな回答ができると思います。

プラグインのエラーの場合

エラー系の質問では、原因がプラグインの設定間違いや不具合、プラグイン同士の競合にある場合がほとんどです。

  • そのプラグインをOFFにした状態では正常に動作するのか
  • 他のプラグインをOFFにしたら正常に動作するのか

といった検証は質問者自身で行ってもらう必要があります。

そもそも何のプラグインをどう使っているかは質問者にしか分からないので、回答者側では検証のしようがありません。

他のプラグインを1つずつOFFにしていって、このプラグインがOFFの場合はうまくいくという時は、そのプラグインとの競合が原因として考えられます。

1つ1つプラグインのON/OFFを切り替えて試すのは、導入しているプラグインの数が多いと大変ですが、全く関係のないプラグイン同士が競合することは考えにくい(皆無ではない)ので、戦闘中における不具合なら戦闘システムに関わるプラグイン、メニュー画面における不具合ならメニューUIに関わるプラグインといった風に、関連するプラグインから優先的に調べていけば、比較的簡単に原因を特定することが可能です。

たまに、明らかに特定のプラグインに起因するエラーなのに、何のプラグインかが明記されていない質問がありますが、論外です。

必要な情報は全て書こう

前提として、回答者は質問者のことを知りません。

  • 全くの初心者なのか、ある程度慣れた人なのか
  • どのような制作環境なのか
  • どんなプラグインを導入しているか
  • どのようなゲームを作っているのか

といったことは基本的に分からないので、必要であれば書くようにしましょう。

自分の技術レベルは伝えよう

質問者の技術レベルは、回答者にとって気になるところです。

そのレベルによって、どこまで丁寧に説明しなければならないか、どのくらいは知識として持っている前提で説明してよいかが分かるからです。

せっかく回答したのに質問者にとって難しすぎて全然活用されなかったり、イチから丁寧に説明したのにそれは質問者にとって分かりきったことだったりしたら、せっかく割いた時間が無駄になってしまいます。

質問者の技術レベルが不明だと、自分の回答が徒労に終わる可能性もあるため、回答を避ける傾向にあります。

「ツクールを触って1週間です」「チュートリアルはひととおりやってみました」「他人のプラグインの一部修正はできるレベルです」「ツクールは初めてですが仕事でJavascriptは触ったことがあります」など、自分のレベル感を示す一文が前置きとして入っていると、回答者側はありがたいです。

ツクールのバージョンは明記しよう

けっこう忘れられがちですが、RPGツクールMZなのか、MVなのか、はたまた違うバージョンなのか、ということです。

公式フォーラムやツクマテは、MZ、MV、その他バージョンで分かれているので、それで十分と思われがちですが、特に公式フォーラムは新着情報のところから見ることも多く、注意しないとMZかMVかを見落としてしまいます。

MZ/MVは共通して動作することも多いですが、UI関係やアニメーション系は相違点も多く、MZのつもりで対応したら実はMVだったとか、その逆とか、せっかくの回答が無駄になったら徒労感も大きいです。

なるべく質問本文に、ツクールのバージョンは明記するようにしましょう。

回答をもらったら感謝と報告

最低限の礼儀として、回答をもらったらお礼はしましょう。

すぐに回答内容を試せるようなら、試した結果を報告するとともにお礼をしましょう。すぐに試せない時は、いったんお礼だけ述べて、後で試してみる旨を書くようにしましょう。

一般のビジネスマナーと同様、なるべく回答をもらってから24時間以内には、何らかの反応を返すのが望ましいです。

回答者は、回答しっぱなしではなく、

  • この内容で質問者が理解できたかどうか
  • この回答が質問の意図と合っているかどうか
  • この回答に沿って試してうまくいったかどうか

を非常に気にしています。

せっかく時間をかけて質問に答えたのに、何も反応が返ってこないでは、回答者としてはとても虚しい気持ちになります。

回答がもらえているのに、お礼どころか何の反応も返していない質問者は、二度と回答してもらえることはないでしょう。

自己解決した場合も解法を書こう

質問して回答を待っている間に、自分でやり方を思いついたとか、他の方法を試したらうまくいって、自己解決したということもあります。

そのような時によく、「自己解決しました」とだけ報告して終了されていることがありますが、非常にもったいないと思います。

自分が行き詰まって質問した内容ならば、他の人も同じように行き詰まっているかもしれません。そんな時に、どのようにやってみてうまくいったのかが書かれていれば、その人の助けになります。自分が回答者になれるチャンスなのです。

自己解決した場合でも、どう解決できたのかを書くようにしましょう。

まとめ

まとめると、以下のような質問には回答が付きにくいです。

  • 具体性に乏しく要領を得ない質問
  • 自分で試してみた形跡のない質問
  • ただうまくいかなかった、エラーが出たとだけ書かれて詳細がない質問
  • 過去に回答をもらっても何も反応していない質問者

逆に以下のようなことを意識して質問してもらえると、回答者側としても回答しやすくなります。

  • 自分の技術レベルやツクールのバージョンを記載
  • まずは自分で検索・試行・検証してみる
  • 作りたいものをストレートにかつ詳しく書く
  • 特定のケースの話なのか不特定多数の話なのか
  • 求める状態と現在の状態を書く
  • 回答をもらったら感謝と結果の報告

あまりこういう口うるさいことは言わないようにしているのですが、なかなかこの手のことは教えてくれる機会もないですし、今回はアドベントカレンダーということで、敢えて書いてみました。

質問者の方にとっては、質問の際にどういう情報を書けばいいのか、分かるように解説したつもりです。

回答者の方にとっても、詳しい内容をヒアリングする際の参考資料になるのではないかと思います。

健全なフォーラム運営がなされて、ツクール界隈の健全なる発展に、少しでも協力できれば幸いです。

最後まで読んでいただき、ありがとうございました。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 戦闘画面のキャンセルボタンの位置を調整する

2023-11-18 00:00:49

戦闘画面におけるキャンセル(戻る)ボタンを非表示にしたり、ボタンの位置を調整したりすることのできるプラグインを作成しました。

キャンセルボタン自体がRPGツクールMZから登場したものなので、MZ専用のプラグインとなります。

RPGツクールMZでは、オプションの「タッチUI」をONにすると、画面上にメニューボタンやキャンセルボタンが表示され、キーボードやゲームパッド(コントローラー)以外の、マウス操作やタッチ操作でも快適なプレイができるユーザーインターフェイスが標準機能として搭載されました。

しかしながら、デフォルトの戦闘画面におけるキャンセルボタンは、一見すると中途半端な位置に配置されています。

▲右上の中途半端な位置にあるキャンセルボタン

これは一見すると違和感のある配置ですが、スキルやアイテムの選択中はヘルプウィンドウが上部に表示されるため、そのヘルプウィンドウのすぐ右下に配置されているのです。なので、そこまでおかしなレイアウトというわけではありません。

▲スキルやアイテムのヘルプウィンドウのすぐ右下にある

ただ、小型~中型程度の敵キャラならば問題ありませんが、大型の敵キャラを画面端まで出現させているような場合、このキャンセルボタンが敵キャラのグラフィックに被ってしまって、少々見映えが悪くなります。

▲大型の敵キャラだとボタンが被ってしまう

そこで、戦闘画面におけるキャンセルボタンを、指定した位置に表示したり、非表示にしたりできるプラグインを公開しました。

もとは公式のツクールWebフォーラムのスレッドで上がっていた要望に応えたものに、機能追加したプラグインです。

キャンセルボタンの位置は「ボタンを非表示」「コマンドの直上」「ボタン位置を指定」の3種類から選べます。

デフォルトは「コマンドの直上」で、これを選んだ場合、キャンセルボタンはアクターコマンドのすぐ上に表示されます。

▲「コマンドの直上」ではアクターコマンドのすぐ上に表示

この場合でも、小型の敵など画像によっては、敵キャラのグラフィックにキャンセルボタンが被ってしまいます。

ただ、被るといっても基本的に足下なのと、アクターコマンドのすぐ右上という配置なので、そこまで違和感はないのではないでしょうか。

▲小型の敵だとボタンが被ってしまうが、そこまで違和感はない

このほか、表示方法を「ボタンを非表示」にした場合は、キャンセルボタンが表示されなくなります。

ボタンが非表示になっても、マウスの右クリックや2本指タップでキャンセルの操作自体は可能です。ただ、右クリックはともかく、2本指タップは知らないとかなり難しく(MV時代からこの操作は評判が悪かった)、キャンセルボタンを隠す場合は、キャンセル自体が必要ない戦闘システム(自動戦闘メインなど)の時に限ることをお勧めします。

▲「ボタンを非表示」ではキャンセルボタンが表示されない

また、「ボタン位置を指定」にした場合は、ボタン左上のXY座標を指定して、任意の位置にキャンセルボタンを置くことができます。

座標は固定値で指定するため、一つの作品内で条件によって位置を変えたり、といったことはできません。

▲「ボタン位置を指定」でキャンセルボタンを自由に配置。邪魔w

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] ダメージが0なら追加効果も発動しない

2023-11-10 02:13:28

物理タイプのスキルでHPダメージが0だった場合は、スキルの追加効果も乗らないようにするプラグインを作成しました。

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

例えば毒の追加効果がある通常攻撃の場合、ツクールのデフォルトシステムでは、相手の防御力が高くて通常攻撃が通らなくても、毒の追加効果が発生します。

しかしこれは何となく直感に反しています。ダメージが0だった場合は、毒などの追加効果も付与されないでいてほしい気がします。

というわけで、スキルの命中タイプが「物理攻撃」で、かつダメージのタイプがHPに作用する(HPダメージ、HP回復、HP吸収)スキルの場合、ダメージが0であったら使用効果が付かないようにするプラグインを作成しました。

注意点としては、命中タイプが「物理攻撃」で、かつダメージのタイプがHP系のスキル全てに適用される点と、全ての使用効果に適用される点です。

スキル個別に、あるいは使用効果個別に、ダメージが0の場合に発動させるか否かを設定する機能はありません。

毒の効果は乗らないでほしいが、追加のコモンイベントは発動してほしいとか、毒攻撃や麻痺攻撃はダメージが0なら追加効果が発動しないでほしいが、足払いはダメージが0でもスタンしてほしい、とかいった個別の設定には対応していませんので、ご注意ください。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 画面外のイベントをカスタム移動させる

2023-11-07 22:15:24

表示画面範囲外のイベントでも、自律移動が「カスタム」に指定されているイベントは、自律移動を行うようにするプラグインを作成しました。

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

ツクールの標準機能では、画面に表示されている範囲内またはその近くにあるイベントのみ自律移動を行い、遠く離れた位置にあるイベントは自律移動が「固定」以外に設定されていても、自動的には動かないようになっています。

これは負荷軽減のための仕組みです。

イベントを自律移動させるには、移動先のタイルが動けるかどうか、他の全てのイベントと重なっていないかどうかを調べる必要があります。広いマップで100以上のイベントが設置されているような場合、これを全てのイベントについて逐一処理すると、非常に重くなってしまいます。

そこで、画面表示に関わらないイベントは自律移動を行わないようにして、負荷を軽減しているわけです。

具体的には、標準画面サイズである17x13マスの場合、プレイヤーから横17マス、縦13マスよりも遠くにあるイベントは、自律移動を行わないようです。プレイヤーが画面の隅にいても表示範囲のイベントはちゃんと自律移動するので、基本的にはこの仕様で問題はありません。

ただし、自律移動が「カスタム」のイベントで、ダンジョンギミックになっていたり、複数のイベントで動きを合わせているような場合は、問題が起こり得ます。

例えば、左右に移動する足場に乗って進むダンジョンギミックを作る場合、足場の初期位置が遠く離れた場所にあると、待っていても永遠に来ない足場となってしまいます。

また、複数のイベントを並べて動かしたい場合、プレイヤーに近い方のイベントが先に動き出してしまうため、各イベントの動きが揃わなくなってしまいます。

下の動画は、連動するモブキャラの代表とも言える、池の周りを回る子供たちのイベントですが、本来は2人がくっついて動くべきところ、先頭の男の子の方が先に動き出してしまうため、女の子との間が開いてしまいます。

これを解消するために、自律移動が「カスタム」であるイベントは、遠く離れた位置にいても強制的に自律移動させるプラグインを作成しました。

「ランダム」や「近づく」のイベントは従来通り動きません。「カスタム」のイベントのみを動かします。

カスタム移動のイベントが大量に置かれている場合は、重くなる可能性がありますので、注意してください。

イベント個別に自律移動の可否を設定するような機能はありません。全てのカスタム移動のイベントが対象となります。

個別のイベントについて自律移動を制御したい場合は、砂川赳さんの「画面外イベントの自律移動を許可」のご利用をお勧めします。

基本的に画面外のイベントの自律移動が問題となるのはカスタム移動の場合だけであり、カスタム移動のイベントを1つのマップに大量に置くことも少ないので、設定不要ですぐに使えるものがあると便利だと思い、作成しました。

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