H17/12/22記述
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
●アマランス4開発裏話 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
前回の「アマランス3開発裏話」と同じノリでいきます。なるべく(?)技術的な話になるように努力してまいります。(あぁ・・・テクニカルエッセイのはずなのに・・・・・・orz) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランスIV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4にはリアンが登場しません(話題には上りますが)。代わりにリアンの子孫であるシュテラール王国の王子様ダイナスが主役のひとりとして登場します。もちろん、「アマランス」という名がついているので、ディンあるいはペールメール(二人ともアマランスの精)も登場するということです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
この起動画面はこれだけで独立したプログラムになっていて、ゲームを起動するための環境設定のみを行います。そのため、BGMを演奏する音源やディスプレイ装置の選択を求めてきます。ここでアマランス3のときと異なるのが、MIDIの対応音源からLA音源が無くなったということです。このころになるとMIDI音源モジュールもGS系が完全に主流となり、開発部としてはLA音源所有者の多くはGS音源も所有するようになったと判断したわけです。個人的にはアナログ風の音色のLA音源が好きだったのですが、これも時代の流れというヤツです。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ハードディスク専用 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
風雅システムのゲーム製品はPC-9801対応製品処女作のビートバイスから(Aktieを除き)HDD対応を謳ってきましたが、同時にフロッピードライブ(以降FDD)のみでもプレイすることができました。それが事ここに至り、FDDのみでの動作を切り捨てたのです。 理由は取りも直さず、FDDでの動作がゲーム制作の足枷になっていたからに他なりません。FDDでのプレイとHDDでのプレイの差は、(1)ディスク入れ替えの必要性の有無、(2)アクセス速度−特に読み込み時間、(3)インストールの必要性の有無、(4)標準搭載の有無です。 (1)と(2)は利点、(3)と(4)は欠点となります。利点をもう少し具体的に解説すると、(1)は大容量化によるメリットです。1.2MBのフロッピーが2枚では収められるプログラムやCGの量は制限されるため、どうしても容量の大きなCGを表示するときはフロッピーディスクの入れ替えが必要になってしまいます。これはプレイヤー側にしてみれば「興ざめ」の一言に尽きるでしょう。「ディスクの入れ替え」という「現実」に引き戻されるわけですから。当然HDDであればあり得ない話です。ユーザにとって大きな利点となることは間違いありません。 しかし、(1)の利点はそれだけではありません。データの振り分けが不必要となったり、デバッグ期間が短くなったりして、開発コストが下がるのです。そうやって節約できたコストをより完成度を高めるために費やせるので、製品の質も向上するわけです。実際、アマランス4は非常に完成度の高い製品になったと思っています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
この問いの回答は「いろいろなシステム的要因」とせざるを得ません。例えば「同時に大量のデータを扱う必要があるため」とか「FDDのアクセス速度ではゲーム中の待ち時間が長くなりすぎる」とかが主要因といえるでしょう。アマランス4の仕様では、FDDだけでは荷が重すぎたのです。戦闘が発生する度にフロッピーディスクを何枚も入れ替えるなんて、とても現実的とは言えませんから・・・・。 とにもかくにも、HDD専用化によってユーザに妥協の少ないゲーム提供することができたことは確かなのです。(でも、若干ですが、「根性でFDD対応にしろ!」とユーザからお叱りのお言葉をいただいたことも確かです。) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
そこで登場するのが【画面4】の"FUGA HD Installer"です。これはエルステディアの頃から使われていたものですが、HDD専用となって、俄然その存在感が大きくなりました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
このころのハードディスクインストーラというと、インストール先のディレクトリが固定であったり、ドライブまでAドライブ固定のものがありましたから、痒いところに手が届かないどころか、痒いところだらけでどこを掻いていいのかわからない状態のもの珍しくなかったのです。つまり、HDDインストールは「サポート外のおまけ」だったのです。(もちろんそうでないものもありましたが。)
また、初心者のために、エラーメッセージも数多く、わかりやすいものをわかりやすく表示するように工夫してあります。一言で言うと「ビジュアルインストーラ」ですね。(3)の欠点を少しでも小さくするため、できることを積極的に行った結果といえるでしょう。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
残るは(4)ですが、これはHDDの価格の低下が進み、一般化するのを待つしかありません。標準搭載機では問題ありませんが、非搭載機の場合は外付けのHDDをユーザに購入してもらう必要があります。安い買い物ではありません(当時で数万円〜)から、それに見合うだけの利点があることを啓蒙していく以外に方法はありませんでした。ゲーム開発会社としては、「ゲームの質の高さ」をアピールすることに徹しました。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実はHDD専用化はアマランス3のときも○之原名人が社長に懇願していたのですが、「甘えるな!」の一言で却下されていたのです(^_^;)。事実、微妙な時期ではありました。それが一年半経過することで、情勢が変わり、今度は社長も、「お゛お゛?もういいがんないが?(富山弁:訳=うん?もういいんじゃないの?)」と許可を下してくれたのです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
クオータービュースクロール | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
もちろんクオータービューが流行ったのにもそれなりにわけがあります。パソコンのCPU性能が高くなってきて、負荷の高いスクロールを実行させても十分に高速になったのです。実際にアマランス4のスクロールルーチンはアマランス2と比べると平均で2倍以上重くなっています。もちろん、最適化されたアセンブラで組んであってもです。 理由はいくつかありますが、最も大きいのが「描き換え不要ケースが皆無」という点でしょう。アマランス1〜3までのハーフトップビューのスクロールの場合は、MAPの最小構成単位であるPCG(16×16pixel)が移動方向に隣り合わせかひとつ飛びに配置されていると、描き換える必要がないために高速化できました。ところがクオータービューになると実質的にそのようなケースが全くありません。アマランス4はPCGが16×16pixelで構成されていますが、視覚的な縦横比が1:3になっているので、横は16ドット単位、縦は1ドット単位でスクロールできるようになっています。実際にプレイされたことのある方は、主人公キャラクタが障害物に当たったときに上下方向にヌルヌルとスムースにスクロールして、その障害物を自動的に避けようとするのを憶えていらっしゃるでしょう。これからもわかるようにスクロールごとに全面描き換えが必要になるのは明らかです。つまり、描画処理の軽減が全くできないのです。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
さらに、それでもPCGが不足しがちになるため、PCGごとに左右、および上下に反転して描画できるようにもなっているのです。もちろん、この機能を有効に利用するにはグラフィッカの工夫と努力が必要になりますが。 このように、PCGひとつを描画するために必要なCPUパワーが多くなっているのです。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
その他にも、MAP上のプレイヤーキャラクタをはじめとしたオブジェクトのサイズが大きくなっていることや、MAPスクロールフィールド自体が広くなっていることも大きな要因と言えます。しかし、アマランス4発売当時は、さすがのV30マシンも現役を退き、80386やi486CPU搭載機が主流となり、Peintiumも登場していた時代でしたので、スクロール速度の不満を指摘するアンケート葉書は幸いにも皆無でした。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
イベント発生型タクティカル戦闘 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
これはアマランス4の戦闘が本格的なタクティカル(戦術型)シミュレーション形式になっていることに起因します。つまり、じっくりと戦闘を楽しんでもらうためなのです。はっきり言って、アマランス4は戦闘シーンだけでも一本の製品として発売できるレベルにあります。(【画面8】) RPG部分と戦闘部分を分けることによって、それぞれを集中して楽しめるようにしたわけです。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
戦闘モードにおいて、マウスオペレーションは強力な追い風となりました。直感的にスピーティーに指令を出すことができます。キー操作のことを考えると、クオータビューは本当に厄介だろうなぁと推測していただけると思います(^^ゞ。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
進化したマウスオペレーション | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4もアマランス3と同様にフルマウスオペレーションのゲームソフトです。当時はWindows3.1〜95の時代でしたので、アイコンによるマウスオペレーションがトレンディーでした。そこで、アマランス3では文字中心だった表示系をアイコン中心の表示系に変更しました。これはHDD専用としたことによって仮想メモリ的な処理ができるようになり、メモリに余裕ができたことが実現を助けています。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
フィールドの移動に関してはアマランス3に準じています。異なるのは8方向移動から4方向移動になったことくらいでしょうか。おっと、それからマウスカーソルの表示形態も異なっていますね。アマランス3のマウスカーソルはマウスドライバに登録されているカーソルパターンを変更して表示していますが、アマランス4の場合は風雅お得意(?)の外字定義を利用したテキスト画面にマウスカーソルを表示しています。「なぜ?」って思われますよね。実は「マウスカーソルを大きく、かつ軽くするため」なんです。
アマランス3のフィールドカーソルは16×16dotの標準的なモノクロカーソルでした。でも、これでは「見にくい」という意見が多かったのです。マウスドライバはモノクロ32×32dotのパターンもサポートしていましたが、これではチラツキが気になったのです。 そこで採られたのが外字定義(PCG)を利用したものなのです(【画面】)。テキスト画面ですから、カーソルの移動はX方向8ドット、Y方向16ドット単位です。しかし、実際にプレイしてみるとわかりますが、移動の荒さはほとんど気になりません。それどころか軽快に動くカーソルが小気味よく感じられるはずです。これも私たちは「技術」と考えています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
これはマウスオペレーションとは直接関係ないのですが、操作上、アマランス3と異なる点としてキーボードのサポートがあります。マウス操作と並行して、フィールドの移動にテンキーが使用できるようになっているのです。しかし、[1][3][7][9]という一般的には使用されていないキーを割り振ったためか、「テンキーでも操作できるようにしとけっ!」というお叱りのアンケート葉書も何通かいただきました。全くお気づきになっていらっしゃらなかったようでしたので、正直ちょっとショックでした。確かに、マニュアルにもテンキーで操作できるとは一言もかいてありませんでしたので、間違いなく非はこちらです。でも、迷ったんですよ。[2][4][6][8]キーをそれぞれ同時に2つづつ押すようにするか、キーボードを斜め45°に置いてもらって、[2][4][6][8]キーで操作するか、そしてあるいは実際に採用されている斜め方向キーを使うか・・・・。今にして思えば、オプションでそれらが選択できるようにしておけばよかったんですけどね(当時はまたそれすらできない理由もあったんですがf(^ー^;)。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
オブジェクト指向プログラミング | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4はC言語とアセンブラで組まれています。MAPやキャラクタの表示などの画面処理はすべてアセンブラで、それ以外はCコンパイラ(ちなみにBorland C++ 3.1)です。 アマランス4の仕様が決まったとき、その仕事量の多さに開発チームは人割りに悩みました。特にメインプログラムはRPG部分と戦闘部分がそれぞれ従来の製品1本分に匹敵するほどの仕事量です。1人が半年間で組み上げるには無理が有りすぎます。しかし、2人あるいは3人でメインプログラムを分割して開発すると、開発中および最終的な結合時のオーバーヘッドやリスクが非常に大きくなってしまいます。 そこで採られた方法がビートバイス開発時に倣った「実行ファイル分割方式」でした。これは例えば2人で開発する場合、メインプログラムを2本の実行ファイルに分けて作成するのです。こうすることによって、それぞれが独立してコンパイル(アセンブル)&デバッグができるわけです。アマランス4では見たまんまですが、フィールド移動部分と戦闘部分で別プログラムファイルになっています。戦闘が開始されるときと戦闘が終了したときにお互いのプログラムが起動し合っているのです。ちなみにフィールド移動部分(RPG部分)は杉之原名人が、戦闘部分(SLG部分)はうりぼう塚原が、そして起動モジュールはしんばる前川が、専用ツール類はバトラー田丸担当しました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
さて、表題に「オブジェクト指向」とあるくらいですから、アマランス4はC++の機能を使ってソースプログラムが書かれていると多くの方は推測されるでしょう。ところがそうではないのです。アマランス4は標準C言語の機能だけで記述されています。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ところが・・・・当時のC++コンパイラにはいろいろと弱点があったのです。まず第一の弱点はオブジェクトの実行速度が遅いこと。特にテンプレートライブラリを多用すると信じられないくらいに遅いのです。うりぼうの作ったC++製ツールは、結果表示の速度が異様に遅く、とても時間のかかる処理ではないにもかかわらず、描かれていく文字を追えるほどでした(CPU=i486-66MHz)。設計に多少問題があったのかもしれませんが、それにしても遅すぎです。名人のインベーダーゲームは、テンプレートライブラリもほとんど使用せず、モノクロ1プレーンのみのせいもあってか、違和感なく動作はしているようでしたが。 このころのC++コンパイラは完全にソースレベルコンパイラ(トランスレータ)になっており、C++言語で書かれたソースプログラムを一度C言語のソースプログラムに変換してからCコンパイルするようになっていました。試しに中間ソースを覗いてみると、異常に可読性の悪い、長々としたプログラムになっています。当然、オブジェクトのサイズも大きくなりがちで、何よりコンパイル時間が長いのです。実感としてはC言語のみに比べて3倍くらいかかったように記憶しています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
そこで考えられたのが「C言語だけでオブジェクト指向プログラミング」という方法です。C++という言語はオブジェクト指向でプログラムを作りやすくするための仕様ですから、他の言語ではオブジェクト指向ができないというわけではないのです。 特に実現したいのがクラスによるカプセル化でした。「謎のバグ」を減らす特効薬と思えたからです。でもC言語ではクラスを使えません。そこで採った方法が、「ひとつのソースモジュールをクラスオブジェクトに見立てる」というものでした。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シリーズ最大量のイベントプログラム | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4は比較的サクサク進むので、実際にプレイされた方はそれほどのイベント量を感じられないかもしれません。ところが登場人物も多く、それぞれがよくしゃべるので、アマランス3を凌駕するイベント量(イベント制御データサイズ)を誇っています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シリーズ最大量のCGデータ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4は1.2MBフロッピーディスク7枚組の製品でした。メディアの価格も大分下がってはいましたが、それでも製品原価は上がってしまいます。アマランス4は定価が11,800円と、いい値段がしました。枚数が増えた最も大きな要因はなんと言ってもCGの容量でしょう。会話イベント用の顔CGだけで軽く100枚を超えています。ビジュアルシーン用のCG枚数もアニメーションパターンを含めるとかなりの枚数になります。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ストーリーとその演出にこだわるためには、いろいろな表情の大量のCGが必要だったのです。それゆえに、心情描写が微妙なレスやディン、そしてメーヴェ(両親を殺された14歳少女)やファイルヒェン(主人公ダイナスの年上の恋人なんだけど盗賊の娘)などの顔CGはそれぞれ20枚近く描かれました。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
どこでもSAVE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4ではRPG部分とSLG部分が完全に別プログラムになっていますから、SAVEデータの設計はより一層重要です。いたずらにSAVEデータが大きくてもユーザは迷惑ですから、必要最低限のデータのみがSAVEされるように熟考してあります。その結果、フィールド移動中でも戦闘中でも、まったく同じようにSAVEとLOADが可能になっているのです。 ちなみに、SAVE/LOADウィンドウ(【画面20】)では、移動中か戦闘中かでSAVEデータ名の文字色のみが異なっています。言い換えれば、それ以外は何の違いもないということです。結構すごいでしょ? |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
専用統合MAPエディタシステム"AMA4MED" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
【画面21】はその中の戦闘モード用のMAPをデザインするときに使用するFIGHMAP.EXEの画面です。これは地形の属性を設定しているところ。ちなみに表示されているMAPはチェック用のプロトタイプのシュテラールの街です。 アマランス4の仕様に合わせてあることもあり、従来のMEDとは全くイメージが異なっています。これは作者(プログラマ)が異なっているのが最も大きな要因かもしれません。AMA4MEDシステムのプログラマは、杉之原名人でもうりぼうでもなく、当時比較的新人だったバトラー・加賀福・田丸です。情報処理技術者第一種の資格を引っ提げて入社後、短期間のうちにメキメキと実力をつけ、次期メインプログラマと目されていました(実際にエバーブルームを作りましたが)。 AMA4MEDシステムは、XMS(エクステンドメモリ=拡張メモリシステム)が必須環境となっていて、当時としては膨大だった1MB超のメモリを利用して始めて動作するほど大規模なプログラムでした。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
この画面はNPCの移動ルートを設定しているところです。指定したNPCがどれくらいの速度でどういったルートを移動するのかをビジュアルに設定できる優れものです。そしてそのNPCにプレイヤーキャラクタがぶつかったときに発生するイベントもそのまま記述できるようになっています。【リスト1】を見てください。これはひとりのNPCのイベントスクリプトですが、1行目から8行目と26・27行目はEVSET.EXEが自動出力したスクリプトです。そして、9行目から25行目まではEVSET.EXE上から起動されたテキストエディタで追加記述したプログラムになっています。もう、コメントがなくてもこのシリーズをご覧の方でしたら見ただけで内容は理解していただけますよね?このシンプルさが強みとなります。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
その他、MAPのアニメーション機能や属性の設定機能などは過去の集大成といえるだけの使いやすさがあります………が、AMA4MEDについてまともに解説するとNMED以上に長くなりますのでこれくらいにします。本当はすべての画面と機能をお見せしたくてしょうがないのですが、我慢×2です。今後、ご紹介する機会があったときにでも。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
進化型制御スクリプト | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
アマランス4のイベント制御スクリプトは、基本的にアマランス3のものを踏襲しています(【リスト2】)。当然ながら、より洗練され、進化したものになっています。最も大きな特徴は2バイトコード、つまりスクリプト中にコメント以外でも漢字が使用できるようになっていることでしょう。ダブルクォーテーションで括ることによって、ラベルやターゲット名に使えるようになりました。やはり、開発チームは皆日本人ですから、アルファベットよりも仮名や漢字の方が認識しやすいのは当たり前です。引いてはデバッグ効率の向上に繋がります。 また、イベントの発生位置や条件、NPC用であればその動きの情報など(【リスト1】参照)もスクリプト内にまとめられています。それまでは別にスクリプトを書き、別データファイルとして処理していましたから、それが一本のソースファイルにまとめられるというメリットは大きいものです。これもイベント関連のシステムを見直した結果です。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
もう一点、コンパイラがプリプロセッサを内蔵するようになりました。定数の置き換えが主な機能なのですが、C言語のenum(イニューム)のように、自動で連番数値を割り振る機能なども持っています。【リスト2】の20行〜のSPEAK文の第1パラメータに指定されているのは、会話イベントで表示される顔CGなのですが、従来は数値であったものが定数のエイリアスになっています。ちなみにマイナスを付加すると左右反転されたCGが表示されるようになっています。また、ADD文やMEMBER文などの第1パラメータも同様にメンバーIDのエイリアスです。 より直感的にスクリプトを記述できるようになったことで、アマランス4ではイベント中のバグもかなり少なくなりました。良い製品作りには良いツールが必要であるという風雅の社訓(ちょっと大袈裟ですが)が生きています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
その他 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
文法的な変更は当初よりほとんどなく、新コマンドの追加やシステム変数の追加などが主なバージョンアップ内容となっていました。アマランス4はこのアニメーションドライバが使用された最後の製品となりました。 アニメーションドライバはPC9801VMの頃に仕様が策定されたものでしたから、高速性に主眼が置かれていました。そのため、文法もできるだけそれに寄与するようになっています。構造化プログラミングがしにくいというのもその弊害と言えます。また、コンパイラとしてもシンプルなもので、式のたたみ込みができないとか、多次元配列が使えないとか、未完成な部分も多々あります。 ゲームソフトもWindowsに移行していくと、アニメーションは動画として扱うようになり、CD-ROMの大容量と相まってそれが標準的になっていきました。現在ではFLASHのアクションスクリプトも一般化しはじめているので、アニメーションドライバのようなシステムはほとんど必要なくなってきました。嬉しいような寂しいような・・・・ちょっとだけ複雑な気もします。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
中世ドイツに湯船式の風呂があったのか?とツッコまれると、ちょっと自信のないところですが、とりあえずアマランス世界ではあるのです。富める者、貧しき者、力のある者、ない者、皆平等に裸になって、大地の恵みである温泉に浸ることは、平和な世の中を形成するためにも有効な方法です(日本的な考え方ですが・・・)。そんなわけでRPGにも取り入れてみました。シリーズを通して、お風呂イベントはなんとなく平和的でほのぼのしてるでしょ?プレイ中でもぽっと一息つけると思います。開発チームからプレイヤーの皆さんへのほんの気持ちです。ちなみにアマランス4のお風呂イベントはすべて女湯が舞台になっています。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PC-9821 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
結果的にアマランス4は、風雅システムが開発・販売した最後のPC-9801シリーズ用ゲームソフトとなりました。PC-9801のノウハウが結集された製品と言っても良いでしょう。この頃になると、PC-9821シリーズがメインストリームとなっていましたから、1677色中の256色を同時発色できるようになり、解像度もDOS/V機に合わせて640×480dotモードを持つようになりました。ゲーム制作側としては、256色モードでパックトピクセル形式でV-RAMをアクセスできるようなった点が大きなメリットでした。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
しかし、大きな問題もありました。PC-9801/21シリーズの生みの親であるNECさんは、従来通りのV-RAMスペックしか持たないPC-9801シリーズの新型も発売し続けていたのです。256色を必要としない用途にはより安い価格でユーザに提供するという親切心だったのでしょう。でも、これではソフト開発者たちは256色モードに全力投球することができません。せめて、新PC-9801シリーズのV-RAMを9821相当に拡張する純正ボードを廉価で発売してほしかったですね。PC-9801VM/VF用の16色カラーボードのように・・・。(ただしPC-9801BX4だけは256色モードが使えました)
しかし、DOSエクステンダーを使って80386の32bitネイティブモードのプログラムを走らせることができれば事態は一変します。なぜなら、256色モードのV-RAMは1M超のアドレス空間にはリニアにマッピングされているからなのです。これなら3Dゲームだってバリバリ動かせます。実際、杉之原名人は32bitモードで動作するPC-9821の256色モード用のグラフィックライブラリを完成させています。ところがDOSエクステンダーを市販ソフトに組み込むには高額なライセンスが必要でしたから、自前の16bitモード←→32bitモード切り替えルーチンを使ってこのライブラリ(FGEライブラリという名称がついていました)を使用するようになっていました。が、市場がまだまだ小さいという点とWindowsの動向を見ようという理由から、結局256色モード用のソフト開発には到りませんでした。このFGEライブラリについては、別の機会にお話しすることにいたしましょう。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windowsの急速な普及に伴い、PC-9821シリーズは廉価なDOS/V機によって徐々に駆逐され、最終的にはNEC自らDOS/V機を発売するに到りました。風雅システム社内で培われたPC-9801シリーズに関するノウハウもほとんど意味を成さなくなりました。非常にもったいないような気もしますが、技術の世界というのはそういうもののようです。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
そして風雅システムはプラットフォームをWindowsに切り替え(当時はWindows3.1)、新たなノウハウの蓄積を開始し、現在に至ります。ただ、PC-9801時代は高速化のための技術がメインであったの対し、Windowsでは「安定性」「互換性」「保守性」などがキーワードとなります(いち早くMMXテクノロジに対応するなど、もちろん高速性にも留意していますけど)。 Windows対応製品関連の技術公開はもうちょっと時間が経ってから。Tips形式でご紹介できればと思います。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||