2016年12月26日の日記です


コラムス 97 余談  2016-12-26 11:44:42  業界記

コラムス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 とつけられた理由です。




同じテーマの日記(最近の一覧)

業界記

関連ページ

オーラ占いの企画【日記 17/10/11】

別年同日の日記

12年 クリスマス

15年 チャールズ・バベジ誕生日(1791)


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

3000

-- follow --




- Reverse Link -