プチメタ3.0

刺激を受けた物事に対する感想や考察、資産運用や英語学習、自己成長に関することなど。

ゲームを作るときに気をつけること

学生にゲームプログラミングを教え込むにあたって
技術を身につけさせるのは当然なのだが、
そこからさらに一歩先に進むのが難しい。

ゲーム業界への受験にあたって、多くの企業が
学生の自作した作品を提出させる。
ということは就職活動の時期には
オリジナルの作品を完成させておく必要がある。
(中には作品制作に自信がないため
 意図的に作品審査のない企業への受験をたくらむ学生もいるが、
 当然そんな甘い話が通じるわけもなく、
 作品審査がない会社ほど、それ以外の要素で
 他の学生から大きく抜け出せていないと話にならない)

そういった事情で、教え子たちは皆ゲーム作品を作るわけだが、
その制作に必要な技術を教えたり
技術的な問題を解決に導いたりするのは
そんなにややこしい話ではない。
こちらも常に勉強し、いろんな技術に対応できるよう
努力しておけばいいのだ。

●技術力以外の部分が作品に差をつける

だが、「いいゲームを作り上げる」というのは
技術力以外の部分が大きい。

高い技術さえ含まれていれば面白いゲームになるなら
誰も苦労はしない。
最新の技術が入っていれば売れる、というのであれば
次世代ゲームマシンの独り勝ちになるはずだ。

しかし実際には、どれだけ高い技術を作品に込めるかではなく、
どれだけユーザーに対して配慮し、
独りよがりではない広い視野で組み上げられているかが
非常に重要だったりする。

このあたりは個人の感性にかなり左右されるが、
私が過去に作ったゲームをサンプルに、
考えるべきポイントをいくつか挙げてみる。

●各場面の世界観や仕様が統一されているか

タイトル、ステージセレクト、ゲームオーバー画面など
ゲームというのはメイン以外の場面へも切り替わる。
その際にフォントや色づかい、
キー操作が変わったりすると違和感が出てしまう。

タイトルではスペースキーが決定ボタンだったのに
ステージセレクト画面ではZキーで決定する、などは論外。
ユーザーが混乱するだけで何もいいことがない。
これはひとつの場面だけを見て仕様を決めている証拠で、
全体を通して統一された仕様にすべきだ。

固い雰囲気なのかポップな感じなのかも
全編通して、同じ雰囲気が維持されるべきだ。
タイトルではカタカナ表記が中心なのに
オプションではアルファベット中心、というのも論外。

私が初めて作った「喰人王」では
「ローマ字設定」の画面とそれ以外の場面とが
雰囲気が統一されていなくておかしい。

【例:「喰人王」の各画面】
f:id:IKUSHIMA:20180102133028j:plain
f:id:IKUSHIMA:20180102133134j:plain
f:id:IKUSHIMA:20180102133258j:plain

【例:「喰人王」のローマ字設定画面】
f:id:IKUSHIMA:20180102133310j:plain
実は喰人王ではローマ字設定の画面が真っ先に作られた。
その後、試行錯誤しながら全体の雰囲気が決まっていった。
ゲーム開発に慣れていなかった経験がここに出ている。

ずっと気になっているが、今さら直す気はないので
それ以降の作品では、地味なオプション画面などでも
全体の統一が取れる雰囲気になるよう配慮している。

●文字が判別しやすいか

次のポイントはゲーム画面の見やすさに関してだ。
「見やすい画面にしよう」というのは割と多くの人が考えるが
実際に見やすい画面にするのは思いのほか難しい。

まず、必要な情報が背景と混ざって見にくくないか。

文字が背景と同系色だったりするのは論外。
場面によって画面の色が大きく変わり、どの色を使っても
タイミングによっては見にくくなる、というのであれば
枠付きにするか、囲い文字にして背景と混ざらないようにする。

【例:「バーガーメーカー」での枠付き文字1】
f:id:IKUSHIMA:20180102140130j:plain

【例:「バーガーメーカー」での枠付き文字2】
f:id:IKUSHIMA:20180102140142j:plain

【例:「バーガーメーカー」での囲い文字】
f:id:IKUSHIMA:20180102140153j:plain
文字であってもエフェクト的な意味合いで表示しているものは
特別読みやすさに配慮しなくてもよい。
コンボ数やダメージ量などは見逃しても問題がない項目なので
たとえ背景と紛れたとしても、派手に見える配色にしたりする。

●情報が整理されているか

たとえばゲーム画面に主人公の体力、敵の体力、仲間の体力、
得点、残り時間、経過時間、ダメージ量、
コンボ数、残弾数、敵までの距離などが
表示されていると、プレーヤーは普段どれを見ていいのか迷う。

学生はゲーム内容にこだわってシステムが複雑になり、
たくさん情報を表示しようとする傾向があるが、

情報はどれだけ多いか、ではなく
どれだけ削れているかで勝負するのだ。

上記の例で言うなら、プレイする上で必須となる
主人公の体力、残り時間、残弾数ぐらいに限定する。
ゲームの内容にもよるが、
得点や経過時間は特定の画面で切り替えるステータス画面や
ゲームが終了してからの結果表示で十分。
コンボ数やダメージ量も、攻撃が発生した瞬間のみ表示する。

さらに「数値」だからといって「数字」で表示するばかりだと、
他の数字と混ざってそれぞれの数字の印象が薄れる。

体力はゲージで、残り時間はアナログメーターで、
残弾数はアイコンで、などと別々の表現を使う。
それぞれの情報のパッと見の印象が違っていれば
プレーヤーは頭を切り替えながら判断できるからだ。

ただし、アイコンのデザインが下手で
それが何の状態を表しているかわからない記号などは論外である。

●操作するボタンが整理されているか

パソコンの場合、マウス・キーボード・ゲームパッドあたりを
操作してゲームをすることになる。

このうち、キーボードを使うゲームに関して
いくらキーがたくさんあるからといって
多用するのは混乱のもとである。
ゲームパッドで10個近いボタンを扱うのが普通だとしても
キーボードで10個のキーを扱わせるのは無謀なのだ。

さて、右手に関しては
カーソルキーかマウスのどちらかになるだろう。
カーソルキーは上・下・左・右の4つのキーがあるが、
操作する者の意識としては
「カーソルキー」という1つのかたまりでとらえる。

問題は左手だ。個人的には3種類が限界と考えている。
プレーヤーが一度に意識しておける操作の個数が
3つを越えると急に混乱するのだ。

たとえば
「Zキーが通常ショット」
「Xキーが必殺技」
という操作なら、基本的に混乱することはない。

しかし
「Zキーが通常ショット」
「Xキーが必殺技」
「Cキーがダッシュ」
「Vキーが防御」
と言われると、実際にゲームしているときに
「えーっとダッシュってCキーだっけ?Vキーだっけ?」と迷う。

この「えーっと」の瞬間に敵にやられると
プレーヤーは大きなストレスを感じる。
自分が下手だからやられたのではなく
操作が思い出せなくてやられたからだ。「理不尽」というやつだ。

そのため、私は基本的に3種類以内で収まる操作系を練る。

フロントライン」では左手を使い、Z・Cキーで左右移動をする。
実際には2つのキーだが、プレーヤーは「左右」という概念でとらえるため、
これは1種類と考える。
さらにXキーで防御を行う。つまり2種類の操作系で収まる。

これに加えてスペースキーで手榴弾を投げることができるが、
これは常用しない技、いわば「特別」な操作なので
あえて他のキーよりも目立つスペースキーに割り当てる。
これでプレーヤーは
「危ないときはスペースキー」という強い印象ができ、
混乱せずに操作を覚えられる。
こういった操作は前述の「3種類まで」という制限から除外する。

これが
「Zキーがマシンガン」
「Xキーがハンドガン」
「スペースキーがショットガン」
などだと、3つのキーに収まってはいるものの、
武器そのものの印象の差がないのに
キーとして比較するとスペースキーが目立ちすぎてしまい、
スペースキーが何の武器かをとっさに思い出せなくなる。
ゲーム内の働きとキーの印象とがシンクロしないと
結局のところ、感覚的でない操作性になってしまう。

バーガーメーカー」での左手の操作はZ・X・Cキーで
対応した客にバーガーを渡せる。

【例:「バーガーメーカー」での客の並び】
f:id:IKUSHIMA:20180102143650j:plain
横一列に並んだZ・X・Cキーの並びが、
画面上で横一列に並んだ客の配列と一致するので
感覚的に操作することができる。
さらに補助として、それぞれの客の脇にキーも表記してある。

加えてスペースキーでバーガーの廃棄ができるが、
これもフロントラインでの手榴弾と同様、
常用しない特別な操作になるので、3種類制限から除外できる。
つまり、バーガーメーカーの操作系は
「客にバーガーを渡す操作」の1種類のみである。

こう書くとシンプルな操作に感じるが、
バーガーメーカーはゲームの性格上、
バーガーを作る工程にかなり意識を使うので
操作はギリギリまで洗練しておかないといけない。
これ以上、操作を増やすと混乱するストレスが大きすぎるため、
この操作系に収束した。
もちろんここまでに、かなりの試行錯誤があった。

ネイビーミッションでの左手の操作は
W・A・Dキーで前進、左右旋回のみである。
行きたい方向のキーを押すだけなので特に混乱はしない。

ただ、実は右手のマウスの方に工夫がある。

右クリックで切り替える兵器が3種類なのだ。
ネイビーミッション」はフロントラインと違って
兵器が一覧できるようなアイコンがない。
あくまで今選んでいる兵器が表示されるだけだ。

【例:「フロントライン」の武器アイコン】
f:id:IKUSHIMA:20180102143033j:plain

【例:「ネイビーミッション」の兵器アイコン】
f:id:IKUSHIMA:20180102143705j:plain
この場合、兵器が4種類だと
どの順序で兵器が切り替わるのかをとっさに思い出せなくなる。

3種類なら

主砲 → ファランクス → ミサイル →
 主砲 → ファランクス → ミサイル →

の繰り返しと把握できるが、仮に

主砲 → ファランクス → 魚雷 → ミサイル →
 主砲 → ファランクス → 魚雷 → ミサイル →

の4種類のループだと、非常に混乱する。

特定の兵器に切り替えるときに
あと何回、右クリックすればいいのかわからないのだ。

さらに、1周するのに4クリック必要なので
兵器の切り替えに時間がかかり、
敵の攻撃に素早く対処するゲーム性に合わなくなる。

このため、性格の違う兵器を
ギリギリの3種類に絞るのにかなり苦労した。
「自艦も魚雷を撃ちたい」とよく言われたが、
魚雷を入れるとミサイルを外すことになる。
しかし、空海ともに狙えるミサイルに対して
海専用の魚雷ではゲーム性が低くなるのだ。

●テンポを崩さない工夫をしているか

ゲームというものは熱中させてナンボなわけで、
時間も忘れるほどにハマッてもらえれば
開発者としては嬉しい限りだ。

しかし、熱中できない仕様にしてしまっている作品をよく見かける。

基本的にはプレーヤーが操作できない時間を
長時間作ってはいけない。

たとえば必殺技を使った際に
何十秒もデモシーンが流れるゲームはテンポが悪いのだ。
いくらカッコいいデモシーンだとしても
その間、プレーヤーは操作できずに
じっと待っているわけで、そんなゲームで
何度も必殺技を使う気になるだろうか。

経験上、待たせる時間はせいぜい1秒が限界で、
あとは常にプレーヤーが操作できる時間を提供する。
ただし必殺技が発動している間にも
プレーヤーの操作を必要とする場合は
この時間には換算しない。

つまり、常にプレーヤーの意識を
ゲームに留めておくことを目指す。
この辺はロード時間の長さにも言えることで、
ゲーム中、頻繁に訪れるローディング処理は
ゲームそのもののテンポを悪くする。

さらにテンポを崩す要素として、
頻繁に行う必要のある操作なのに
やたら面倒な仕様になっている、というものがある。

たとえばRPGで、人に話しかける動作をするときに
いちいちステータス画面を開くような仕様になっていると
町の住民に話を聞いていくのにウンザリする。
だからこそ、相手の前に立ってボタンを押すだけで
会話ができるようになっているゲームばかりなのだ。

たとえばアクションゲームで、
頻繁にアイテムを使うシステムなのに
その都度、所持品一覧の画面に切り替えないといけない場合、
アクション部分のスピード感が大きく失われる。
当然ながらアクションしながら、その画面を切り替えずに
アイテムを選択して使用できるシステムにすべきだ。

ゲーム中にメインの画面以外に切り替わると
プレーヤーの意識がそこで寸断され、ゲームへ没頭できなくなる。
そのたびに頭が冷却されて、熱中する温度まで達せない。

今まで作った「喰人王」、「フロントライン」、
バーガーメーカー」、「ネイビーミッション」のどれもが
「プレイしてて忙しいゲーム」になっている。
忙しくプレイしないといけなくなる状況を作り出し、
忙しくプレイしている間に別の画面には一切、切り替わらない。

つまりそれだけゲームに集中できるし、
ひと息つく暇もなく、時間を忘れてプレイしてもらえると思う。

●どの項目を選んでいるかハッキリさせる

意外と自分で作っているときに気づかないポイント。

メニューなどでどちらを選んでいるのか
わからない配色があるのだ。

【例:どちらか有効かわからないサンプル】
f:id:IKUSHIMA:20180102142959j:plain
上記のように表示されていた場合、
「ON」と「OFF」のどちらの設定が有効か
ちゃんとわかるだろうか。

3つ以上選択肢があればまだともかく、
特に2つの場合は注意しなければいけない。
これは学生がよくやる失敗である。

最も単純な解決法は枠を付けることだ。

【例:「ネイビーミッション」のオプション画面】
f:id:IKUSHIMA:20180102143021j:plain
これなら確実に判断できる。

または選ばれていない方の明るさや
コントラストを下げて、目立ちにくくする方法。

【例:「フロントライン」の武器選択表示】
f:id:IKUSHIMA:20180102143033j:plain

【例:「ネイビーミッション」のミッション選択表示】
f:id:IKUSHIMA:20180102143042j:plain

こういうポイントは、ちゃんとできていると気づかないが
そうでないときに目立つ。
ゲーム本編以外のメニューであっても気配りして作るべきだ。

●まとめ

実際にはまだまだポイントはあるのだが
いつまでも書いていてはキリがないので
あくまで一部を紹介、ということで切り上げたい。

今まで挙げたところは、結局のところ技術力とは
あまり関係がない。
しかし「ゲーム」という作品を完成させるにあたっては
どれも必要な配慮だと思う。

「丁寧に作れ」
「ユーザーフレンドリーになれ」
「ユーザーの立場で考えろ」
こう言うのは簡単なのだが、その言葉から
前述したような配慮ができるかどうかは難しい。

開発途中に何度学生にそれを呼びかけたとしても
具体的に言われない限り、伝わらないだろう。
それよりもわかりやすい技術や独創性を
作品に込めようと努力するのは
学生としては当たり前かもしれない。

しかし、仮にそんな作品群の中、
上記のポイントまで配慮された作品を作れば
何よりも光るゲームになるだろう。
特に開発現場の人間はそれを見逃さないと思う。

ある意味、技術力は勉強させれば身に付くわけであって、
それ以外のセンスに頼る部分の育成の方が難しい。
となれば、技術よりもセンスが光る学生を選ぶ企業の方が
実は多いのではないか。

現場での技術成長は本当に早い。
今、学生がいくら高い技術を持っていようとも
それはあくまで「学生」という立場でのみ評価される程度のものだ。

もちろん技術が不足しているのは話にならない。
高いに越したことはないし、常に高める努力ができない人間はダメだ。

だが、それができているからといって
「技術さえあればいい」と勘違いするのは非常に危険だ。
この連載の頭にも書いた
「高い技術さえあれば面白くなるなら誰も苦労はしない」
という一文に尽きる。

そのため、技術を身に付けたあとに
さらに一歩先に進まねばならないのだ。
ゲームを作る立場にある人は
ぜひこれまで挙げたポイントを意識してみて欲しい。