第九章:マップチップ 一ノ巻:マップチップとは |
第九章はマップチップの話題をしておきたい。RPGツクールを触った事のある人ならお馴染の 言葉ではあるが、ここでも簡単に触れておこう。 過去のゲーム製作ではソフトを収録するメディアや使えるVRAMのサイズ等に悲しいほどの 容量制限がついて回ったので、容量を食いがちになるグラフィックではあらゆる部分の共通化を 計り「海はこれ、山はこれ、ダンジョンの壁はこれ」と言う風にあるサイズに区切られたパーツを タイル状に並べる事で表現していた。ドラクエ1〜6までのマップ画面が分かりやすい例だろう。 山の絵を並べて「ここからは険しい山脈地帯」と表したり、木の絵を並べて「ここは深い森」等、 あれはほとんどお約束の世界なのでそのままでは他に転用出来ないが、チップ化の考え方 自体は昔から必須と言うべき物である。まあ、そうしないと大きな画面が作れなかったのだが… パッと見、分からないような部分にも共通化されたパーツを上手く配置してファイルサイズを 減らすチップ化の行為は、ハードの進歩により必要な局面は減ったとは言え、まだまだ現役。 ある意味ドット絵の顔である。今回はこのチップ化の勘所と注意点を列記して行きたい。 ■単純な島と海のマップチップの例 例えばこんな16*16ドットで10種類のマップチップがあったとすると…
下のマップは右下のようなチップの配置で構成する事が出来る。チップの種類を増やせば それだけ複雑な物も構成出来るようになる。
と、こんな感じで巨大な画面を作れば1枚絵で持つよりも遥かに少ないデータ量で絵を構成 出来る訳である。チップキャラの上下左右反転や個別の色替えが出来ればさらにデータ量を 減らす事が可能になるが、それは作る対象によって可不可があるので臨機応変に対処する。 なお、上記のチップキャラは超テキトーに作ったので、上下左右反転を使えないとこれだけでは 大きな島を作る事は出来ない(四隅や各辺に相当する部品が足りない)。実際はそれら必要な 部品も規定の容量に収める事になるので、画面設計時に良く考えて最初は「絶対必要な物」から 「あると絵が豪華になる物」と言うステップで製作して行くのが間違いが無くて良いと思う。 |
第九章:マップチップ 二ノ巻:チップ化の勘所 |
ここでは実際にチップ化する際に押さえておきたいポイントをいくつか列記して行く事にしよう。 ●ポイント1:正確な構成 チップ化の際に最も注意すべきポイントは「チップが正確に繋がる事」である。ある一定のサイズの チップキャラを敷き詰める事により大きな画面を表現する関係上、どこかにチップが繋がらない部分が あると非常に不味い。目の前にあるPCのキーボードで例えるなら、キーが一個だけ違う色になってる ような物だ。チップ製作時に「このチップはどのチップと隣接する可能性があるのか」と言う事を十分に 考えて作業を進めて行きたい。 ■不具合を誇張した例 上図の左上のように「組んでみたら変だった」と言う事はまれにあったりする。上図はかなり誇張した ミスの例だが、隣接するチップと1ドット合わないだけでも目立つ事もあるのでチップの四辺の合いは 特に目を光らせておかねばならない。下図のように最低限、黄色部分には注意を配る事。この部分が 繋がるように作っておけば「とりあえず絵は繋がる」ので、まずはこの四辺の繋がりに注意を向けよう。 あるチップがどれくらいの数のチップに繋がるかはマップの設計次第で変わるのだが、マップが自動 生成のゲームでは「隣に何が来るのかわからない」ので、最初から何が来ても大丈夫なように準備して おかなければならない。 ●ポイント2:パターン認識への対応 チップの四辺をすり合わせる事により他のチップとは繋がる訳だが、それだけでは不充分な場合が 出てくる。Webサイトの背景で良く見かけるが、とりあえず繋がってるようには見えてても「何か変」 なのである。下図のありがちな例を見て貰いたい(この例ではホームページビルダーの背景素材を Photoshopでパターン化して敷き詰め、縮小した)。 ■ありがちな例(右図は色を変えて誇張した物)
とりあえずチップ的に繋がってはいる。が、四辺のすり合わせだけに力を注いだ結果、皮肉にも四辺の 繋がりを強調してしまったと言う非常にありがちな例である。右図では分かりやすいようにコントラストを 強くして、よりパターンが分かるようにしてみた。一昔前のスクロールゲームでも良く見られた絵だが、 一種類のチップで構成した場合はよほど注意しないとまずこうなる。これは四辺を平均化する事により 中央のイメージが誇張されて起こる現象で、どうやら人間の視覚認識の仕組みに関係しているらしい。 詳しい事は良く分からないが、要するに「人は分布の中からパターンを認識するのが得意だから下手に 並んでるとわかっちゃうよ」って事である。特に水平垂直に分布してるパターンを認識するのが得意で、 上図のように縦横にパターンが並んでるとたちまちバレてしまう訳だ。この問題は大変頭が痛い。 ではどうするか。具体的なアプローチは2つある。 (1)四辺以外も平均化してパターン化を軽減する 四辺を修正するだけに留まらず、中央を含めて全てに手を入れてパターンが見えないようにする方法。 例えばハード的な制約で「このチップは広く敷き詰めるけど。64*64を1枚しか持てない」となった場合に このアプローチを使う。パターンが見えなくなるまで手を入れるので、必然的にTV放送の砂嵐画面のように 「どこにも特徴がない」チップに近付く。変に特徴があっては敷き詰めた時にパターンが見えてしまうからだ。 この方法は元々見た目の特徴が感じにくい、芝生や砂地・アスファルトなどに使うと効果的だ。むしろ この手の物が変にパターンを主張するのはヤバイ(下図は元々6種類で作った上空から見た波のチップの 一つを取り出して並べた物)。
(2)複数のチップをグループで用意する 容量に余裕がある場合や、あえて個々のチップサイズを小さくして種類を増やた場合は組合せにゆとりが 生まれるので、少し毛色の違ったパターンも混ぜる事が出来る。(1)の豪華版と言う所か。例えば地面を 作る場合に128*64で1枚チップを持てる余地があったとする、その時に1枚丸ごと持つのではなく左下図の ように「32*64の4枚」で持つと言う考え方だ。この方法は製作に手間はかかるものの、微妙に異なる絵を 持てるので、ランダムに組み合わせた時に絵の中に微妙な違いを持たせる事が出来るのが大きなメリットだ。 当然、チップグループ内のどれが来ても綺麗に繋がるように注意して作らねばならないのだが、この方法は 地面や森など「全体としては平均したイメージだが個々は微妙に違う」物を丁寧に表現したい場合に効果的だ。
|
第九章:マップチップ 三ノ巻:反転の落とし穴 |
ここで反転機能に付いても簡単に触れておこう。あるハードによっては登録したチップを上下左右に 反転したり90度回転させたりして表示出来る場合がある。この機能があると、左右の振り向きなどを 表現するのに1方向の絵のみで良いのでデータ量削減に非常に効果的なのは自明の理だろう。 実はこの反転を更なるデータ量削減のために背景にも使う場合がある。分かりやすい例で言えば 建築物などを一点透視で表現した場合などだろう。基本的に建築物などは左右対象なので、反転で 表現するのに都合が良いのである。 だが、ここに反転の落とし穴がある。以下のような物を見た事はないだろうか。
分かりやすいように右図では拡大して枠線を入れた。反転で良く見られる人面現象である。 通常、ループする背景を作る場合は反転を使わずに左右が繋がるようにするが、ソフトによっては 反転で済ませたり格闘物のように「反転で良し」とする場合がある。この際に四辺周辺の処理が 甘いと反転で繋いだ時に接合部に顔のような物が見えてしまう。これはパターンの中から生物的な 物を見つけ出そうとする心理の働き(所謂”ゲシュタルトの理論”)が関係しており「何か壁のシミを 見てたら人の顔に見えてきた」ってヤツの事である。この人面現象は何も背景に限った事ではなく、 反転を使う部分には必ずついて回るので、反転で済ませる場合は人面現象によくよく注意を払い 「あのソフトには人の顔が出てる」などとあらぬ噂が広まらぬようにしておきたい。 反転に一工夫して容量軽減とパターン認識を押さえる方法もある。中央の接合部をある程度の サイズで別キャラとして持ち、反転の印象を軽減するアプローチだ。 ■中央を別キャラで持つ
上図のように単なる反転では具合が悪い場合に、追加としてそこそこの横幅のキャラを用意する。 そして反転の中央部分に重ねると下図のようになる。これで相当に中央の印象は良くなるので データ量を押さえたい場合にも効果的だ。実際にデータを持つ場合、黄色の隠れる部分は最初から 必要無いのでその分を削った赤パーツと黄色パーツだけを持って「赤+黄色+赤反転」で繋げる事になる。 この方法は反転を使わないループ背景の繋ぎに用いて、ループのパターン感を軽減させるのにも 使える。こう言うジョイント的なパーツを用意しておけば色々と出来るので繋ぎのアイデアとして 覚えておくと色々小細工が効くだろう。この手の方法は多くのゲームで使われているので、どう言う 構成でその絵が出来ているのか注意して見るていると、きっと得る物が多いだろう。 まあ、マップチップ関連の基礎はこんな感じか。例によって次は何時になるかは分からないが、 配色の勘所とかそう言う方面になるかも知れない。 |