コラムス97の話の続きです。
初代「コラムス」は、8dot 単位で宝石が落ちてきました。
宝石は全部背景に描かれていたからね。
そして、宝石自体は 16dot で描かれたので、1フレームに宝石半分が最高速。
これは、コラムス2でもそうだし、スタックコラムスでも変わらない。
たしか、「ここらでコラムス」でも、この決まりを守って作っていたのではなかったかな。
でも、コラムス 97 では、ドット単位で滑らかに落ちてきます。
これは「美しいゲームにしよう」と決めたから。カクカクと動くのは美しくない、とMが滑らかな動きを求めた。
最初は、縦の動きから滑らかにしました。
でも、縦が滑らかなのに横が滑らかでないのも美しくない、となった。
横方向も滑らかに動くバージョンが作られました。
もちろん、ゲーム上「列」に置くことが重要だから、操作自体は列単位ですよ。
でも、レバーを横に入れると、隣の列まで滑らかに動くようにしたのです。
これが…何とも言えず気持ち悪い。
どうにかならないか、滑らかなままで改善するアイディアを2~3個試した気もしますが、結局このバージョンは1日続けなかったんじゃないかな。
すぐに元の動きに戻しました。
ただ「滑らかに動かす」だけでも、結構いろいろ試してます。
コラムスに限らず、なにかを作るときって膨大な実験が行われ、捨てられています。
宝石が消える瞬間、砕け散って破片が飛ぶ演出があります。
また、消える瞬間にレバーを下に入れっぱなしにしていると、消える瞬間のアニメーションがキャンセルされ、高速で消えます。
アニメキャンセルは途中で入れた仕様なのですが、これを入れた時、連鎖すると飛び散る破片の量がものすごい数になり、処理落ち…画面がスローモーションになりました。
僕も企画のMも、シューティングゲームとかで大量の敵が出て処理落ちすると嬉しいタイプ。
まさかコラムスで処理落ちするとは思っていなかったので、「うわ、すげー、処理落ちした」と大騒ぎ。
何を騒いでいるのかと見に来た、近くの席にいた先輩に「ダメだな。処理落ちは絶対に許さん」と言われました。
プログラムを知っている人間から見れば、処理落ちするというのは限界を超えるほどの処理をしている、ということで面白いかもしれない。
でも、お客様はプログラムを見たいのではなくて、ゲームを遊びたいのだ。
ゲームのテンポを崩す処理落ちはあってはならないし、そうならないように工夫するのが我々のすることであって、「処理落ちした」なんて喜んでいてはいけない、と。
ゲームに対する確固とした哲学を持っていて、時々ハッとさせられる言葉をいただく、いい先輩でした。
ところで、唐突にプログラムテクニック。
他の会社や部署はどうか知らないけど、当時のAM1研では、開発中は背景色を本来の色とは違うようにいじっていました。
本来が黒だったとすると、1フレームの処理開始時に、緑とかにしてしまうの。
そして、処理が終わって垂直帰線待ち(ゲームのタイミング合わせの処理)に入る瞬間に、黒にする。
背景色は、直接画面表示に反映されました。
実際には、画面を描画中に次の画面を作るためのプログラムが動いています。
画面は走査線によって上から順に描かれますが、処理中はこの走査線の「背景色」が緑になり、処理が終わると黒になる。
結果として、処理時間がそのまま画面に現れます。
処理が軽いと画面の上の方だけ緑になり、処理が重いと下の方まで緑になる。
画面が全部緑になってしまうようなことがあると「処理落ち」となります。
こうすることで、常にプログラムの処理量を意識しながらプログラムを作れた。
ところが、ST-V の場合は、この色の付け方がちょっと違ったのね。
メイン CPU の処理が終わったところと、サブ CPU も処理が終わったところと、裏画面描画が終わったところで色を変えてあった。
実は、裏画面の描画は間に合わなくても、キャラクターがちらつくだけで大きな問題は生じないのだけど。
でも、この目的のために、メイン CPU は画面描画の終了を示すフラグが立つのを監視していたのね。
そうすると、実際には処理が間に合っていても、画面描画が遅いだけで処理落ちしてしまう。
先に書いた「宝石の破片で処理落ちした」のは、画面描画が遅れたためでした。
処理速度は問題ない。破片は描画が間に合わず消えるけど、重要ではないものだから、こちらも問題ない。
つまり、デバッグビルドだから処理落ちしただけで、リリースビルドすれば処理落ちしないのです。
とはいえ、これは後知恵。
先輩に言われたときは納得して、破片の処理を軽減するプログラムを書きました。
何をどうしたかは忘れたけど、上限定めてそれ以上出ないようにしたのかな?
一緒に作っていたもう一人のプログラマ、H先輩なのですが、「こここら」の時は敵の思考ルーチンを担当していました。
論理パズルとか好きな人で、理詰めで「最適状態」に積んでいくプログラムを作ったら、むちゃくちゃ強い。
そして、先読みがすごいので思考処理に時間がかかりすぎる。
無駄を省き、弱くしながら現実的な時間内で思考する…というようにしながら、いくつかのパターンのルーチンが用意されました。
ところが、「ここらでコラムス」が没になり、敵の思考ルーチンが不要となったのです。
思考ルーチンを作っていたので「次に置いたら消せる場所」を調べるプログラムはありました。
これをそのまま流用し、EASY 最初の頃の「消えそうな宝石」の表示ルーチンに流用しています。
もう一つ、一人で遊んでいる時に連鎖すると、空いている席の方で「リプレイ」が始まります。
これもH先輩の作。
というか、空いている側の席のデモは全部H先輩だったはず。
何もないときでもきれいな宝石が降っていて、リプレイがあるときは降ってきた宝石が積み上がると、連鎖直前の状態の再現になっている。
一見ランダムに見えるものが、定位置に収まってリプレイが始まる、という演出、結構好きです。
#あ、リプレイの開始指示は僕だ。
「ここらでコラムス」の時に、連鎖確定演出というのを作った。連鎖が起きる前に、これから連鎖するとわかるのね。
これを利用して「今から連鎖するよ」というデータを記録し、先輩の方ではそのデータを元に演出処理を行った。
多分もう少し作っているはずなのだけど、H先輩担当の主なものはこれくらい。
あとはほとんど僕がプログラムしています。
H先輩は、企画も作れて、プログラムも作れて、絵も描けるという広い知識のある人だったけど、プログラムだけなら僕の方ができたから。
そして、スタッフロールを作るときになって、どちらの名前を上に出すかで問題になったのです。
僕としては、先輩社員を差し置いて上に名前が出る、なんて畏れ多い。
でも、H先輩は、ほとんど僕が作っているのだし、プログラム課では僕の方が先輩なのだから僕を上に、と言います。
最終的に、プログラムを作るのは僕なので、H先輩を上にしてしまいました。
そんなわけで、僕の名前は下側に入っています。
H先輩は、この作品を最後に会社を辞めてしまったため、最後の思い出くらいにはなったかな、と思ってます。
宝石を描いたS先輩は仕事効率優先の人でした。1ドットにこだわるよりも、全体として受ける印象を大切にする、という感じかな。
宝石の絵は、1枚づつ仕上げたのではないそうです。
7種類× 32パターンをレンダリングしたものをツールで繋げて大きな絵にし、一気に減色ツールで 256色化、これをツールで再び切り分けたのだそうです。
当時はキャラクターは1枚づつ仕上げるのが普通でしたから、かなり思い切った描き方です。
タイトル画面にグリフォンのような獣が並んでいます。
初代コラムスのイメージをきれいに描き直したものなのですが、結構形が違います。
S先輩が、3Dで描きやすいように、適当にアレンジしたため。
「羽根の部分は、パイプ1本作ったら並べてくっつけて板にして、全体をぐにゃっと」でできているそうです。
両側の獣で目が色違い、に見えるのですが、実は左右とも全く同じモデル。
オッドアイ(左右の目の色が違う)なのです。
「裏から見るわけじゃァないんだから、これでいいんだよ!」とのこと。
当時のセガには「コアタイム」というものがあり、10時から15時には必ず働いている必要がありましたが、後は自由。
一日8時間働けば問題は出ません。(昼休み1時間は働いていることにならないから、会社に9時間いればよい)
で、多くの人は10時ごろ来て、夕方 7時に帰ります。
ところが、S先輩は8時に来て、夕方 5時には帰ってしまう。
だらだらと仕事しているの、嫌いなんだそうです。
仕事時間ついでに書いておこう。
僕は、朝 9時前に出社していました。
企画のMは、大多数派の 10時出社。
で、Mは一日考えて出来上がった仕様を、17時ごろ持ってくるタイプでした。
僕としては、もう帰りの準備を考えている時間に「相談」と言いながら新仕様を見せられるのね。
そして僕は、その日の仕事はその日に終わらせたいのです。
相談された内容を、作成可能かどうかくらいまでは、検証してから帰りたい。
いつも、21時くらいまでかかって、とりあえず動くよ、って程度までは作ってから帰りました。
Mとしては、可能であることがわかってから帰途に就くので、家にいる間もさらに発展したアイディアを考えられます。
翌日は、僕はその「とりあえず」をちゃんとした形に作り込む。
Mはまた、家にいる間に想いついたアイデアを、夕方までにちゃんとした仕様の形に落とし込む。
毎日のように完成度が上がっていきました。
あのサイクルがかみ合わなかったら、1ヵ月で完成なんてできなかったと思う。
非常に充実した、スピード感のある楽しい仕事でした。
#あと1か月、という状況下で、毎日家には帰っていたように思う。
最後の1週間くらいは泊まり込んだかな。
コラムス 97 は、「年末に間に合うように」作られました。
普通はロムを作るのに1か月くらいかかるのだけど、特急で仕上げてくれ、ってあらかじめ工場のスケジュール開けといてもらったのではなかったかな。
12月初旬にマスターアップして、2週間くらいでロムカートリッジになり、クリスマス頃にはゲームセンターに置かれているのを確認したと思います。
1996年中に発売したから、タイトル画面のコピーライト表記も 1996 です。
なのになんで 97 ってついているのか、というと、企画Mの発案。
当時は Windows 95 が「まだ新しいOS」でした。
95 ってついているけど、日本語版のリリースは 95年の 11月 23日だったのね。年末です。
だから、「95」なんだけど、普及し始めたのは 96 年に入ってから。
Mは言葉遊びが好きでした。没になったけど、「こここら」とか名付けちゃうくらいだからね。
96年になってから普及したのに 95という名前なのが、「最新なのにもう古い感じがして面白い」と言っていました。
そして、逆に「古いゲームだと思われると癪だから、最初から未来の年号をつけておこう」と言い出したのです。
これが、96年発売なのに 97 とつけられた理由です。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |