「バトルテック」というゲームがある。
コンピュータゲームではなく(*1)、ボードゲームの類である。
巨大ロボットを操作し、射撃を交わし、格闘し、
相手を殲滅する、というタイプのゲームだ。
ゲーム本編もさることながら、
ロボットの兵装がバランスよく作られていて、
「ロボットの設計」の部分もなかなかに楽しめる。
主に、「どの武器をいくつ積むか」という部分が
プレイヤーにゆだねられるわけだが、
ここにクセがあって面白い。
とりわけ面白いのは「発熱」の概念だ。
バトルテックに登場する武器は、
使用すると熱を発生させる。
ロボット(*3)は、放熱能力をもっているので、
発生した熱は時間の経過と共に拡散するが、
連続して武器を使用したり、
敵の攻撃で放熱器が破損したりすると、
だんだん熱がたまっていく。
熱がたまると、移動力がダウンしたり、
最悪、弾薬が誘爆したりする。
加熱は、非常に危険なのだ。
設計面でも、操縦面でも、熱に対する管理能力が
問われることになる。
ここで、興味ぶかいポイントは、
「最大の火力を出しても熱はたまらない」
ように設計した機体と、
「全力で射撃すると過熱する」
ように設計した機体では、後者のほうがえてして
使い勝手がよく、「強い」機体である点だ。
自機が壊れかけたとき、
熱を無視してでもトドメをさしにいきたいとき、
もう少しで敵が倒れそうなとき。
加熱覚悟で撃てる機体のほうが、打てる手が多いのだ。
そうでない場合、どうしても普段から火力不足や、
決定力の不足に悩まされる傾向が出てきてしまう。
「全開にしたとき、すこしオーバーヒートする」のが、
よい設計であると、言われている。
……さて、話をゲーム作りに移そう。
ゲーム中で、CPUが処理しなければならない内容は、
実に多岐にわたる。
一般的なゲームだと、
・ステージ/背景の描画
・キャラクターの描画
・プレイヤーの操作への応答
・エフェクトの描画
・NPCのアルゴ
といったところだろうか。
まあ、ものによって、あったりなかったりもするだろう。
仮に、CPUに100のチカラがあったとする。
上の5つに、それぞれマシンパワーを割り振るとして、
その合計を、いくつにするべきだろうか?
合計を100以下にすれば、処理落ちは、理論上発生しない。
そうするべきだろうか?
対戦ゲームなら、当然そうするべきだ。
だが、1Pゲームの場合はどうだ? RPGは?
上の各項目が「それぞれが、同時に最大の負荷を発生させる」ことが
どれだけあるだろうか?
一番重いステージに、最大数のキャラクターが
表示されることを常に想定してマシンパワーを割り振るべきだろうか?
さまざまなエフェクトが、最悪のタイミングですべて発生することを
想定して、マシンパワーを振っておくべきだろうか?
それでは、表現力は、当然落ちてしまう。
果たして、どう、マシンパワーを割り振るべきなのか。
……かくして、ここで、プログラマの
センスと技量が問われてくることになるわけである。
処理落ちを、どこまで許容するか。
表現力とのトレードオフをどう解決するのか。
非常に難しい問題であるといえるだろう。
最近の私は、上のバトルテックの例同様、
「すべての負荷が同時にかかった場合の
処理落ちはやむなし」と考えるべきだと考えているが……
さて、どうだろう。
雰囲気重視のゲームほど、
「落ちないように」設計するべし、という事情も
あったりするので、一概にはとてもいえないのだけれど。
(*1)コンピュータゲーム版もあるが、今回は無視する。
(*2)細かいパラメータはもっとある。
(*3)バトルメック、と呼ぶのが正しいが、簡単にしておく。