【38】違和感を見逃さない

佐々木 瞬

 いつもの道を歩いていたら、景色に違和感を覚える。立ち止まってあたりを見回しても、わからない。後で、以前あった木が無くなっていたことに気付く。皆さんはこのような経験がないでしょうか。私はこれと同様の“違和感”をゲーム制作の中で感じることがあります。

 例えば、キャラクターアニメーションのプログラム実装を終えて、動作チェックをしているとき「ん、いつもと何か違う」という違和感を覚えたことがあります。「気のせいかな」と無視しようかと思いましたが、もう一度見てみると、カメラの挙動が今までと異なっていました。私の実装で、その部分を壊してしまったのです。アニメーションの実装で、まさかカメラ挙動が変わるとは思ってもいませんでした。

 また、コードに違和感を覚えることがあります。「一見正しそうに見えるけど、なんかこのコードは気持ち悪い」「ん、なんでこの関数必要なんだ?」といった具合です。そのままでも正しく動いているので、違和感を無視して早くコミットしたい気持ちに駆られますが、この違和感に向き合うことで、よりスマートな方法が見つかることが多々あります。他人のコードをレビューしている時にも、感じたまま「このあたりの処理、なんか気持ち悪い」と素直に伝えて、30 秒ほど待ってもらいます。すると、半分くらいの確率で相手も納得する改善案を思いつきます。

 このような“違和感”に心当たりがある方も多いのではないでしょうか。そのような時は、たいてい何かが隠れています。この感覚を見逃さない能力は、ゲーム制作者に欠かせないスキルのひとつです。では、この“違和感”を活用するスキルは鍛えようのない才能でしょうか。違います。“違和感”を有効活用するには、次の 2 つの力を身につければ良いのです。

 まずひとつは、“違和感”を“感じる”力です。昨日と違う部分に気付いたり、良くない部分を「気持ち悪い」と感じる力です。これを鍛えるには、“本来の状態”を身体にしみこませる努力が必要です。ですから、近道はありません。普段の業務に打ち込む事が全てです。何かを“学ぶ”というより、“常識”と“非常識”を身に染み込ませる訓練に似ています。例えば、多くの開発者は、開発中の作品の挙動をいつも入念に確認しています。そうすることで、現在の挙動が“常識”として身につきます。そのため、動作に異変が起こった時に“違和感”を察知できます。不自然なプログラム設計やコードを「気持ち悪い」と感じる力も同じでしょう。プログラムの設計やコードの思想を“常識”のように身体で覚えることで、それに沿っていないものは「気持ち悪い」と感じることが出来るのです。

 もうひとつは、“違和感”を“見逃さない”力です。違和感というのは「なんとなく感じる」ことが多く、たいていの場合は意識の表層まで上がってきません。特に悪い情報は認識したくないもので、「気のせいか」と無意識のうちに済ませてしまいがちです。意識したとしても、開発スケジュールにも追われますし、何かを変える事で他のプロジェクトメンバーに影響が出る心配もあります。そのため、少しのことは見逃したいという誘惑に負けそうになります。しかし、それではいけません。違和感を覚えた時、勇気を持って立ち止まり、その正体を考えてみましょう。また、残念ながら失敗したときには、どこかで“違和感”を無視しなかったかを思い起こしてみましょう。

 皆さんも、違和感を覚えた時は 30 秒ほど手を止めて、その正体を探してみてください。この力を磨くことで、“勘のいい人”として活躍できるかもしれません。