Unity雑感

別にゲームショウが今週末だからというわけではないが、今週は個人的にちょっとUnity三昧。Unityは素人でも手を出せるゲーム製作用の開発環境。有償・無償の部品(アセット)を用いて場面を作り、それらの動きはC#などのスクリプトで制御する。ほとんど感覚はプラモデル作りに近い。慣れや習熟度、技術的な感性などに応じて、荒っぽいものから精巧なものまでいろいろなレベルのものを作って楽しめる。1年ほど前くらいからネット上のチュートリアルをいろいろやってみて、そろそろオリジナルも手がけたいところなのだが、とりあえず現段階はチュートリアルの複数の要素を組み合わせてみる感じでしかない……。模倣から独創へのギアチェンジは難しいが、ある種の醍醐味でもあり、当面の目標でもある。

試作途中のFPS

というわけで、目下取り組んできたのはFPS(一人称シューティング)。もちろん本格的なものでは全然ないが(苦笑)、実際に作り始めると、たとえば敵は人物像(ゾンビなど)よりももっと抽象的なもののほうが望ましいのではないかとか(円筒形の黒くロボットっぽいクリーパー)、弾薬は数に制限があったほうがよい(60発)とか、そもそも撃つための理由も必要になるんじゃないか(奥に到達すべきゴールとしてシェルターの入り口っぽいものを置いてみた)とか、ガンアクションはさしあたり要らない(弾倉を取り換えるアニメーションの実装が某チュートリアルにあったが、煩雑なので割愛……笑)、そんなことをしている暇がないくらい敵が出るようにしたほうがよい(ほうっておくと4秒おきくらいに、撃ちきれないほど沸いてくる)……などなど、いろいろなことを詰めていかなくてはならない。こうして、ある種の世界観というか最低限のシナリオのようなものができていく。

個人的に興味深いのは、場面内で動くゲームオブジェクトの動きかた。たとえばFPSの場合、一人称のプレイヤーが「撃った」想定上の弾丸はすべてゲーム空間に固定された一点(画面中央の赤い点)に向かって発射される。けれども周りの風景を視点移動やゲーム空間内の移動によって変化させるために、ターゲットに合わせてプレイヤー(一人称視点)が動いているかのような効果をもたらす。まさに地動説に対する天動説状態。ゲームオブジェクト(ここでは敵)の移動方法もいくつかあって、それぞれの方法に付随する制約があるのでどれもまったく同じというわけではないが、見た目には同じ動きをいくつかの方法で実現することができる。実現された動きを「現実」とするならば、それを実現している方法すなわち「理論」「モデル」は複数設定されていることになる。この、複数のモデルがありうる点はことのほか重要だ。基本的には動因をオブジェクトを構成する要素のどれに置くのか、動体のプロパティはどのようにするのかという作り手の判断で分かれる。用いる方法が違えば、関係するプロパティや動体の制約なども違ってくる。実際の動きという「現実」だけを見て、どの「理論」「モデル」が適用されているのかを計り知るのは難しいが、たとえば「現実」の動きのみから作中人物の誰かが、方法はこれこれに違いないと思い込むような事態を仮定すると、誤ったものも含めて諸説が乱立し対立し合うようなことが、なんらかの形で再現されうるかもしれない、などと考えてしまう。うーん、そういうことを、なんらかのゲームストーリー(メタゲーム?)に落とし込めないかしら、などと技術もないくせに夢想してしまう(苦笑)。