2014年9月2日火曜日

魔法科LZ 第6回:果てし無き、流れのはてに…

DSC03406.JPG
 魔法科高校の劣等生 LOST ZERO (以降、魔法科LZ) 制作ブログ第6回です。

 今回はバトルシステムについての話です。魔法科のバトルシステムはこのゲームの中で最もスクラップ&ビルドを繰り返した箇所であり、苦労を重ねた箇所になります。それも当然といえば当然。ここがこのゲームの中核ですので、一切妥協せずに考え抜く必要がありました。

 第5回のブログで書いたように、バトルシーンに2D表現を取り入れることで、操作感は格段よくなっていったのですが、ゲームシステムとしてわかりにくい点が残ったままでした。反省点として、旧バトルシステムは、普通のターン制バトルにしたくなかったという思いもあり、すこしリアルタイム性を入れた様な微妙なターンともいえない、かといってリアルタイムバトルともいえないようなシステムになっていたました。まず、そこから改良すべきだという事になったのです。では、ターン制なのか、リアルタイムにするのか、というバトル全体を左右する大きな選択肢になってきたのですが、ここは検討の結果、やはりリアルタイムバトルシステムを採用してみるべきだろうという結論になりました。そして、リアルタイムだとしても、それをどうプレイヤーわかりやすく伝えるのかという問題がのこります。そして、その解決案として、具体的には各キャラクターには独立した魔法ゲージを表示して、それがたまったら攻撃できる順番が来るというシステムを考案しました。しかし、まだ終わりではありません、次の検討課題は、そのようなシステムだとしても

  1. 自分の順番が来たときに入力を待ってあげる
  2. 入力とは別に、バトルは進んでいく

のかという選択肢が浮上してきたのです。これは大きな違いであって、プレイ感覚が全く異なります。最初、世の中のスマフォのゲームは1)の入力を待ってあげるという選択肢を選択しているゲームがほとんどだったので、1)が良いのではと思っていました。そうして、そのように試作してみたのですが、なんというかバトルに緊迫感が欠けるのです。これはスクエニのプロデューサーさんからも同様の意見が出たので、世の中の実装とは違っても、ここは世の流れに逆らい、バトルの流れの良さを選択すべきだと決断したのです。こうして、魔法科LZのバトルに関しては、キャラクターが個々のスピードを持ち、プレイヤーの入力とは無関係に進んでいく、リアルタイムバトルを選択することになったのです。

 いよいよ仕様もリアルタイムバトルに決まってきた後、プログラマさんの実装も完成にちかづいてきました。ではさっそくと、その段階のプログラムを遊んでみた所、悪くはないのですが、なんだかちょっとイマイチなのです。緊迫感もあるし、まちがいなくよくなっているのですが、なんというかしっくりこないんです。この感覚、スルーして進むこともできたのですが、なんだか重要な気もしたので、この原因に関しては十分検討してみることにしました。その結果、個々のアクションが行儀よく順々に行われすぎているため、リアルタイムとはいえバトルのテンポ感が阻害されてしまっているのでは?という結論にいたったのです。これだではちょっとわかりにくいと思うので、補足すると、この時のバージョンではリアルタイムバトルではあるものの

  1. 自キャラのATBゲージがたまる
  2. 攻撃指示
  3. 攻撃開始

という流れになるのですが、2)から3)に移る際、他のキャラが攻撃中だったりすると3)への遷移にウェイトが発生していたのです。たしかにこれは無理もない話で、攻撃中のキャラクターがいた場合、その攻撃によって死んでしまったりすることも考えられますから、その結果を受けて、次の行動が決定されるというのは合理的でした。しかし、これによって「タッチしてから攻撃が出るまでに存在するラグ」による操作感のずや、間が発生してしまったいたのでした。

 次はこの問題を解決せねばなりません。解決のために、敵が攻撃中であろうと、キャラを操作したらバンバン攻撃が出るように無理矢理プログラムを改造してもらったところ、さらに緊迫感が増し、実にバトル感覚がよくなりました!しかし、いいことばかりではありません。いつでもタッチしたら技が出るようにした弊害として、プログラムの難易度があがり、バグが出やすい構造、言い方を変えるとデバッグが大変な仕様になってしまったのです。しかし、面白さにはかえられないので、これは腹をくくって突き進むしかありません。がんばれプログラマさん、と陰ならエールをおくっておきました…

 で、この問題が解決したと思った次に、問題になったのが、攻撃の種類です。この段階ですでに3種類の攻撃が考案されていました。

  1. 通常攻撃
  2. 連係攻撃
  3. 必殺技

です。それぞれについてバトルのテンポを阻害しないように、しかも気持ちよく操作できるような操作方法を検討する必要があったのです。1)の通常攻撃は通常のタップですでに決定していたのですが、問題は2)と3)でした。特に2)なのですが、「連係攻撃」だけに操作的にもちゃんと連携感を感じられる操作にしたかったのです。当初、連係攻撃の操作案として上がってきたのは、「なぞる」です。魔法ゲージがたまって攻撃可能になっているキャラを指でなぞって繋げていくとラインが引かれ、その順番で攻撃が出るというアイデアでした。発案当初、これはいい!とおもったのを覚えています。指でなぞってつなげていくというのが、タッチUI ならではですし、直感的で良いと思えたのです…が、しかし、採用されてしばらく遊んでみたのですが、遊べば遊ぶほど、なぞっていくのが面倒になってきてしまったのです。頻繁に行う連係攻撃に「なぞる」という行為はちょっとばかりめんどくさすぎたのです。なので、この操作をあきらめ、技を出したい順番に素早くタッチしていくという、さらにシンプルな操作を採用する事になりました。素早い操作を要求するので、慣れないと失敗することもある操作なのですが、そんなに難しくないし、なによりバトルのテンポを阻害しない操作なのが最高でした。最後に、これらをかんがみて、3)必殺技は間違えて出してしまわないようにキャラをフリックするという操作に落ちついたのです。

 こうして、わかりやすい操作、テンポよく進むバトル、それでいて複数の攻撃も選択可能という最終的な魔法科LZ のバトルシステムが完成していきます。

 これらをすべて入れ込んで、こんどこそ!と自信を持って望んだ再プロトタイププレゼンは無事通過!ようやく長い時間をかけて検討してきたバトルシステムも完成が見えてきたのです。そして、いよいよゲーム制作は佳境に突入していくことになります!

つづく

0 件のコメント: