少しずつ作業を進めていっています。しかしふと思うのは、長編は制作がそろそろ厳しくなってきたということ。さすがに他のこともやりながらのこの制作量では、いずれ限界がきますね…ただだからこそ「今」まさにこの瞬間にやっておこうとも思えてきます。ある程度自分の中で区切りがついたら、今後はテキスト量も少ない短編メインになるかもですね(自作品の英語版をリリースして海外販売したいというのは、野望として秘めていますし)。
さて、今回は進捗というより「便利Tips」な話でもしようかと思います。
「透明」の代わりに明示的なグラフィックを置いてみよう
「ワールドピース&ピース」みたいな大長編を作っていると、必然的にデータ量が増えてごちゃごちゃしてくるわけですが、その際に便利なテクニックの一つをご紹介します。
「場所移動ポイント」「イベント発生マス」「通行禁止」「アニメーション再生位置」などでマップ上に「透明なグラフィック」を置くことは多いと思うのですが、これらを透明のまま置いてしまうと、データ量が増えてきたときにエディタ上の視認性が悪くなりがちです。またテストプレイ時においてもやや不便と言えます。
そこで透明(=グラフィックを設定しない)の代わりに、下記のような1タイルサイズで区切ったグラフィックを表示させます。
するとエディタ上、およびテストプレイ時に ↓このように表示されます。
透明の状態より、はるかに分かりやすくなったのではないでしょうか。
イベントマスの機能タイプとして、僕は下記のような分け方をしています。もちろんここは制作される方ご自身が分かりやすい分類で問題ありません。参考までに自分の例を上げておきます。
- Ev:イベントマス
- Door:扉が開く系のイベント
- Move:場所移動ポイント
- Stopper:一時的に通れなくするイベント。「村長に挨拶するまで村を出るのはやめておこう」的な、イベントが進行するまでプレイヤーの動きを制限するアレです。
- DontThrough:通行不可。jsを書き換えリージョンに通行不可判定を持たせた方がラクですが、シーン展開によってはイベントマスを使った方がよいケースもあったりします。
- TempEv:テンプレートイベント。トリアコンタン様のプラグインで使用する、あるいはスクリプトを書いて同マップの別イベントを呼び出す場合などに使用。
- Place:「ワールドピース&ピース」では最初に新マップに入ったときに地名をカッコよく表示させたいと思っているのですが、その時に使うイベント。
- AnimPos:アニメーションの再生位置。演出作成時「このイベントに対してアニメ再生するよ」という位置を明示するために使用。
- 定期処理:一定間隔でSEを鳴らす、などといった定期処理イベントで使用
- Layer:橋の上を通っているか下を通っているかの判定切替マスなどに使用(※ここら辺はどういう方法で実装しているかによります)
制作用の明示グラフィックを消す
ゲーム販売・配布時に制作用のグラフィックが表示されたままになっているとよくないので、消しましょう。
例1:コアスクリプトの挙動を変える
「特定の画像ファイル名(今回の場合は「$_SysMsg」)の場合は強制的に空欄(=透明)にする」ようにします。下記はあくまで一例です。
const _Game_CharacterBase_setImage = Game_CharacterBase.prototype.setImage;
Game_CharacterBase.prototype.setImage = function(characterName, characterIndex) {
if (characterName === "$_SysMsg") {
characterName = "";
characterIndex = 0;
}
_Game_CharacterBase_setImage.call(this, characterName, characterIndex);
};
ただプログラムを書き換えたくない方は、下記のやり方がよいかと思います。
例2:実際の処理は2ページ目から記述する
MZではエディタに表示されるのは1ページ目のグラフィックです。そこでイベント1ページ目はグラフィック表示用にし、2ページ目から実際の処理を書きます。ただ好みにもよりますが、これは少々面倒なやり方かもしれません。
例3:ゲームデプロイメント時に画像ファイルを透明にしてしまう
画像ファイル自体は存在させておき、画像の中身を透過.pngにします。下手にプログラムをいじりたくない場合は、おそらくこれが一番手っ取り早くてラクかもしれませんね。
もちろんお好みの制作スタイルによります
ゲーム制作用視認グラフィックの用意は完全に好みです。設定が面倒だったり、内部的に余計な処理を挟みたくない場合はナシでも全く問題ないかと思います。
ただ何事もそうだと思いますが、規模が大きくなるほど、きちんと管理されているかどうかが重要になってくるケースは多いです。その際のヒントの一つとして今回はこのような記事を書きました。
あとこれは全くの余談ですが、全般的にファイル名に日本語を使うのはあまりオススメはできないかな…とは思います。これは文字化けが発生したり、ファイル転送の際に色々と問題になりやすいためです。なのでファイル名はなるべく半角英数字でつけるのがよいですね。英語で書くのが苦手だったらローマ字で書いてもよいと思います(「Actor1_1」→「Shujinkou1_1」とか)。