Twtterで月1での創作系の話の更新したとして何が良いかとアンケートとったら、システム構築の小ネタってなったので、自分の使ってるゲーム制作での小テクを月1くらいで書いていこうかなと思います。


というわけで第1回は「立ち絵」


私の使ってるエンジンは吉里吉里ですが、他のエンジンでもたぶん使えると思います。

同一の基本立ち絵でいろいろな状態反映させると差分がねずみ算式に増えます。
立ち絵をその数だけ書き出すというシンプルな方法もありますが、反映させる要素が増え、組み合わせが増えるとファイル数が莫大になってしまって管理が大変になります。
なので、大まかなレイヤーブロックに分割してゲームの中で組み合わせて表示するということをしています。

立ち絵の差分を作るときにレイヤーがいくつもできるわけですが、そのレイヤーを上から大まかにわかりやすい要素ごとに分割して書き出します。
それをゲーム上で重ねるだけなのですが、後から差分増やしたり結局使わない差分ができたりの対応もしやすいという利点があります。
ただ増やしすぎるとすごい量のファイルの組み合わせ処理をしないといけなくなるので、そこはほどほどの塩梅にします。

「退邪天騎ステルラヴェント~天騎淫略作戦~」の場合だと4レイヤー処理で、「退邪天騎ステルラヴェント~天騎淫辱改造計画~」の場合だと7レイヤー処理で行っています。

この方法は、とにかく上に乗せればいいものは上に表示していくというスタイルが使えるので、組み合わせ出力の数はすごく減ります。


しかし、どうしてもゲーム内でのレイヤー結合では処理できない場合もあります。
その時は画像の命名規則として、大きな要素のファイル名(例:体)に「コス破れ」「コス汚れ」etcといった変更要素の順番を決め、それを満たしていたら1そうでないなら0のように順番に割り振る方法も使います。
こちらでは、それぞれの項目をチェックしてファイル名を生成してそのファイルを呼び出すルーチンを作ることになります。

ただこちらは画像の書き出しがとにかく大変なので、前者のゲーム内での結合をなるべく使いたいですね……



まあ、こんな感じで色々書いていこうと思います。
聞きたいことがあればコメントなりtwitterでリプしてもらえれば、そのことについて書くかもしれません。