catmitsu氏によるゲームアーツの音源ドライバ話
ドライバの話からちょっと外れて曲の話を。ファイアーホークでは、吉村くんという新しい作曲者が加わっています。このあたりの経緯は良く分からないのですが、全面的に吉村くんに任せるつもりだったのか、一部だけの予定だったのか。
2014-01-28 17:46:37結構人気の高い5面の曲ですが、吉村くんの曲です。歌詞が乗りやすいメロディだったので、勝手に歌詞をつけて歌っていました。
2014-01-28 17:48:40ずっとアーサーを愛していたのよ/私はジョシュア船はレイピアファイアーホークで/そうよアーサーを助けに行くのよ/敵はネディアム防衛ライン巨大テクザーもいる
2014-01-28 17:51:46ふるえていても恐くはないわ/そうよずっとこの日を待っていたのよ/あなた一人をずっと愛して/あなた一人を心の支えに/あなた一人を今日も明日も/届いてこの想い・・・と、これが5面のワンコーラス目
2014-01-28 17:52:42ずっとデバッグに手間取っていたんだ/私は「××」だ隣りに「×××」「××××」もやってくる/今日はオプションを作っていたのさ/時間がないぞメモリもないぞあるのはバグだけだぞ・・・・・伏字の部分にはスタッフの実名が入ります。
2014-01-28 17:56:44遅れていてもいつかできるさ/そうさフィックスはずっと先じゃないか/いつもそうして昨日も今日も/いつもそうして寝てしまったんだよ/いつもそうして遅れてゆくよ/泣くのはデュプリ屋だ・・・・と、これが5面BGMの2コーラス目
2014-01-28 17:57:24とまあ、ファイアーホークではドライバの仕様策定するだけで、作曲は無いかなと思っていたら、どうやら曲が足りないらしい。シームレスにつなぐというコンセプトでの作曲はやはり何かと難しかったのかも。で、急遽メカノに2面分と、オープニングを依頼。
2014-01-28 18:01:18私の方には、エンディング+数面分の依頼が来ました。とりあえず3曲作って様子見。最初1面に入れることを予定していたのは、製品版で8面に使われている曲でした。
2014-01-28 18:04:15ところが、それでもまだ1曲足りないらしい。その時、ファミスタVA版の開発も進んでいて、「ファミスタニュース」で流すBGMを作っていたのですが、これを流用してしまえと。しかも、ファミスタニュースでは容量の関係でイントロ部分が切られたのですが、ファイアーホークではこれを入れられる。
2014-01-28 18:06:35あのイントロ部分がつかえるなら、この曲を1面に使おう。で、当初の1面は8面に、ということになって、構成がガラリと入れ替わりました。とまあ、曲の構成でもいろいろあったファイアーホーク。
2014-01-28 18:10:10ファイアーホークといえば驚くべきはADPCMロード。ロード→転送→ロード…を繰り返す一般的なローダなんかメじゃないロードの速さ。ロード→メイン側に転送→ADPCM RAMに書き込みをパイプライン的に処理しているんでしょうね。エミュじゃわからない、この感動。
2014-01-28 18:10:31@ume3fmp なるほど、DOSと音源ドライバを同じ人あるいはチームで作ればそーできるみたいなとこですね。しかも一時保管メモリも要らないので256KB一括で定義も可能ですね…当時はそんな発想がありませんでした^^;
2014-01-28 18:16:38@kajaponn メモリ少ない88では速度差が顕著にでますね。98なら256KBくらいぜんぶ読んでぜんぶ書いて…でいいでしょうし。
2014-01-28 18:19:52ドライバの実装は、仕様を細かく詰めながらまず8086で作り始めたと記憶しています。MMLからのコンバータはVAのBASIC、データをそのままVAで鳴らすので書きやすい86版を先に。仕様が固まった段階でソースを嶋田くんに渡して、Z80版を作ったという流れだったと思います。
2014-01-28 23:31:23音色作成、さらにサウンドボード2版から音を落としたFM3声版へのアレンジも嶋田くんだったと記憶しています。まさに嶋田くんにオンブにダッコ状態でした。
2014-01-28 23:32:57シームレスな音楽切り替えは、以前から考えていた案でした。もちろん、プレイヤーの状況に合わせて音楽を切り替えていくという目的もあるのですが、音楽ドライバとメインルーチンの相互通信は他にも応用範囲があります。
2014-01-28 23:36:31ゲーム音楽作曲のポイントの一つに、「サビの部分をどんなふうに作るか」という問題があります。何も考えないで作曲、ループさせると、場合によってはサビの部分で敵が出現せず、静かなパートで総攻撃といったアンバランスが発生することがあります。
2014-01-28 23:38:27これを避けるには、できるだけ一本調子の平坦な作りにすること。ただ、それだと余り面白くない。また、どうしてもタイミング合わせで敵を出したいというケースもあります。例えばシルフィード、グロアール出現を曲の盛り上がりにタイミング合わせていますが、武は結構苦労していたのではないかと。
2014-01-28 23:40:35ファイアーホークのサウンドドライバは、メインルーチンとやり取りするためのワークを何バイトか持っています。メインルーチンが「ボス面に移行したよ」とワークに書き込めば、サウンドドライバ側はそのワークを見て条件分岐、ボス曲に移行します。
2014-01-28 23:42:26