僕はこれまでゲームデザイナーとして10年ほどアクションゲームの開発に携わってきた。特にゲームデザインとはなんぞやと学校で学んだことはなく、現場にいて先輩や実戦経験から学んできたことばかりで、体系的にそれらの学びを整理できてきていなかった。せっかくこういうブログを始めたので、自分の頭の中の整理をするためという名目で(稚拙な文章の言い訳にしたいだけだけど…)これまでの学びを書き残していこうと思う。もちろん所属している会社には気を遣うので出せない情報も多いが。
ゲームデザインに関してはこれが初めての投稿になるので、自分が好きな格闘ゲームについて書こうと思う。
友達の家でストリートファイター2を初めてプレイして、友達とリアルファイターに発展したことは小学校の良き思い出である。当時は友達の執拗な下段攻撃にとてもイライラしていた。
そこから全く格闘ゲームに触れることなく、最近になって仕事上の研究という大義名分で会社でストリートファイター5をプレイしていた。それがきっかけでハマり、今では自宅でプレイするようになってオンラインプレイでそれなりのランク(プラチナ)に到達できた。そこまでには3年ほどかかったが、これほどのめり込んで長く続けたゲームは自分史上でもほとんどない。
なぜここまでハマったんだろうか。
対戦格闘ゲームは何が面白いのだろうか?
なんて問いをしたら壮絶な議論が巻き起こって到底僕の手には負えない。
なので一人のゲームデザイナーとして、極限まで絞った要素について考えたい。
僕が格闘ゲームで大きな要素(アクションゲーム全体においてともいえる)だと思っているジャンプ。それも「前ジャンプ」に絞ってみる。
※ストリートファイターは有名なゲームだし、細かいゲームルールについては割愛。
前ジャンプの仕様はこんな感じ。
- 前斜め上方向にスティック入力すると前ジャンプを行う。自分が左、相手が右にいる場合は右斜め上方向(格ゲー用語でいう9)。
- 前斜め上方向に高く飛び上がって放物線を描き、着地する。
- 基本的に同じキャラクターなら常に同じ高さ、同じ移動量のジャンプになる(画面端に向かって前ジャンプした場合はそれ以上進まない)。
細かいことを書いていけばきりがないのでこの辺にしておく。アクションとしてはかなりシンプルじゃないだろうか。マリオのようにボタンを長く押すほど高く飛ぶわけでもないし、移動速度によって距離が変わるわけでもない。何度ジャンプしても基本的には同じ高さ、距離になる。入力もジャンプしたい方向にスティックを入れるだけだ。
しかし、ストリートファイターのジャンプはとてもシンプルなアクションだけど、このアクション一つがゲーム上でもつ意味はかなり広がりを持っている。
例えば、前ジャンプをすることで以下のようなことができる。
- 相手にジャンプ攻撃する
- 相手にめくりジャンプ攻撃する(相手のすぐ後ろに着地するようにジャンプ攻撃することで、相手と位置を入れ替えながら、相手の背面を攻撃する。防御しづらい)
- 相手を飛び越えて位置を入れ替える
- 素早く前に移動する(前に歩くよりも早い)
- 相手の攻撃をかわす
- 相手の対空攻撃を誘う
このように、「前ジャンプ」ひとつのアクションでさまざまな戦略的な意味を持つ行動が取れるようになっている。
相手との位置の入れ替えは、自分が画面の端に追い詰められている状況では大きな意味を持つ。危険な画面端から逃げ出すのだ。また、爆弾などの設置型の攻撃を持つキャラクターにとっては、位置を入れ替えることで相手にガード方向を混乱させる意味も持っている。
また、ストリートファイターではジャンプ攻撃が強力なため、相手も対策をとってくることが多い。そこで相手の反撃がギリギリ届かないような距離でジャンプすることで、反撃をスカして自分の攻撃を当てることができる。対策の対策だ。
現実世界の誰かと対戦することが前提のゲームなので、これらのアクションが駆け引きとしての意味を自然に持ち合わせている。一つのアクションが相手に与える意味は対戦相手や状況によって無限に広がっていくのである。
これらはすべて一つのアクションが持っている戦略だ。このように一つのアクションが複数の意味を持つことが面白いアクションゲームにおいて必須な要素だと僕は思っている。
もうひとつ、同じようにスーパーマリオブラザーズ2のジャンプを考えてみるとこれも傑作だ。世界でもっとも有名なビデオゲームを分析するなんて恐れ多くて非常に勇気がいるが…
仕様としてはこんな感じだろうか
- Aボタンを押すとジャンプする。
- 押している時間が長いほど、ジャンプの高さが高くなる(限界はある)。
- マリオの横方向の移動速度によってジャンプの移動量が変化する。
- ジャンプ中も多少の位置調整ができる。
そしてこのアクションでできることもかなり多い。
- 敵を飛び越える
- 敵の攻撃をよける
- ダメージを受けるギミックをよける
- 敵を踏みつける
- 亀の甲羅を滑らせる
- 奈落を飛び越える
- 段差に上る
- 空中のブロックを壊す
- 空中のブロックの上にいる敵をやっつける
- 飛び跳ねるスターをゲットする
- ゴールフラッグに飛びつく
ざっと出しただけでもこれだけある。マリオのジャンプはまさに発明で、一つのアクションでプレイヤーは様々な戦略をとることができるようになっている。マリオはゲーム側が用意したステージをクリアしていくゲームなので、ジャンプに持たせる意味はゲーム側の敵やギミックによって表現されている。積み木のブロックのように、一つのアクションでいろんな遊びかたができるような遊び場が作られているのである。
ストリートファイターやマリオに共通しているのは、これらのアクション自体はとてもシンプルだけれども、そこから生まれる戦略的な効果が枝分かれして使い道がたくさんあるということだ。
また、プレイヤーが開発者の意図を超えたアクションの使い道を発見して、より戦略性が増すようなケースも珍しくない。現にストリートファイターのめくり攻撃は最初プレイヤーが発見したものだ。
Jesse Schell著の「ゲームデザインバイブル」ではこれをエマージェントゲームプレイと呼んでいた。ジャンプを基本アクション。ジャンプによってできる意味を持ったアクションを戦略アクション。戦略アクションが偶然的に生まれていくようなゲームプレイをエマージェントゲームプレイと呼び、面白いゲームには欠かせないものとしている。Emergentは「現れる。創発。新興の」という意味。
ストリートファイターのジャンプもマリオのジャンプもこれにぴったりと当てはまっているように思う。
これから、ゲームのアクションを考えるときはシンプルな操作になっているか、それが生むゲーム上の意味はたくさんあるのか、常に意識してアイデアを出していきたい。
参考
https://kakuge.com/wiki/pages/%E3%82%81%E3%81%8F%E3%82%8A
Jesse Schell著「ゲームデザインバイブル」