いま読まれている記事

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった

article-thumbnail-230626c

1

2

3

背景パネルの組み合わせがなめらかに描写されているのは、「がんばった」から

──『タクティクスオウガ』は全ての地形パネルの組み合わせがきちんと成立するようになっていましたよね。これが本作の地形表現の中核だと考えていまして。
 たとえば『ソルスティス』【※】など、当時のクォータービューのゲームってパネルのつなぎ目を線で区切っているから、地形の境界部分を綺麗に表現する必要がなかった。でも『タクティクスオウガ』では、その地形の境界部分をすべて美しく描写しているじゃないですか。

 スーパーファミコンには全ての地形パネルの組み合わせパターンを乗せられるほどのVRAM(グラフィックメモリの容量)がありません。そのため、「全部の地形が必ずこの緑の草を経由する」というハブとなるパネルを軸とした作りが、当時の一般的なゲームにおける背景の作り方であったように思います。
 その中で『タクティクスオウガ』の全地形パネルがしっかり組み合わさるように成立していたのは、どのような技術だったのでしょうか。

※『ソルスティス 三次元迷宮の狂獣』
1990年にエピックソニーレコードより発売されたファミコン用パズルアクションゲーム(開発はイギリスのSoftware Creations)。クォータービュー方式の疑似3Dマップを探索しながら、黒魔術師にさらわれた姫君の救出を目指す。

吉田氏:
 結論から言いますと、全部のパネルが綺麗に組み合わさるように作ることができたわけではありません。でもそれっぽく見えるようにできたのは、特殊な技術とかではなく、“がんばった”から……ですかね(笑)。トライアンドエラーを繰り返して、定められた容量の中に詰め込めるだけ詰め込みました。

 手順としては、まず最初にゲームの中に入れられるパネルの容量を計算しました。それで各パネルを「これとこれは隣り合わせになります」、「これとこれはなりません」と総当たり式に決めていったん入れてみる。
 すると容量をオーバーする部分が出てくるので、「じゃあこのパネルは潰そう」とパネルの種類を削って、また計算させて……といった流れですね。

皆川氏:
 最初のころは4種類ぐらいのパネルで作り始めていたんですよ。そこで容量がパンパンになってしまったらさすがにマズいなというところだったんですけど、やってみたら「意外と入る」みたいな(笑)。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_014
(画像はWii Uバーチャルコンソール『タクティクスオウガ』より)

──それにしても、『タクティクスオウガ』では特殊な地形以外はほとんど切れ目なく繋がっているように素人目には見えるのですが……。

皆川氏:
 城の壁とかは、たまに隣り合っている所がスパーンと切れていたりしますよ。
 でも「目立たないから全然オッケー」という感じで(笑)。

吉田氏:
 最初に作っている時はもっと切れ目があったんですけど、「これは目立ち過ぎ」って言われたところを中心にドットを打ち替えていって。そうやって、いわば“馴染みやすい”パネルを作っていったんですね。

 とくに草のパネルなんかは自分の中でも会心の出来栄えだったので、色だけ変えて「土」とか「雪」のパネルに流用したりしています。木のパネルも、容量的にはもうひとつかふたつは増やせたはずなんですけど、「これ以上、良い感じのサイズの木のパネルは描けない!」と思って、使い回しでいいやって(笑)。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_015
『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_016
同じチップのパレットを変更することにより、「草のパネル」を「雪のパネル」として流用している

皆川氏:
 昔は背景とキャラクターで使える容量の大きさが決まっていましたからね。泣いても笑ってもこれだけの容量【※】しかなかった。ただその中でも、可能な限り全パネルが組み合わせられるようにがんばっていました。

※スーパーファミコンのVRAMは64KB。BGチップは16色で512x128pixelを占有する。

吉田氏:
 もちろんゲーム全体の容量も決まっているので、素材がそろったあとに最終的に全部でどのくらいの容量になるのかを毎回測っては「よし、ちゃんと入ってるぞ」と確認して。すごく地味な作業ですけど、こうして容量を逐一チェックしていたからこそ、詰め込めるだけ詰め込めた感じですね。

背景、UIのグラデーション表現に隠された、プログラマーによるテクニックの数々

──もうひとつ背景に関して、『タクティクスオウガ』は最背景にある「空の色」の表現もすごく豊かに見えるのですが、これはどのように制作されたのでしょうか。

皆川氏:
 これは「水平帰線区間(Hブランク)」【※】を使っていろいろと細かいことをやっています。
 実際の背景は単色のベタ塗りなんですけど、そこに水平帰線の割り込み命令を加えることで、徐々に色が変わっていくように処理をしている感じです。

※水平帰線区間(Hブランク)
テレビの画面上で形成された1本の走査線が次の走査線へと移るまでの時間のこと。左端から右端までの走査(スキャン)を終え、その後左端へと戻るまでに要する時間として空白区間(ブランク)が設けられている。
SFCではそのわずかな時間に何らかの処理を割り込ませることができた。

──そのような形でグラデーションを表現されていたのですね。

皆川氏:
 はい。元々、Hブランクを使った表現を作るのが自分の趣味でして。
 この『タクティクスオウガ』を作っている時の2つ前……PCエンジンのプロジェクトがあったのですが、PCエンジンは1枚しかスクロール画面を持ってないんです。ですが、その仕様を越えて「たくさんスクロールしているように見せたい!」と。

 そこで、「Hブランクを使って多重スクロールを表現する」【※】ということをやっていました。『タクティクスオウガ』はそういう派手な使い方ではないんですが、たとえばメニュー画面でもHブランクの割り込みを文字の改行幅に使っていまして。
 通常は8×8ドットの画像パーツを並べてメニュー画面を作るんですけど、そこに4ピクセルだけHブランクで割り込みをかけることで、画面の表示位置をズラして文字列の改行幅を1.5倍に、みたいな細かいことをやっていたりします(笑)。

※俗に「ラスタースクロール」と呼ばれる技術

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_017
 

──そんなことをしていたのですか……!

吉田氏:
 『マジカルチェイス』【※】の背景が多重スクロールしているのもそれですね。

※『マジカルチェイス』
1991年にパルソフトより発売されたPCエンジン用横スクロールシューティングゲーム。開発はクエストで、ディレクターを皆川氏が担当している。

──グラデーションに関しては、空の描画のほかにも、ユニットの移動範囲表現にも使われていて、しかもアニメーションまでしています。こちらもどう描画していたのかが想像つかないのですが……。

皆川氏:
 これもHブランクを使っているという点では同じですね。先ほどお話したように、背景グラデーションの書き換えと、移動範囲内のパネルの書き換えを同時に行っています。

──背景のグラデーションと、移動範囲の描画の両方を同時に成立させることができるのでしょうか。ふたつが入り乱れると複数回にわたって割り込み命令を行う必要があるように思えるのですが。

皆川氏:
 パレットが違えば可能です。パネルを色のグラデーションになるように書き換えつつ、それをフレーム単位で少しずつ位置をズラしていく。そうすると、スクロールしているように見える……っていうやり方です。

 さっきの「HERMIT」エディターでいうと、灰色の単色に見えているパレットをラスター【※】ごとに書き換えをしていて、グラデーションにしています。

※画像表示の最小単位である1画素(ピクセル)が横1列に並んだもの

──そうだったんですか……。サラっと言われていますけど、そんなに簡単にできるものか、自分にはよくわかりません。ちなみにこの表現内容について吉田さん、あるいは皆川さんのほうからプログラマーさんへ何か指定があったのでしょうか。

皆川氏:
 これは自分ですね。「パレットの割り込みでこういうのがやりたい」って言ったら、メインシステム担当のプログラマーが「しょうがねえな」ってやってくれる、みたいな感じです。

──なるほど。あと陰影のグラデーションに関して、ランスロット(タルタロス)の印象的なシーン【※】がありますが、当時のスーパーファミコンでもこれほど滑らかで奥行きのある表現ってあまり見かけないと思うのですが如何でしょうか。

※『タクティクスオウガ』のオープニングにて、崖の上で火の照り返しを受けながらたたずむランスロットが映し出されるシーン。光源から遠ざかるように、画面左上の方向に向けて滑らかに暗くなっていく背景描写がある

皆川氏:
 これは3枚目のBG(BGスクリーン3、BG3)を使って表現しています。3枚めのスクリーンは透明色を含めて4色しか使えない、制限のあるBGなのですが、逆に言えば少ない色数は容量も少ないので、ちょっとした追加表現をするのに重要なスクリーンでもあります。

──これも一般的な描画手法なのですか?すごく特殊な表現な気がするのですが。

皆川氏:
 ここでやっているのは「2色のパレットを斜めに並べ、徐々に暗くなるパレットに置き換えていく」という作業ですね。で、崖面の方は特に何もやってはいなくて、上の平面部分にだけグラデーションをつけています。

──これも「HERMIT」の機能なのですか?

皆川氏:
 HERMITではありません。 「HERMIT」が生成したBG1とBG2で構成されるマップの上に、BG3【※】を光が減衰するように見えるエフェクトとして被せて表示しています。背景は「HERMIT」で組まれているものなので、その上にグラデーションを重ねて表示しています。

 僕らが『タクティクスオウガ』を作っている頃はスーパーファミコンの後期でしたから、BG3の使い方は他社さんもいろいろな手法が使われていました。

※スーパーファミコンの背景描画には「Mode」と呼ばれるプリセットが提供されており、『タクティクスオウガ』では「Mode1」をおもに運用している。この「Mode1」では16色パレットが使えるプレーン(レイヤー)が2枚、4色パレットが使えるプレーン1枚が用意され、このうち「BG3」は4色パレットが使えるプレーンのことを指す。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_018

フィールドで歩いているキャラクターはちょっとずつズレている……?

──次にOPの火の表現……ゲーム中のものと違いかなり透明感があるのですが、これはスプライト【※】による表現ではないのでしょうか?

※スプライト
小さな画像を画面上にハードウェアで合成して表示する映像技術。動くパーツを表現するのに適した機能とされるが、同時に表示できる数に制限がある。

皆川氏:
 これはスプライトではないです。スプライトだとこの表示量は間に合いませんから、先ほどのBG3で表現しています。BG3では4色のパレットが使えますが、1色を透明色に使っているため、火の色は3色で作られていますね。【※】

※BG3(プレーン)は画面を覆う一枚絵だが、アニメーション付きのBGを描画することによってスプライトの表示制限を回避しつつ、スプライトのような表現を実現している。そのぶんカメラは動かせず、プレーンが不足しているためユーザーインターフェースも表示できない。

──当時のスプライトって加算・減算はできなかった、という認識で合っていますでしょうか?

皆川氏:
 そうですね、スプライトで加算・減算はできません。ここではBG3を「HERMIT」で作った背景の上にエフェクトとして重ねています。先ほどの崖の上のグラデーションと、テクニック的には同じものですね。BG3は加算できるので魔法表現でも多用しています。

──カットシーン専用の表現手法ということなのですね。
 単純な質問で恐縮なのですが、スプライトの描画って、表示数の制限がけっこう厳しくなかったでしょうか。デザイナー側からこのように工夫した、といったものはありましたか。

皆川氏:
 ……頑張りました。

一同:
 (笑)。

皆川氏:
 たとえばステータス異常時の頭上表示アイコンは、別のスプライトで出すのが簡単なんです。ただ、それがたくさん出てくるとあっという間に画面表示の制限に引っかかってしまうんですね。

 そこで、ステータス異常になったキャラクターの絵が格納されているデータ(メモリーバンク)を直接書き換える……みたいなことをしています。ここでも使えるメモリーがかなり少ないので、『タクティクスオウガ』では待機キャラクターとアクション中のキャラクターを別々に管理しています。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_019

──スプライトの話でいうと、『タクティクスオウガ』で「スプライト欠け」【※】っていうのはほとんど見ることがなくて……。
 雪のシーンで、雪がチラついてるのはあるのですが、これはスプライト欠けではなくそういう表現なのかなぁと思います。

※スプライト欠け
ハードやディスプレイの表示方法の制約上、一度に画面上に表示できるスプライトの数に制限が発生することがあった。たとえばその限界表示数が4個だった場合、5個以上のスプライトを表示しようとしても表示されない。これが「スプライト欠け」と呼ばれる。

皆川氏:
 雪は意図的に点滅させていますね。点滅させると、一度に画面上に表示できる限界の数を交互に表示できるので、理論上は2倍の量を描画できる、という(笑)。

──いろいろなところで同時表示数が増えないよう、工夫されていたのですね。

皆川氏:
 はい。例えばスプライトの更新を毎回かけるようなケース……先ほどのステータス異常の書き換えも、一気にやろうとすると処理が間に合わなくなるんです。
 それでグループを4つに分け、同時に更新のかかるキャラクターを制限しているんですね。

 なので、よく見るとフィールドで歩いているキャラクターはちょっとずつ動きのタイミングがズレているんですよ。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_020
(画像はWii Uバーチャルコンソール『タクティクスオウガ』より)

──え……?

皆川氏:
 ユニットが行進するアニメーションをAグループ、Bグループ、Cグループ、Dグループというふうに4つにわけて、順々に描画しているんです。なので、アニメーションは60fpsでは更新できなくて、4フレームに1回の更新になるという制約があるんです。
 でもその代わり、同時に表示・描画する数は1/4 になりますから、ゲーム全体のパフォーマンスは安定するんですね。

──ほおー……。……これ、記事になりますかね?

一同:
 (笑)。

──ゲーム開発者としてはすごく面白い話なんですけど、一般読者の方が誰もついて来れてないような気がしまして……だ、大丈夫ですか!?(笑)

電ファミ編集部:
 いや、変態だったんだなぁ……っていうのはよく分かります(笑)。

皆川氏:
 たしかテンゲンさんの『ガントレット』【※】……あれのジェネシス版って、キャラクターがたくさん出るんですね。あれが「スプライトの更新を分割してやっている」というのを聞いて。それを参考にできるかなと。

※『ガントレット』
1985年にATARIよりアーケードゲームとして誕生した、複数人同時プレイ可能なアクションシューティングゲーム。メガドライブ版は1993年に発売。堀井直樹氏率いる有限会社M2(エムツー)が独自に移植を行い、ATARIの家庭用移植担当の子会社テンゲンの日本法人へと持ち込み、製品化へと至った。(参考リンク

充実した開発環境は60回ローンを組んでまで実現させた自腹の産物だった

──『タクティクスオウガ』と言えば地図のアートワークがありまして、これ単体で作品の世界観が十分表現されている印象を抱きました。
 この羊皮紙のクシャクシャ具合の表現には当時、衝撃を受けたのですが、これは普通のドット絵で表現できるものなのかという疑問がありまして。これはどうされたのでしょう……?

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_021
(画像は『タクティクスオウガ』公式サイトより)

皆川氏:
 まずコピー用紙をグシャグシャにして、コーヒーをぶっかけました(笑)。これが大元になります。

 それをスキャンして16色に変換し、その上にゲーム内の地図の輪郭を同じく16色で描きます。その上にBG3で作ったマップ上のルートを重ねると最終的なゲームの見た目になる……といった具合です。
 
──紙皺の上に地図を減算で描かれていたということですね。その上にルートを表示……となるとUIの部分はBG3ではなく、スプライトで描かれているっていう話ですよね。
 ……って、この質問は大丈夫なんでしょうか?(笑)。注釈が必要な内容かと思いますが……。

吉田氏:
 当時、スーパーファミコンで開発してた人以外は全く分からない話だよ(笑)。

一同:
 (笑)。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_022

──スーパーファミコンの描画方法って基本的には「加算と減算」【※】じゃないですか。今ではこういう処理をするときって、ほとんど「乗算」一択だと思うんです。減算って色の転び方が分かりにくいというのもありまして、この雰囲気を出すために色のコントロールは大変だったのかなと思ったんですけども、その辺はいかがでしょうか。

※現代では画像を重ねて色を調整する場合、基本的には「乗算」を用いる。しかしスーパーファミコンでは乗算の処理ができず、加算と減算だけで表現する必要があった。

図はAの画像にBを加算(Additive)、減算(Subtractive)、乗算(Multiply)したサンプル。減算では乗算と比較して画面が暗くなりすぎているほか、Bの水色の部分が赤色に、赤色の部分が緑色に変化してしまっている。こうした変化をインタビュー本文では「色が転ぶ」と表現している。なお、乗算では暗くなることはあれ、色が転ぶことはない。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_023

皆川氏:
 そんなでもなかった気がする。

──減算する前提で色を組まなきゃいけないですから、減算前はかなり変な色をしていることが多いと思うのですが。
 
皆川氏:
 まあ、そこはそうですね。といっても、当時は基本的にトライエンドエラーで作っていたからあまり気にならなかったのかもしれません。

──ちなみに、当時はどんなツールを使っていたんでしょうか?

皆川氏:
 当時使っていたのはPhotoshopですが……バージョン2.5とかそのぐらいですか。まだレイヤーが入る前です。

──レイヤーが入る前……!?。

皆川氏:
 で、確かヒューレットパッカードのスキャナーで紙をスキャンして、Macでフルカラーから16色に減色して、それをビットマップ形式に変換をして……といった感じですね。
 
──Macあり、98あり、X68000あり、スキャナーありとか、なかなかの環境ですね(笑)。

皆川氏:
 Macも自腹でした(笑)。

吉田氏:
 Macが自腹……!?

一同:
 (笑)。

吉田氏:
 いや、めっちゃ高いよ!?(笑)。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_024

──当時の皆川さんはギークというか……新しいもの好きな方だったようですね。3DCGもけっこうやられていたとのお話も聞いていますけれど。

皆川氏:
 そうですね。例えば『タクティクスオウガ』だと、弓矢の矢はわざわざ3Dソフト【※】で作ってるんです(笑)。

※「Swibel 3D Pro」というMacintoshの3Dアプリを使用していたとのこと。

──そうなんですか!?(笑)矢を3Dで作って、表現はピクセルで……。

皆川氏:
 回転させているんです。

電ファミ編集部:
 皆川さん今おいくつで……当時って何歳だったんですか?

皆川氏:
 今は52ですが、『タクティクスオウガ』を作ってる時は23か24ぐらいの時ですね。18で上京して、そのままクエストに飛び込んでるんですよ。
 20歳の時に作ったのがさっきの『マジカルチェイス』で、その後『伝説のオウガバトル』を作って……と。それで、25の時にはスクウェア(当時)に転職するんですね。

──ゲームのお仕事をしつつ、自分の趣味のためにPCを買われていたと。

皆川氏:
 そうですね。「いっぱい色が出るのが欲しいなぁ」って。

電ファミ編集部:
 当時の値段を考えると恐ろしいです。

皆川氏:
 後先考えないで60回ローンを組んでしまった、みたいなのはありました(笑)。

一同:
 (爆笑)。

電ファミ編集部:
 ろ、60回ローン……。

──あの……失礼なことを言いますけども、当時のお話を聞いている限りだと『伝説のオウガバトル』が売れたのって、クエストとしてはけっこう、ビックリする事件だったと思うんです。60回ローンを完済するアテがあったようには思えないんですけれど(笑)。

皆川氏:
 いやぁ……なかったし、払い終わる頃には買い取り値はあってないようなものになっていたのは衝撃でしたね(笑)。

一同:
 (笑)。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_025

草が燃える、雪が解けるといった地形の動的表現にもテクニックあり

──表現の話題で次は地形のことになるのですが、草が燃えたり、雪が解けたりなどの表現はされていましたが、動的な地形形状の変化というのはスーパーファミコン上で可能な表現だったのでしょうか。

皆川氏:
 理論上は可能ですが、画面を一度ブラックアウトさせる必要があります。なので、
ゲームのシステム中に組み込むというのはできなかったかと思います。

 一応、ROMの中にある高さのデータを書き換えれば地形変化は可能なんですが、それをやるには今映し出されているスクリーンを維持したまま、裏でもうひとつスクリーンを生成する必要があります。そんなことをできるほどメモリーに余裕があったかというとぜんぜんなかったので、現実的ではなかったでしょう。

──なるほど。あと変化と言えば、城に掛かっている旗の変化についてなのですが、所属する軍によって柄が変わる仕様になっていました。エンジンがきちんと作られていればいるほど、こういったイレギュラーな処理は難しい表現だったのではないのかと思うのですけど、これはどのような形で作られていたのでしょう?

皆川氏:
 それは覚えてないな……(笑)。ただ、この旗のあるパネルデータそのもの、旗の位置にあるキャラクターを書き換えているだけな気がしますね。

吉田氏:
 多分、条件に応じて絵を差し替えているだけだと思います。

皆川氏:
 ゲームのフラグを参照し、BGスクリーン生成後に変えているのか、パネルブロックの段階で変えているのか、その辺りになるともう、メインシステムを担当したプログラマーが特殊ケースを個別に実装していたのかなと思います。

──グラフィック表現に関して続いての質問なのですが、最初のキャラクターメイキングのエレメント【※】が3Dのシルエットで表現されていて、非常に印象的な場面になっていました。
 2枚の三角形を滑らかに3次元アニメーションしてエレメントの形状に変化させるというものでしたが、これにはどのような演算処理を行っていたのでしょうか。グラフィッカーの手を離れたぐらいの表現なのかなと感じたのですけど。

※『タクティクスオウガ』ゲーム中の属性に相当するもの

皆川氏:
 まず、3Dモデルを作って表示しているわけではありません。これは「ウィンドウマスク」という、画面をラスター単位で書き換えるスーパーファミコンの標準機能がありまして、それを使って重ねたレイヤーを切り抜いているんです。

 例えば『スーパーマリオワールド』のサークルワイプ……コースをクリアした後、マリオを中心に、画面が円の形に狭まっていく演出があるじゃないですか。あれとやっていることは同じです。

──同じ……なんですかね? 詳しくお聞きしてもよいでしょうか。

皆川氏:
 当時の仕様では、ひとつのラスター【※】内ではON(透過)とOFF(不当化)の命令が4回しかできないんです。つまり、同じ画面の中で切り抜くことができるのは2か所だけ、ということですね。

※画像表示の最小単位である1画素(ピクセル)が横1列に並んだもの

──はい、そこまでは何となく分かります。

皆川氏:
 その条件で考えると、三角形2枚の組み合わせならばどんな配置にしても仕様を満たせるんですよ。【※】

──???

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_026

※実際にゲーム中で用いられているエレメントの形状。いずれも三角形ふたつの組み合わせになるようデザインされたもの。皆川氏の話の通り、どのエレメントも横1ドットのラインで見たとき、どこでも「ON・OFFが4回まで」という仕様を満たしていることがわかる。
なお、そもそも当時のゲームに「3Dモデル」という概念はなく、ランダムな不定形アニメーションを行わせることは、ほぼ不可能に近かった。

皆川氏:
 ここでは詳しい説明は割愛しますけど、そうなんです(笑)。なので「三角形2枚」という制約に基づいてエレメントのシンボルをデザインし、それをマスク1とマスク2、ANDとORとかいろいろ組み合わせて形を作るというのをやっています。

──ということは、エレメントのデザインはスーパーファミコンの機能を前提に決まったということなのですか。

皆川氏:
 そうです。それで自分の方でエレメントのデザインをし、プログラマーの人に「こういう形で三角形の頂点2つ、組み合わせでアニメーションをやりたい」という話をしました。なので、6頂点しか扱ってないので内部CPUで普通に計算して描画していますね。

──これがグルグル回っていた部分に関しては、もうプログラマーさんが頑張ったという……?

皆川氏:
 そうです、そうです。ふたつの三角形の計6頂点を良い感じに動かすと、まるでエレメントが三次元空間上をグルグル回っているように見える、という具合ですね。

──当時、一般的なプログラマーさんがスーパーファミコン上でそんな気軽に行列計算ができるとは思えないのですが……。浮動小数点演算器も無いですし……。

皆川氏:
 まあ、弓矢の処理をしたプログラマー……ちょうどこのX68000版「HERMIT」をコーディングしたエンジニアの方が、同じくここを担当していまして。
 
──3次元に強いプログラマーさんがおられたということですか。

皆川氏:
 そうですね。

──なんと言いますか……似たような表現って他社ではやっていないと思うんですよね。やっていたとしても『スターフォックス』【※】ぐらい? それも「スーパーFXチップ」で「そうしました!」というのを商品の売りとして前面に押し出していたという記憶です。『タクティクスオウガ』のエレメントの3次元表現は本当に、単なる演出のひとつじゃないですか。

※『スターフォックス』
1993年に任天堂から発売されたスーパーファミコン用3Dシューティングゲーム。ポリゴン描写を可能にする「スーパーFXチップ」なる特殊チップをROMカートリッジに搭載している。

皆川氏:
 そうですね。ゲーム中でもエフェクトとして使っていますので、それと組み合わせて、最終的にはキャラメイク時のエレメント表現も作ってる感じです。

──ちなみにキャラメイク画面は吉田さんが作られたんですか?

皆川氏:
 ここはもうUI管轄なので、自分ですね。吉田さんには神々のイラストを描いていただいて、それをドットに落とす、という感じですね。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_027

──エレメントの表現がスーパーファミコンの仕様に沿った表現になっていましたので、これは機能からデザインを起こしたのかなと疑問を抱き、今の質問をさせていただいたのですが……実際にハードウェア仕様面から起こされたのですね。

 そこから全画面エフェクトの話題になるのですが、終盤で竜言語魔法、禁呪などで多くの全画面エフェクトが使われています。なかなか全画面でピクセルアニメーションをしているというのは他社さんのタイトルでもないような気がしまして、プレイヤーの度肝を抜く表現になっていたように思います。これはどのようにして作られたのでしょうか。

皆川氏:
 これも先ほどのラスター単位で書き換えていく方法の一種です。まず全画面を書き換えるフルアニメーション的なことをやりたいと考えた際、当然、その大元になる全画面のドット絵が何枚も必要になります。それを用意するだけでも多くのメモリ容量を使ってしまいます。

 そこで、「なるべく小さい画像データを拡大表示」できないか考えました。エフェクトを表示するBG3は拡大機能がありませんが、同じラスターを縦に何回も複写しながら描画すると、結果的に縦方向に画像を引き延ばすことができます。BG3は加算減算が使えるので、縦4倍にラスターを複製して引き伸ばしたBGを画面スクロールでアニメーションしているようにみせかけています。よく見るとピクセルが縦に伸びているのがわかります。

──現在のポストプロセスで使うブラーシェーダーと似たような処理ですね。

皆川氏:
 そうですね。まあ、最後に背景とエフェクトを加算するから相当少ないデータになるし、どうせそんな細かい所は見ないだろう、と。最初は2倍拡大から始めたんですけど、全然容量が足りず(笑)。最終的には4倍に引き伸ばすデータ、つまり縦1/4に縮小したデータを作りました。
 
──じゃあ全画面の魔法アニメーションは、本来は横長のデータになるんですね。

皆川氏:
 はい、そうなります。なぜそこまでやったかというと、最初に『タクティクスオウガ』の情報をファミ通さんなどの雑誌に公開していった時、「期待の新作」とかのランキングでずっと画面が出るじゃないですか。
 当時はまだインターネットがなかったので、それらの媒体で出る写真というのは重要でして。ちょうど「デフハーネラ」でしたかね。「空中庭園」でバトルしているサンプルの画面を出したんですけど……そこでやり過ぎちゃったんです。本当に動くのかまだ分かんないけど、とりあえず画像を作って出すという。

 「たぶん行けるはず!」みたいな感じで作ったら、そのままだと容量が足りなくなってヤバい、と(笑)。けれども公開した以上はやらない訳にはいかない、なんとかしないと……となって編み出したやり方です。
 
──初報の画像って、1年ぐらい使われてたように記憶していますが……。

皆川氏:
 はい。だからよく見るといろいろ違っています。けど、大枠としては同じになっている(笑)。しかもアニメーションがあるから、それほど解像度の劣化も気にならない。ということで結果オーライでした。

『タクティクスオウガ』のマップはなぜ、圧倒的なクオリティと規格外のボリュームを両立できたのか? その裏には業界最古のゲームエンジン「HERMIT」の存在があった_028

1

2

3

編集長
電ファミニコゲーマー編集長、およびニコニコニュース編集長。 元々は、ゲーム情報サイト「4Gamer.net」の副編集長として、ゲーム業界を中心にした記事の執筆や、同サイトの設計、企画立案などサイトの運営全般に携わる。4Gamer時代は、対談企画「ゲーマーはもっと経営者を目指すべき!」などの人気コーナーを担当。本サイトの方でも、主に「ゲームの企画書」など、いわゆる読み物系やインタビューものを担当している。
Twitter:@TAITAI999
ライター
1998年生まれ。静岡大学情報学部にてプログラマーの道を志すも、FPSゲーム「Overwatch」に熱中するあまり中途退学。少年期に「アーマード・コア」「ドラッグ オン ドラグーン」などから受けた刺激を忘れられず、プログラミング言語から日本語にシフト。自分の言葉で真実の愛を語るべく奮闘中。「おもしろき こともなき世を おもしろく」するコンピューターゲームの力を信じている。道端のスズメに恋をする乙女。
ライター
新旧構わず、色々ゲームに手を伸ばしては積み上げるひよっこライター。アクションゲーム(特に『メトロイド』、『ロックマン』)とストラテジーが大好物。フリーゲーム、VRゲームの動向もひっそり追いかけ続けている。
Twitter:@shelloop

本ページはアフィリエイトプログラムによる収益を得ている場合がございます

Amazon売上ランキング

集計期間:2024年5月9日22時~2024年5月9日23時

新着記事

新着記事

ピックアップ

連載・特集一覧

カテゴリ

その他

若ゲのいたり

カテゴリーピックアップ