2016年7月10日日曜日

20世紀の大発明 ATBとは何だったのか?

アプリ名は「ダンジョジョの奇妙な探検」に改名します。 理由は聞かないで。 英名は "Dun Jo Jo's Adventure" にしようかと。

話は変わりますが、某漫画(不思議な霊体を操る系)で…、 殴る蹴るの単純な霊体はわかりやすいのですが、 時間を止めたり操作したりする系のスタンドは不可解です。 種明かしをされたあとならともかく、

「な… 何を言っているのか わからねーと思うが

おれも 何をされたのか わからなかった…」

と、いう錯乱状態に陥ってしまうことでしょう。

時間に対して干渉することは、最も非現実的であるが…ゆえにでしょうか? 我々に…恐怖を通り越した…冷や汗を与える「得体の知れぬもの」です。 そもそも本当に時が止まるのならば、分子運動がなくなる絶対零度の世界ということでしょうか? いや、言い出したら物理の先生の出番となりそうなので やめておきますが、アインシュタインの相対性理論もスピードが上がると時間の流れ方が変わる? みたいな難解な話ですよね。 そう、人間にとって時間ってやつはまさに難解そのもの。 だけど、漫画にはよくでてきますよね。タイムマシーンだとか、精神と時の部屋だとか、時間をゆがめる概念が!

ゲームとは時間をリアルから解放する事から始まった

しかしね、もっと昔の発明。「将棋」「チェス」「ベースボール」のようなターン性ゲームは時間をゆがめてこそ成立する遊び(競技)です。 将棋で言うなら相手が考えている間に二手も三手もこちらが動かしてしまった方がよほど現実的というかリアル性重視です。 戦場でこちらが相手を撃つべきかどうか悩んでいる間に、敵は自動小銃で何十発も撃ってきました。 「ちょっと待てよ! こっちが動くまでお前のターンにならないから! 勝手に動くなよ!」という理論が通用するでしょうか? ボクシングで 相手が一発打って、こっちが一発打って、相手が一発打って、こっちが一発打って、相手が一発打って、こっちが一発打って… という一問一答みたいな試合展開があるでしょうか? 

もちろん、将棋は相手が一発打ち終わるのを見届けてから、こちらが一発打つゲームです。 ここに紳士協定という名のルールが存在し、時間を人間の理性と知性が捻じ曲げています。 現実世界なら「5分考えて素晴らしい一手を導き出す名人」よりも「何も考えずに5分で百手ほどやってしまう死に急ぎ野郎」が勝ります。 将棋における人間対コンピューターの対戦が白熱しているようですが、 絶対にコンピューターが勝てる方法があります。 「1秒以内に指してね」ルールでも導入すれば、そのスピードに人間はついていけません。

コンピューターゲームの歴史は、もともとはターンライクな将棋的なゲーム性から始まったものの、 マシーンの性能がアップしたことによってリアリティ重視な方向へシフトしています。 しかしね、リアリティな世界というのは「待ってくれない世界」というわけです。 リアルタイム性を重視した3Dリアルゲームでは、時間をゆがめることはできないでしょう。 でもこれって、先祖返りな気もしますけどね。 「相手が打ち終わるまで待つ」というのは文化的です。気品と知性のなせる技です。 昔の人間が発明した概念を、コンピューターが発達することによって自らぶち壊すというのは何とも皮肉なものです。 リアル性を重視し続ければ、ゲームというよりは「シミュレーター」の側面が強いものになるのでしょう。 しかし、究極のリアルワールドである「現実世界」を生きている我々は、現実逃避というかガス抜きの暇つぶしの娯楽としてゲームをするわけですよね。 まあ何と言いますか、リアルもほどほどにねっ、と割り切る精神が娯楽の発展には必要なのかもしれません。 我々には想像力という、すごい力があるんだからね。

で、スーパーファミコンの時代、まだコンピューターが今ほど優秀ではなく、テレビがブラウン管で、録画がビデオテープで、音楽がカセットテープで、 カメラは銀塩で、写ルンですが行楽地に行けば必ず売られていた頃、 RPG にて ATB というものが開発されました。 アクティブタイムバトルです。 ドラクエやウィザードリィ的なターン性をやめて、アクティブタイムな戦闘になったわけです。 しかし、野球からサッカーになったというわけではありません。 なぜなら、リアルタイムバトルという趣向とはちょっと違うからです。

敵味方ともに、時間の経過によって行動の権利が与えられ、アクションを行った後は一定の待機時間となります。 一発殴ったら5秒間のペナルティタイムがあり、そのペナルティタイムを満了したらまた殴ることができます、みたいなシステムです。 このペナルティタイムが長いキャラは鈍重であり、短いキャラは俊敏である、という個性付けが可能です。 で、時間が流れている間は敵味方ともにペナルティタイム(待機時間)が減少します。 なるほど、ダンジョンマスターみたいなアレか…。 じゃあ、アクティブタイムバトルとはコマンド性のリアルタイムバトルってことでいいかな?

否!

私の心の中で何かが叫びます。それは違うぞと。 そう、先ほど時間が流れている間は敵味方ともにペナルティタイム(待機時間)が減少します。と書きました。 そうなんです、時間が流れている間は敵味方ともにペナルティタイムが減少するんです。 時間が流れていない間はペナルティタイムが減少しないんです!

…、…、…。

な… 何を言っているのか わからねーと思うが
 
おれも 何をされたのか わからなかった…

ね、ややこしくなってきたでしょ。だから、時間の話は嫌だったんですよね。 つまり、「誰かがアクションをしている最中はペナルティタイムが減少しない」のです。 ジョーと力石が対面している。 ジョーのペナルティタイムは1.00秒。 力石のペナルティタイムは0.99秒だとします。 この場合、二人はほぼ同時にアクションを起こし、ジョーの拳が力石を、力石の拳がジョーを捉えることでしょう。 ほぼ同時とはいっても、僅差で力石の方が早いというのがポイントです。 アクティブタイムバトルの場合は、僅差で力石がアクション開始の権利を得た時点で「時の流れがストップ」します。

アクションの権利を得た力石はジョーにパンチを食らわします。 ヒットしてダウン! どうだ、立ち上がれるか? 頑張れ、ジョー! よっしゃ立った。ファイト! このときジョーは思います。 「おかしい、オレがパンチを打とうと思ったとき、力石もオレと同様のタイミングだったはず…。 なのに、次の瞬間、いきなり力石の拳がオレの顔面にめり込んだだと! 目にも止まらぬ高速拳! 時間が…トンだみたいだ!」

な… 何を言っているのか わからねーと思うが
 
おれも 何をされたのか わからなかった…

次の瞬間、ぶったまげるのは力石です。 「おかしい、オレのパンチがジョーに当たって奴は膝をついたはず…。 なのに、次の瞬間、いきなりジョーの拳がオレの顔面にめり込んでいる! 目にも止まらぬ高速拳! 時間が…トンだみたいだ!」

力石が行動モーション(攻撃アクション)>ジョーにダメージ>ジョーが行動モーション(攻撃アクション)>力石にダメージ>
というターン性みたいな順番処理をアクティブタイムバトルはとっています。 行動モーションの際は他のキャラのペナルティタイムは減りません。 例え60秒くらいかかる召還魔法をおっぱじめたとしても、他のキャラのペナルティタイムは少しも減りません。 なので、二人以上が同時期に攻撃モーションを展開するということはありません。 これでは時間が止まっているのと同じではないか! しょっちゅう…毎回、ザ・ワールド! ってわけですか。 より自然なのは相対する両者が、同時に行動モーション(攻撃アクション)を行って、同時にダメージを受けるというやり方です。 クロスカウンターみたいな、両者同時にダメージを受ける形。

逆の言い方をするならば、ATB の場合は攻撃を開始する権利を得た際、 その権利を得た者だけが動けます。 基本的にリアルタイムのゲーム性であるサッカーですが、 例えばペナルティキックの際は事情が変わります。 キッカーが蹴る前に、守備側が壁を作ったりしますが、キッカーがボールを蹴りあげる「そのとき」までは時が止まった状態になります。 普段ならシュート気配の相手が蹴る前に妨害することも可能ですが、セットプレイの際は行儀よく待っておかねばなりません。

言ってみれば、ATB とはセットプレイでしかシュートを打てないサッカー。

PK のようなセットプレイの良さと悪さを考えてみましょう。 良さはわかりやすいということですね。蹴る側がチャンス、蹴られる側がピンチ。「今から点が入りそうだ。注目してくれよな」ということが プレーを見守る観客にハッキリと伝わります。 悪さはテンポを削がれるということでしょう。審判がホイッスルを吹けばゲームそのものは続行するものの、ゲーム内に流れる時間は止まります。 セットプレイより、普通にドリブルエンドシュートで決めてくれた方が爽快感があります。

ゲームの歴史にあった if を再現する個人開発者

ATB を開発して特許を取ったのはスクウェア社ですが(その特許ももう期限が切れていますが)、 とうぜん ATB を導入するにあたって「時を止めるかどうか」が争点になったはずです。 それまでのターンベースの RPG しか知らなかった層が FF4 をやれば、「うわっ、こっちがコマンド選んでいる間に敵が攻撃してきた、おっかねえ」となります。 そう、プレイヤーが入力指示を選んでいる間は時が流れているのですね。 これで十分だったのかもしれない。

では逆に、戦闘中に時が止まることは一切ない、というルールで ATB を再構築するとどうなるでしょうか? 2対2くらいの戦闘で物理攻撃しかしないのなら、 見守りし者(プレイヤー)もついてこれるでしょうが、5対5で全体攻撃使うやつが半分以上、とかなったら複雑です。 敵の攻撃と味方の攻撃が被りまくるからです。 ただ、召還魔法で1分も使っていれば、その間に敵の攻撃を何回も受ける羽目になるのでやってられません。もちろん、途中で朽ち果てたらおしまいです。 なので「演出は短く」が基本となることでしょう。 また、FF4 は5人パーティーにまで膨れ上がりますが、こんなに大勢を操作するのであれば、プレイヤーの操作に関わる俊敏さが戦闘結果を大きく左右しそうです。 「素早く押しミスのないように、かつ的確な指示」をできなければ、ロスタイムが積もりまくりです。 なのでパーティーの人数を大きく減らすか、操作できるのは1人だけにする(他キャラはオートで行動する)、みたいな感じにするしかありません。

ゲームですから、プレイヤーに楽しんでもらわねばなりません。 そのために、様々な取捨選択が行われるわけですが、「わかりやすさ」「テンポの良さ」のどちらかを選べ、ということになりがちです。 何モカモってわけにはいかない。オレは全てが欲しいんだって言えば、それは何も欲しくないと言うのと同じです。 常に選択が求められている。右か左かどちらかしか選ぶことはできず、選ばれなかった方は忘れ去られる。 今日は参議院選でしたので、ちょっとニュアンスをだしてみました。 あのとき、切り捨てられた「テンポの良さ」を実装したリアルタイムコマンドバトル…。 歴史に if はいくらでもありますが、その選択されなかった方の if を個人開発者が試してみるっていうのも面白いじゃないですか。

「ダンジョジョの奇妙な探検」は「テンポの良さ」を実装したリアルタイムコマンドバトルです。 上の画像を見てください。真ん中にいるスケルトン野郎が炎魔法でこちらを攻撃しています。 それと並行して味方の戦士が右側にいるデク人形を攻撃しています。 敵の攻撃と味方の攻撃が同時に行われているのです。 これは、敵A敵B敵Cが一斉に襲い掛かってくるというパターンだって実現します。 敵の攻撃が一人に集中すると、大ダメージを食らいます。 戦闘開始2秒くらいで味方の一人がやられることだってあります。これが戦場の現実だ。待ったナシや。 現実にはリアルタイムではないのですが、順番待ちによる遅延は1フレーム分しか発生しません。 ほとんど無視していいくらいの誤差です。

せっかくだからオレは、テンポの速い方を選ぶぜ!