このカテゴリはAAWというゲームを元に
これからゲームを作る人とかゲームの仕組みに興味がある人に
僕の知ってることを中途半端ながら語ってみようというものです。
ちなみに今までの話はこちらから見れます。
ここで語ることはあくまで自己流なので注意。
んでは、今日は前回ちらっと出てきたユーザー補助機能の話しです。
ユーザー補助という名前は僕が勝手につけました。
簡単に言えばユーザーをこっそりお助けして、気持ちよくゲームを遊んでもらうためのシステムを言います。
そういう意味ではゲーム全体がそういうシステムだけで成り立ってるとも言えますが、とりあえずそのうちで明確なものを何種類か紹介します。
量は多いけど1つ1つはたいしたこと無いので、サクっといきます。
補助キャンセル
前回のキャンセルに関連した内容です。
キャンセルの中にはユーザーが明確に操作するものと、無意識に発生しているキャンセルがあります。
一番分かりやすい例はモララーの空中攻撃の動作です。
空中で攻撃ボタンの次に素早く↓キーを押してみてください。
意図的にやるのはちょっと難しいかもしれませんが、一瞬ビデオ(通常空中攻撃)を出しかけるモーションをしてから、ぬるぽ叩き(空中下攻撃)を出します。
実は全ての通常攻撃の最初の数フレームに上下キーのみで上下技へのキャンセル受付時間があります。
何のためにそんなものがあるのかというと、ユーザーの入力ミスを補助するためです。
下攻撃は↓キーと攻撃ボタンを同時押しということになっていますが、処理的に正しい出し方は↓を押しているときに攻撃キーです。
ところがこれを同時に押そうとするとたまに攻撃キーを押してから↓キーを押してしまう人がいます。
しかもその差が数フレーム離れている場合さえあるんです。
ところが、プレイヤー本人は同時に押した気満々です。
これで下攻撃が出ないと「どうして出ないんだよー!」とイライラします。(しかもこの癖がある人は何度も同じ失敗をし、本人にはどうして失敗しているのかわかりません。)
そこでゲーム製作者は「そりゃあんたが悪いんだよ、ちゃんと入力してないんだから」と言いたいところですが、それはダメです。
製作者はゲームのキャラクターを出来る限りユーザーの思ったとおりに動かす義務があります。
ユーザーが下攻撃を出したつもりならば、キャラクターは下攻撃を出すべきなんです。もちろんできる限り、ですが。
そこでこういう補助キャンセルを設定し、ユーザーが攻撃キーから遅れて下キーを押しても下攻撃が出るような仕組みになっています。
前方カメラ
2つの画面はモララーが同じ位置に立っているのに、映っている範囲が違うのが分かると思います。
これは画面の表示位置がキャラクターの正面に向かって少しだけズレる処理が実装されているからです。
この機能はかなり重要で、特に敵や自分のキャラの移動速度が比較的速い場合、画面があまり前まで見えないと画面外から来た敵と正面衝突することがあるからです。
それ以上に、前のほうが良く見えると言うのは心理的にかなり気持ちのいいことです。
たまにカメラがキャラより遅れてくるため、前方のほうが後方よりも見えない、なんてゲームもありますが、マップを覚えていないとかなりストレスが溜まるはずです。
ちなみにこの機能はアクションゲームを作る場合かなりコアな部分に絡んでくる実装のため、機能をつけるのであれば計画の早い段階からその挙動を決めておく必要があります。
ダッシュ固定
ダッシュしてからジャンプして、→押しっぱなしで着地すると、何もしないでもダッシュになります。
それだけ。
ダッシュジャンプの時に立つフラグがあり、空中で逆方向にダッシュ入力とかされると、この機能はキャンセルされます。
無敵攻撃
ギコとモナーの技のうち、突進系のものは発生中無敵。
処理的にはガードをしていることになっている。
ダメージ空中ジャンプ補助
空中でダメージを受けた場合、リアクションのあと、空中ジャンプの回数が回復します。
これはダメージを受けて穴に落下するのをなるべく防ぐため。
ダメージ中にジャンプを連打していると、たまに物凄く浮き上がるのはこの処理のしわざ。
空中攻撃移動
空中攻撃中に左右キーで移動できることです。
これ、当たり前の機能に見えて、当然実装しなければ動けません。
この左右に移動できるかどうかで当てやすさは全然違いますし、敵に間違ってぶつかることも少なくなります。
この操作はわりとユーザーが無意識にするもので、移動できることがかなりの気持ちいい動きに繋がります。
逆に攻撃中に移動できないものは、ほとんどのダッシュ攻撃と、ギコ・モナーの空中下、しぃの空中上特殊、モナー・モララーの空中特殊など。
こういう技はユーザーがとても当てにくいので、意図して攻撃範囲を大きくしてやる必要があります。
補助機能のポイントは、ユーザーに気づかれないくらいこっそりと実装してあり、ユーザーが無意識に、もしくは当たり前のように使うと言うところにあります。 結局のところゲームがユーザーと勝負しているのではなくユーザーを補助しているわけですから、あまりにあからさまだと引かれてしまいます。 とはいえ、本当にユーザーと勝負をしてはいけません。 ゲームは接待ゴルフのように、真剣勝負を装いつつ、こっそりと的確にユーザーに気持ちよく勝たせてあげるのが理想なのです。 (誰にもクリアできないゲームはいわゆる糞ゲーでしょ?) もちろんそのレベルは相手によって違います。 バリバリのゲーマーなら避けれないほどの弾幕を華麗に避けるのに快感を覚えるでしょうが、初心者にはそれは無理です。 ネットの住人は比較的ゲーマーではない人間が多いので、多少補助は強めに実装しておく必要があるでしょう。