アリテイ 2023/04/19 22:33

異世界チート転生RPG+NTR#10

どうも アリテイシア です!


今回はプログラムも書けないド素人がRPGツクールの 『ピクチャ移動』 というプログラムについて語ります


続きの容量(軽量化)の話をしようかと思ったのですが、前回のコメ返信の言い訳のような内容となります
興味ない方は目次で飛ぼう(^^)/


雑記(ツクールMZの話)

これまではツクールにおける『ピクチャの表示』について限定して色々語ってきました
結論として 『RPGツクールで高解像度の画像を使うのは無意味』 ということ


しかしゲームとなれば当然ビジュアルに拘りたいと思うもの。見やすくしたらその存在が気になってしまったり、一長一短を繰り返し出来上がっていきますからね……!('ω')



そんなビジュアル構成上ピクチャを表示しそれを『移動・変形』したりすることはゲームにおいて非常に大切である!
ということで、RPGツクールの『ピクチャ移動』について掘り下げていきます


ピクチャを『移動・変形・透過』したりできる!のが『ピクチャ移動』!!! …………なのですがぁ、



そんなRPGツクールのビジュアル性を担う『ピクチャ移動』が決定的に扱いづらい理由をまずお話ししようと思います
こちらです



これはエロステータスの増加を変数入力するだけで並列処理してしまおうというプログラムのピクチャ表示系の一部になります(トリアコンタン様の動的文字列ピクチャプラグインを使用しています)


同トリアコンタン様のメッセージスキッププラグインを使っている関係(あえてウェイトを入れない限り速すぎて一瞬で文字が通り過ぎる)からウェイト無しで並列処理するようにしてあります。並列処理の中にウェイトを挟むとその間に入力された変数の処理をしてくれません(処理が飛ぶ感じ)


さて……それはさておき、ツクールの問題についてです
『ピクチャの移動』というコマンド、こいつが問題なんです( ゚Д゚)



『ピクチャの移動』というコマンドだけで『座標』『不透明度』『伸縮率』『イメージング・動作時間』の全てを入力しなければならないのです。唯一の救いは座標だけは変数も使える……。というか『それだけ』動作時間も最大999フレームとなっていて17秒以上の操作は受け付けません。(やり様としては途中までの処理を何度も差し込んで。つなげていけばできるが、並列処理でやると別の問題が生じる)



例えば時間経過でどんどん透明になるように10秒間ピクチャ移動で命令します。これをある一定の段階(プレイヤーの操作)で移動させたい時、命令が上書きされて移動して終わってしまいます…… なぜか……? 不透明度を0にする600フレームの命令が新たなピクチャ移動の命令、例えば……不透明度が100ほどまでいっている状態新たな命令『X軸500Y軸500不透明度255動作時間60フレーム』があったとした場合、画像が1秒で指定の場所に移動します。その1秒の間にゆっくり透過してたものがくっきりと表示されながら。つまり、命令を上書きして100だった不透明度への命令が255で終わってしまうのです



ちょっと何言ってるかわかんないと思うので、情報を足して視覚化してみます

このようなプログラムを実行します
すると


こうなります('ω')




(プログラムだから当たり前だけど)命令を無視しない。後発の命令が『座標』『不透明度』『伸縮率』『イメージング・動作時間』の全てを支配してしまうのです。ただそれぞれの与えられた命令を着実に実行してくれます!実に面白い



これを解消する方法は簡単です
『思惑通りの状態になるまでウェイトを入れて待たせればいい』
これは早い話、プレイヤーが処理待ちを常にさせられるという事でもあるので、ものすごくテンポの悪いゲームになるってこと


ピクチャ色調はフェード指定(動作時間)もあるのになんで……なんで不透明度は
せめて不透明度くらいは別のコマンドで実装して欲しかった
ピクチャの色調とか回転とかあるけど、ピクチャの移動だけ稼働率がヤバい!!!
ピクチャの回転とか使いにくすぎて誰も使わねーよ!( ゚Д゚)
……誰が使うんだ画像がクルクル回るだけのこの機能。角度や動静をコントロールできるならともかく回る方向と速度しか弄れないし、最低の速度でも1秒で20度以上も回転するとか誰得なん!?




座標はともかく、他の部分で変数が使えないのはかなり痛い。ピクチャの状態を判断してそれを反映できない訳ですから……ツクールは初心者向けだけど、凝りだすと中々に難しい部分が見えてくるツールなのです"(-""-)"




このような問題はプラグインの導入で簡単に解決する場合があります。しかしピクチャ系のプラグインは個人的な見解として『競合しやすい』背景があり、導入しても意図した動作がされなかったり別のプラグインの動線を乱す場合もあるので初期段階でどのようなゲームにするのかをしっかり考えて導入する必要があります(´Д⊂ヽ



む ず か し い ね ('ω')



関係ないけど、量子コンピュータはすごいね!
スイッチがONでもOFFでもありどちらでもない状態から、正解っぽいを探し出すという処理手順らしいけど…… 自分で言ってても、言ってることの意味がまったくわかりません!( *´艸`)



並列処理って何ぞや? と思われたかと思いますので、次回は並列処理とゲームの重さについて話そうかなと思います

興味持ったらアナタも同人ゲー作り始めてもいいのよ?('ω')

フォロワー以上限定無料

◆先行公開情報やネタバレがみれる ◆発売時にメッセージが届く

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索