今作からの改善点とかの話
ブログを更新出来る元気とか心の余裕とかがある内に更新。
今回は、今作からの改善点というか
今まではやってなかったけど今回からやっていく事にした事についでも書き残しとく。
まず1番分かりやすくて、かつ1番重要かもしれないくらいの改善点。
CGを表示する時に、背景を黒くしてからキャラの周りを白くするようにした。
今までこう↓してたのを
こう↓するようにしてから
こう↓するようにした
具体的に言えば
黒色で背景を塗りつぶしてから、それを透明度60%で表示するようにして
キャラの周囲にエアブラシツールで白いモヤを書いて、それを透明度20%で表示するようにした。
一番上の画像を見て貰えば分かると思うが
何の加工もしないままでゲーム画面にそのままCGを載せていると
背景とCGが同化してしまって見栄えが悪い。
今でこれを何とかする為にゲーム側の色を暗くしたりCGを表示する時に小物を消したりしてたんだけど
「よく考えたら直接CGで背景を黒く塗りつぶせばいいんじゃね?」という発想にようやく至って、それを実行した。
今まで何でやってなかったのか分からないレベルで、やっていて当たり前の事だったと思う。
今作は手探りでこれをやっていったから
背景を塗りつぶす為の黒色をCGに直接書き込んでしまっているけれど
次回作を作るなら、背景を黒くする為だけのCGを最初から1枚用意しとく方式にすると思う。
CGを表示する時はまず画面全体を覆う黒色を表示して、その上に白いモヤを入れたCGを表示する形式にしたら、色々融通も効いて良さそう。
2番目の大きな修正点は、絵の上に絵を表示するようにした事。
今までこんな↓感じのCGを表示する時は
そのままこの画像をゲーム内のピクチャフォルダに保存してからそれを表示していたんだけど
今回からは、ゲーム内ではまずこれ↓だけを表示して
そこにこれ↓とか
これ↓とか
これ↓とか
こういうの↓を、必要に応じて上に乗せて描写していく形にした
この方式は、服の上に精液をかけるみたいな差分と差分が重複してしまう表現が難しくなるんだけど
その代わり、戦闘パートとかでゲーム内に用意するデータ量が滅茶苦茶減ったり
そのおかげで自由に服を脱がせたり、浴びせた精液をずっと表示し続けたりするような表現が出来るようになった。
これも今思えばもっと昔からやってたらよかったと思う。
ただし、バトルファックでの戦闘パートとかじゃない
最初から10枚くらいしか差分を使わない普通のHシーンだとこの方式はとらず
今まで通り普通に表示するCGをそのままゲーム内に1枚絵として保存する方式を取ってる。
(回想ルームでCGのみを表示する機能を作る時とかは、やっぱそっちの方式にしといた方が楽なので)
3番目の大黄な変更点は、バックログの実装と最初にゲーム内で直接それを説明するようにした事
今までもテキストスキップとかオート進行とかは(たしか)実装してたんだけど
バックログだけは実装してなかったと思う。
理由は別になんも無くて、ツクールにそういう仕様がないし自分もそれが必要という発想にあまり至らなかったから
でもよく考えたら欲しいと思って、そういう機能を作ってる人がいないかなと思って探したら
普通にめっちゃいて、しかも滅茶苦茶簡単に実装出来た。
そしてこのシステムを入れた状態でテストプレイして分かったのだが、今まで無いのがおかしかったくらい滅茶苦茶有用な機能だった。
それと、よく考えたらこういうシステムを実装してても
実際にゲームを遊んでもらう人がそれに気づいてなかったら何も意味がないし
付属のテキストファイルとかに書いててもそれを読んでからゲームやる人の方が少ないだろうから
ちゃんとゲーム本編の最初に、それを文章として表示しておく事にした。
あとはシステム的な話として
Hシーンでピストンをしてる時の断面図のアニメがCGの上に表示されるようになった。
今までも本当はずっとCGの上に表示したかったんだけど、技術的なアレが足りずに出来てなくて
でもやり方を思いついたから出来るようになった。
(こういう仕様についての話を解説する能力がないので
おそらく殆どの人には意味が分からない謎解説になるんだけど
今までは、アニメーションをループして表示するのは専用の拡張機能を使ってて
その拡張機能の仕様のせいでCGの下にしかアニメを表示出来なかったんだけど
そういうのを使わずに、普通に会話中に平行処理イベントでアニメを表示して
そのアニメは実行が終わったフレームでもう1回最初からループするって処理を組んだら
なんか上手い事行って、任意のタイミングでCGの上にループしてるアニメを表示出来るようになった)
それから、バトル中に敵にダメージを与えた時
ダメージポップアップって言って与えたダメージの数値が画面上に直接表示される奴があるのだけど
それが、ちゃんと敵の斜め上の見やすい位置に表示されるようになった。
これも、出来てなかったのは単に技術的な話で
ダメージの表示位置を調整する拡張機能的なやつは昔からネットで拾ってきた奴を実装してたのだが
それをキャラ毎に個別に設定する方法が分からないので
キャラ毎に毎回ちょうどいい位置にダメージを表示する事が今まで出来てなかった。
しかし今作は、服とかを差分で表示するようにした関係上
敵の斜め上のちょうどいい位置にダメージを表示しないと、ダメージが服の差分とかの画像で隠れてしまうっていう致命的なアレがあって
それを何とかする為に、何とか頭をひねった。
その結果、実はネットで拾ってきたそのダメージの表示位置を調整する機能のやつは、表示位置に変数が使える事が把握して
戦闘が始まるタイミングで毎回「今回のダメージの表示位置はX座標がこれでY座標がこれね」ってちゃんと設定出来る事が判明して
何とか事なきを得てたらしい。
あと、RPGツクールMV自体のバグで
戦闘中にイベントを実行したらターンの経過がカウントされないみたいなのがあって
それが色々邪魔だったせいで、「敵の状態異常が1ターンまたは2ターンで回復する」って機能が作れなくて
そのせいで戦闘を単調な感じにせざるを得なかったんだけど
そのバグの直し方とかをちゃんと学んできて
「相手にピストン攻撃をしたら1ターンまたは2ターン相手はピストン攻撃への耐性が出来る」みたいな仕様を作れて
それでちょっとだけやりたい仕様みたいなのを出来るようになったりしてた。
(ゲームをやって貰えれば分かると思うけど
要は頭の上に耐性アイコンを表示してるアレが再び出来るようになった)
そんな所か。
あとは回想ルームで戦闘のCGを見た時の仕様が豪華になったとか
負けた時に敗北イベントをスキップ出来るようになったとか、そういうのもあるんだけど
それは解説しようとしても、ツクール内でどういう処理にしたかの解説にしかならないので
頑張って作ったとしか説明のしようがない。
まあとにかく、色々頑張って作ったらしい。
こういうのは全部、一度出来てさえしまえば簡単に流用出来る技術なので
もしこのサークルに次回作がまだあるなら、今作の便利機能とかは大体継承されていくと思う。(たぶん)