たまにはスクリプトの話
下記のプラグインを更新しました。
ミニマップ標示
不具合修正は大したものではないです。
不具合報告がなかったということは、誰も気づかなかったような内容です。
このプラグインは後からいろいろと機能を付け足していったため、
ヘルプが非常に分かりにくくなっていたのでそれをまとめてみました。
今見ていると、無駄な機能が多いようにも感じます。
今更変えれませんが…
久し振りにスクリプトの話でも。
以前、制作中のゲームのスクリーンショットを張りましたが、

「かばう」が発動したらかばった対象の前に移動するスクリプトを組んでみました。
これ、単純なようで結構めんどくさいスクリプトが必要だったりします。
かばった際に、当然アニメーションもかばうを行った対象に表示されなければ不自然です。
(デフォルトではかばわれた対象のみアニメーションが表示されてますが)
それがなかなかのネックでして・・・
VXAceまでは、戦闘の大まかな流れはBattleManagerというクラス(モジュール)で処理されてました。
誰が行動するかとか、ダメージ判定やアニメーションを行うタイミング等はすべてこのクラスが行います。
が、MVになってアニメーションはなぜか戦闘ログウィンドウが行うようになってしまったのです。
さらにはかばう判定が行われるのが、対象にダメージ判定を行う直前であり、
アニメーションが表示し終わった後という仕様もあったりします。
つまりは、「かばう」を使ったキャラにアニメーションを表示するためには、
アニメーションの表示処理を行う前にかばう判定をしつつ、
戦闘ログウィンドウのアニメーション表示にのみ影響を与えないといけないという
非常に厄介な修正なわけです。
で、どうしたかというと大幅な修正を加え、VXAceのようにBattleManagerクラスで
アニメーション表示を行うようにしました。
自作ゲームだからこそできる力技です。
こういうキャラの動きに関するものをまとめたプラグインも作りたいなあとは思ているのですが、
今書いたように修正が大きく競合が発生しやすいというリスクがあります。
下手に出して「競合が起こりました」と言われるのも面倒ですしね。
なんとか競合が起こりにくい仕様にできたら出したいとは思ってます。
・・・結局はただの日記ですね。
そしてそれとは別に新プラグイン作ってます。
もう新しいプラグイン作りたくて仕方がない!
ゲーム制作の息抜きにつくったプラグインですが、なかなか気に入ってます。
以前アクティブタイムバトルで、「行動するキャラの渋滞が起きやすい」との意見もありましたが、
それをだいぶ軽減できそうです。
詳細はまた今度。
ミニマップ標示
不具合修正は大したものではないです。
不具合報告がなかったということは、誰も気づかなかったような内容です。
このプラグインは後からいろいろと機能を付け足していったため、
ヘルプが非常に分かりにくくなっていたのでそれをまとめてみました。
今見ていると、無駄な機能が多いようにも感じます。
今更変えれませんが…
久し振りにスクリプトの話でも。
以前、制作中のゲームのスクリーンショットを張りましたが、

「かばう」が発動したらかばった対象の前に移動するスクリプトを組んでみました。
これ、単純なようで結構めんどくさいスクリプトが必要だったりします。
かばった際に、当然アニメーションもかばうを行った対象に表示されなければ不自然です。
(デフォルトではかばわれた対象のみアニメーションが表示されてますが)
それがなかなかのネックでして・・・
VXAceまでは、戦闘の大まかな流れはBattleManagerというクラス(モジュール)で処理されてました。
誰が行動するかとか、ダメージ判定やアニメーションを行うタイミング等はすべてこのクラスが行います。
が、MVになってアニメーションはなぜか戦闘ログウィンドウが行うようになってしまったのです。
さらにはかばう判定が行われるのが、対象にダメージ判定を行う直前であり、
アニメーションが表示し終わった後という仕様もあったりします。
つまりは、「かばう」を使ったキャラにアニメーションを表示するためには、
アニメーションの表示処理を行う前にかばう判定をしつつ、
戦闘ログウィンドウのアニメーション表示にのみ影響を与えないといけないという
非常に厄介な修正なわけです。
で、どうしたかというと大幅な修正を加え、VXAceのようにBattleManagerクラスで
アニメーション表示を行うようにしました。
自作ゲームだからこそできる力技です。
こういうキャラの動きに関するものをまとめたプラグインも作りたいなあとは思ているのですが、
今書いたように修正が大きく競合が発生しやすいというリスクがあります。
下手に出して「競合が起こりました」と言われるのも面倒ですしね。
なんとか競合が起こりにくい仕様にできたら出したいとは思ってます。
・・・結局はただの日記ですね。
そしてそれとは別に新プラグイン作ってます。
もう新しいプラグイン作りたくて仕方がない!
ゲーム制作の息抜きにつくったプラグインですが、なかなか気に入ってます。
以前アクティブタイムバトルで、「行動するキャラの渋滞が起きやすい」との意見もありましたが、
それをだいぶ軽減できそうです。
詳細はまた今度。
スポンサーサイト
ステート無効化メッセージ
新しいプラグインを公開しました。
ステート無効化メッセージ
ゲームを製作していて、ふとステートを無効化した際のメッセージがないことに気づいたので作りました。
ステート等の有効度によって付加できなかった場合は「○○には効かなかった!」といった
メッセージが出ますが、[ステート無効化]によって付加できなかった場合はなぜか何も表示されません。
不具合の方に入れようかなと思ったのですが、ちと面倒な作りになったのと、
ステートごとにメッセージ変えられるような無駄な機能も付けたので
新規プラグインとなりました。
まあ、気になってない方には不要なプラグインです。
あとついでにもう一つ公開予定だったプラグインは削除しました。
大したものではないし、他の方がもっといいプラグイン出してると思うというのが理由です。
ステート無効化メッセージ
ゲームを製作していて、ふとステートを無効化した際のメッセージがないことに気づいたので作りました。
ステート等の有効度によって付加できなかった場合は「○○には効かなかった!」といった
メッセージが出ますが、[ステート無効化]によって付加できなかった場合はなぜか何も表示されません。
不具合の方に入れようかなと思ったのですが、ちと面倒な作りになったのと、
ステートごとにメッセージ変えられるような無駄な機能も付けたので
新規プラグインとなりました。
まあ、気になってない方には不要なプラグインです。
あとついでにもう一つ公開予定だったプラグインは削除しました。
大したものではないし、他の方がもっといいプラグイン出してると思うというのが理由です。
コメントお返事
> ya さん
はじめまして、いらっしゃいませ~
残念ながらそちらの画像のものは配布してないです。
ざっくり理由を書くならば、当時作っていたゲーム用に作られたスクリプトなため
配布できるような作りになっていないからです。
まず、通常のスキルツリーはスキルポイント等を使ってスキルを習得していくと思いますが、
このゲームは独自の習得方法が設定されており、それにしか対応していません。
さらに、画像はVXAceのものであり、MVに移植するには時間がかかるうえ、
タッチ操作にも対応しないといけないという問題もあります。
あとはスキル一つに対し必要な設定項目が多いうえに、順番通りにスキルを並べないと
機能しないなど、自分が使えればそれでいいというような内容が多いです。
そんな感じなので、申し訳ないですが配布はほぼ不可能です。
話は変わって先日配布した[文章の表示拡張]プラグインですが、
「イベントの演出が終わるまでウェイト」を戦闘中に使うとエラーが発生します。
戦闘中に使う意味は全くないですが、注意してください。
はじめまして、いらっしゃいませ~
残念ながらそちらの画像のものは配布してないです。
ざっくり理由を書くならば、当時作っていたゲーム用に作られたスクリプトなため
配布できるような作りになっていないからです。
まず、通常のスキルツリーはスキルポイント等を使ってスキルを習得していくと思いますが、
このゲームは独自の習得方法が設定されており、それにしか対応していません。
さらに、画像はVXAceのものであり、MVに移植するには時間がかかるうえ、
タッチ操作にも対応しないといけないという問題もあります。
あとはスキル一つに対し必要な設定項目が多いうえに、順番通りにスキルを並べないと
機能しないなど、自分が使えればそれでいいというような内容が多いです。
そんな感じなので、申し訳ないですが配布はほぼ不可能です。
話は変わって先日配布した[文章の表示拡張]プラグインですが、
「イベントの演出が終わるまでウェイト」を戦闘中に使うとエラーが発生します。
戦闘中に使う意味は全くないですが、注意してください。
プラグインの更新
下記のプラグインを更新しました。
不具合修正
文章の表示拡張
マウス/タッチ操作改善
更新内容が多いので、簡潔にいきます。
●不具合修正
大したものではないです。
●文章の表示拡張
ご要望のあった機能を付けてみました。
細かなことは更新内容を見てください。
一番の目玉は「イベントの演出が終了するまでウェイトをかける機能」と
「文章をスキップした際、イベントの演出もスキップする機能」です。
「イベントの演出が終了するまでウェイトをかける機能」を使用すれば、
キャラクターが移動するまでウェイトをかける
BGMがフェードアウトするまでウェイトをかける
なんてことができます。
「文章をスキップした際、イベントの演出もスキップする機能」は逆に
文章のスキップと同時にキャラクターが移動が完了するまでマップ更新をして
一気に移動させるような機能です。
どちらも文章の表示とイベント処理のずれを回避するためのものです。
あと、細かな不具合もいろいろと直してます。
●マウス/タッチ操作改善
ずーっと前にマウスの位置に常にカーソルが来るようにしてほしいような要望があったのですが、
そのときはどうすりゃそんなことできるのかよくわかっていなかったので保留してました。
が、ふとここいじればできるんじゃね?と気づき、あっさり実装できたので更新です。
不具合修正
文章の表示拡張
マウス/タッチ操作改善
更新内容が多いので、簡潔にいきます。
●不具合修正
大したものではないです。
●文章の表示拡張
ご要望のあった機能を付けてみました。
細かなことは更新内容を見てください。
一番の目玉は「イベントの演出が終了するまでウェイトをかける機能」と
「文章をスキップした際、イベントの演出もスキップする機能」です。
「イベントの演出が終了するまでウェイトをかける機能」を使用すれば、
キャラクターが移動するまでウェイトをかける
BGMがフェードアウトするまでウェイトをかける
なんてことができます。
「文章をスキップした際、イベントの演出もスキップする機能」は逆に
文章のスキップと同時にキャラクターが移動が完了するまでマップ更新をして
一気に移動させるような機能です。
どちらも文章の表示とイベント処理のずれを回避するためのものです。
あと、細かな不具合もいろいろと直してます。
●マウス/タッチ操作改善
ずーっと前にマウスの位置に常にカーソルが来るようにしてほしいような要望があったのですが、
そのときはどうすりゃそんなことできるのかよくわかっていなかったので保留してました。
が、ふとここいじればできるんじゃね?と気づき、あっさり実装できたので更新です。
コメントお返事
> uta さん
初めまして、いらっしゃいませ~
スイッチや変数の真偽の反転は ! を使うとできます。
!s[1] でスイッチ1番がOFFで真
!v[3] で変数3番が0なら真
といった感じです。
他にも
v[1] > 4 で変数1番が4以上なら真
v[1] !== 3 で変数1番が3以外なら真
といったこともできたりします。
ですが言われてみればそのあたりの説明全くないので、
そのうちヘルプをわかりやすく変更したいと思います。
また何か解決してない問題や要望、わかりにくい部分などあればコメントください。
初めまして、いらっしゃいませ~
スイッチや変数の真偽の反転は ! を使うとできます。
!s[1] でスイッチ1番がOFFで真
!v[3] で変数3番が0なら真
といった感じです。
他にも
v[1] > 4 で変数1番が4以上なら真
v[1] !== 3 で変数1番が3以外なら真
といったこともできたりします。
ですが言われてみればそのあたりの説明全くないので、
そのうちヘルプをわかりやすく変更したいと思います。
また何か解決してない問題や要望、わかりにくい部分などあればコメントください。
新しいプラグインと久々の制作日記
新しいプラグインを公開しました。
ゲーム起動高速化
ゲーム起動時に読み込まれる画像を後で読み込むことで、ゲーム起動を少しでも早くしようという
プラグインです。
結局、大量のスクリプトやプラグインは読み込まないとゲームが始まらない以上、
大した効果はありません。
競合が起こらない限りはとりあえず入れときゃいいプラグインです。
最近、ゲーム製作再開してたりします。
もう制作日記なんていつぶりやら。
製作再開しているのは 3TurnBatte!2nd です。

制作が滞っていた一番の理由は、『ストーリー考えて作ってみたらなんかイメージと違って
ストーリーを作り直さなきゃなんなくなったから』だったりします。
とりあえず、イベントはかなり修正しました。
いっぱいあった設定や説明はごっそりカットして、なんかいろいろありそうだけど説明なしな内容に
なってます。
プレイのテンポ重視ということで。
そして相変わらずストーリー考えずに作ってます。
『その方が作品のイメージに合ってるから』という理由で即興ストーリーばかりになっているわけですが、
それでもラスボスとエンディングは必要なのでどうしようかと悩んでます。
ホントどうするんでしょうね。
それと制作滞っていた二つ目の理由が画面のサイズだったりします。
現在公開中の体験版は画面比が800*450になっているのですが、
アツマールではこのサイズに対応していないのです。
一番近いのが768*432なのですが、画面が小さくなるので文字をさらに小さくして
レイアウトを考え直さないといけないため、それがどうしてもやる気出ず。
今回ようやく重い腰上げて調整しなおしました。
そして当然ながら、最初から通してチェックしなおしです。
でもプレイしてみるとやっぱり楽しいですね。
もう攻略法なんて忘れているので、「あれ、こいつどうやって倒すんだっけ?」と
本気で攻略楽しんでました。
まだまだ完成までは程遠いですが、今度こそ完成させたいです。
ゲーム起動高速化
ゲーム起動時に読み込まれる画像を後で読み込むことで、ゲーム起動を少しでも早くしようという
プラグインです。
結局、大量のスクリプトやプラグインは読み込まないとゲームが始まらない以上、
大した効果はありません。
競合が起こらない限りはとりあえず入れときゃいいプラグインです。
最近、ゲーム製作再開してたりします。
もう制作日記なんていつぶりやら。
製作再開しているのは 3TurnBatte!2nd です。

制作が滞っていた一番の理由は、『ストーリー考えて作ってみたらなんかイメージと違って
ストーリーを作り直さなきゃなんなくなったから』だったりします。
とりあえず、イベントはかなり修正しました。
いっぱいあった設定や説明はごっそりカットして、なんかいろいろありそうだけど説明なしな内容に
なってます。
プレイのテンポ重視ということで。
そして相変わらずストーリー考えずに作ってます。
『その方が作品のイメージに合ってるから』という理由で即興ストーリーばかりになっているわけですが、
それでもラスボスとエンディングは必要なのでどうしようかと悩んでます。
ホントどうするんでしょうね。
それと制作滞っていた二つ目の理由が画面のサイズだったりします。
現在公開中の体験版は画面比が800*450になっているのですが、
アツマールではこのサイズに対応していないのです。
一番近いのが768*432なのですが、画面が小さくなるので文字をさらに小さくして
レイアウトを考え直さないといけないため、それがどうしてもやる気出ず。
今回ようやく重い腰上げて調整しなおしました。
そして当然ながら、最初から通してチェックしなおしです。
でもプレイしてみるとやっぱり楽しいですね。
もう攻略法なんて忘れているので、「あれ、こいつどうやって倒すんだっけ?」と
本気で攻略楽しんでました。
まだまだ完成までは程遠いですが、今度こそ完成させたいです。
プラグインの更新
下記のプラグインを更新しました。
アクティブタイムバトル
ご要望のあった機能の追加と、ちょっと入れときたいと思った機能を入れました。
アクション中に時間の流れが遅くできる機能も入れようかと思ったのですが、
もうそこまで来るとアクティブタイムバトルの意味ないなと思ってやめました。
もうちょっと戦闘スピードのデフォルト値を下げておくべきだったかもしれませんね。
戦闘スピードを下げれば、アクションの渋滞が減るかと思います。
ちなみに新しいパラメータですが、=== Battle ===という項目の下の方にあります。
機能が増えることによる弊害ですね。
(だからオプションといった感じに分割してるわけですが)
そしてついでにそのうち上げようかと思っている新しいプラグインの名前と概要だけ、一覧に並べてみました。
高速化が気になる方いるかもしれませんが、そんなに変わらないので期待しないように。
追記(5/07):
更新を忘れていたプラグインがあったので追加です。
戦闘開始特殊エフェクト
戦闘テストで操作不能になる不具合を修正しました。
アクティブタイムバトル
ご要望のあった機能の追加と、ちょっと入れときたいと思った機能を入れました。
アクション中に時間の流れが遅くできる機能も入れようかと思ったのですが、
もうそこまで来るとアクティブタイムバトルの意味ないなと思ってやめました。
もうちょっと戦闘スピードのデフォルト値を下げておくべきだったかもしれませんね。
戦闘スピードを下げれば、アクションの渋滞が減るかと思います。
ちなみに新しいパラメータですが、=== Battle ===という項目の下の方にあります。
機能が増えることによる弊害ですね。
(だからオプションといった感じに分割してるわけですが)
そしてついでにそのうち上げようかと思っている新しいプラグインの名前と概要だけ、一覧に並べてみました。
高速化が気になる方いるかもしれませんが、そんなに変わらないので期待しないように。
追記(5/07):
更新を忘れていたプラグインがあったので追加です。
戦闘開始特殊エフェクト
戦闘テストで操作不能になる不具合を修正しました。
プラグインの更新とかコメントお返事とか
下記のプラグインを更新しました。
不具合修正
文章の表示拡張
●不具合修正
【[文章の表示]で文章の最後がウェイトだった場合、それが無視される不具合の修正】
を追加しました。
なんかボタン入力待ちを遅らせることができないなあと思って調べてみたら、
最後のウェイトが無視されるようになってたので修正です。
まあ、私が困ってただけで大した不具合ではないです。
●文章の表示拡張
ご要望のあった競合問題とご報告のあった不具合を修正しました。
私のプラグインもだいぶめんどくさい作りになってますが、
トリアコンタンさんのプラグインもかなり複雑なので
正直競合問題の解決は無理だろうと思っていたのですが、
トリアコンタンさんのプラグインを見ていたらなんと私のプラグインとの競合を解決するための
専用の処理があってびっくりしました。
こりゃあ、私の方も対応しなきゃダメだろうと気合を入れ、
なんとか確認できたいくつかの競合問題は解決できました。
それにしても、やっぱ有名どころの人のスクリプト見てるといろいろと勉強になりますね。
「ああ、そんなやり方あったんだなあ」と思わされる部分がいくつもありました。
そして、私のテキトーなスクリプトを見られたかと思うと恥ずかしいばかりです。
いや、このスクリプトだいぶ古いしね。あのころはまだJavaScriptに不慣れだったから・・・
と、言い訳。
あと不具合っぽい動作のご報告もちょうど来たので、ついでに対処しました。
こういう細かなことでも、言っていただけるとありがたいです。
先週書いた新しいプラグインはまた先送りです。
というか、使いどころあるのかと思うような機能が増えてます。
まあ、私が使うんですけどね。
コメントへのお返事です。
> ARL さん
こんにちは、いらっしゃいませ~。
質問への返答ですが、【RGSS3乗り物擬似3D化】にそのような機能はないですねえ。
乗り物の操作自体を上書き変更しているので、特定の乗り物だけをデフォルトにとかできないです。
それをやるとなるとデフォルト操作を残しつつ新しい機能を追加する方式へと変更せねばならず、
正直今からそのような根本的な改変は難しいです。
なので現状は無理ということになります。
申し訳ないです。
不具合修正
文章の表示拡張
●不具合修正
【[文章の表示]で文章の最後がウェイトだった場合、それが無視される不具合の修正】
を追加しました。
なんかボタン入力待ちを遅らせることができないなあと思って調べてみたら、
最後のウェイトが無視されるようになってたので修正です。
まあ、私が困ってただけで大した不具合ではないです。
●文章の表示拡張
ご要望のあった競合問題とご報告のあった不具合を修正しました。
私のプラグインもだいぶめんどくさい作りになってますが、
トリアコンタンさんのプラグインもかなり複雑なので
正直競合問題の解決は無理だろうと思っていたのですが、
トリアコンタンさんのプラグインを見ていたらなんと私のプラグインとの競合を解決するための
専用の処理があってびっくりしました。
こりゃあ、私の方も対応しなきゃダメだろうと気合を入れ、
なんとか確認できたいくつかの競合問題は解決できました。
それにしても、やっぱ有名どころの人のスクリプト見てるといろいろと勉強になりますね。
「ああ、そんなやり方あったんだなあ」と思わされる部分がいくつもありました。
そして、私のテキトーなスクリプトを見られたかと思うと恥ずかしいばかりです。
いや、このスクリプトだいぶ古いしね。あのころはまだJavaScriptに不慣れだったから・・・
と、言い訳。
あと不具合っぽい動作のご報告もちょうど来たので、ついでに対処しました。
こういう細かなことでも、言っていただけるとありがたいです。
先週書いた新しいプラグインはまた先送りです。
というか、使いどころあるのかと思うような機能が増えてます。
まあ、私が使うんですけどね。
コメントへのお返事です。
> ARL さん
こんにちは、いらっしゃいませ~。
質問への返答ですが、【RGSS3乗り物擬似3D化】にそのような機能はないですねえ。
乗り物の操作自体を上書き変更しているので、特定の乗り物だけをデフォルトにとかできないです。
それをやるとなるとデフォルト操作を残しつつ新しい機能を追加する方式へと変更せねばならず、
正直今からそのような根本的な改変は難しいです。
なので現状は無理ということになります。
申し訳ないです。