プロトタイプもモックも、アイデアがおもしろいかどうか、有用かどうかを見極められるものを作って確かめるものだ。類似する概念にMVP(Minimal Viable Product)があるが、ちょっと違うらしい。
MVPは知識としていれておき、ここではプロトタイプを説明する。
プロトタイプの進め方
プロトタイプにもフェーズがあり、おもしろさを段階的に確認していくことが多い。
- 最小限の構成で試す
- 誰かに試してもらう
- 試した結果「これはおもしろそうだ」と感じたら機能を増やしたり + UIを整えていく
- これらを繰り返す
クライアントや意思決定者に体験してもらえるレベルまで引き上げるべく、締め切りまでブラッシュアップをする。
プロトタイプではコードや設計は雑で構わない。おもしろさを検証するためのスピードが最重要だ。
プロトタイプには欠落している部分があるので、それを説明する
プロトタイプは悪く言えば「雑に」作ったものだ。文脈がわからない人や仕上がりがイメージできない人が見ると、不安に思うのも仕方がない。最終的な仕上がりを丁寧に説明する必要がある。
例えばシン・エヴァンゲリオンにおけるプリヴィズを見てみよう。
プリヴィズと最終アウトプットのビジュアルの完成度は全く異なる。これはグラフィックではなく、モーションとカメラアングルを試しているからだ。
我々のプロトタイプも同じで、体験の芯を検証している。「グラフィックの完成度はありませんが、体験はとてもおもしろいものです」と伝えなくてはならない。 グラフィックの仕上がりイメージはペライチで説明すればよいのだ。
ただし、それが通じない場合もある。みんながみんな美しいグラフィックが入ったときのことを想像できるわけではない。 プロジェクトのしょっぱなから最終アウトプットレベルのクオリティを確認したいと要求されることもある。プロトタイプを作りながら、美しい絵を入れ込まなくてはいけないデスマーチとなってしまう。
その場合は時間を要求するか、金を要求するか、できるわけないと突っぱねる。無理を通すのだから、きちんと迫ろう。
他の参考事例として、スプラトゥーンもプロトタイプでは自機がイカではなく豆腐になっている。
フィージビリティもあわせて調査する
作っているものの実現可能性も探らねばならない。技術的難易度が高いことに気づくことも多々ある。「プロトタイプではゴリ押しでやりましたが、本番で実装するとむずかしそうです」で終わらせるのではなく、
- こうすれば抜け道がある
- 真正面から取り組むとこれほどのコストがかかる
- あとx人投入するとなんとかなる
などといった解決策も探りながら作るとよいだろう。
プロトタイプでよく必要になるもの
リアルタイム通信サーバー
- 多人数同時プレイや、なんらかのデバイスと通信することが基本。必ず必要になる。
- Socket.ioやOSCを使うことが多い。あらかじめすぐに使えるようにサーバーを作っておくといい
- Socket.ioもOSCも得意不得意があるので、ここの経験値は必須。サンプルでもいいので試すことをおすすめする
Unityならアセットストアで買いまくる
デザイナーがおらずエンジニアだけでプロトを作ることも多数ある。一人で全部やるのは不可能だし、とりあえず作れたらいいので、最低限のグラフィックや機能を最速でいれこむためにアセットを買いまくる。 時は金なりだ。
VR RealData Baseballでのプロトタイプ例
ここでは俺が実際にプロトタイプを作ったVR RealData Baseballでの例をあげる。
VR RealData Baseballはプロのピッチャーの投球データをVRで再現して、バッターとして打つ・キャッチャーとして捕ることができる体験コンテンツだ。
開発当時の2016年はVIVEが発売されたくらいのタイミングで、VR自体が新鮮だった。VRでガチな野球をやるとどうなるのかを実験していた。
↑これは作り始めて数日の状態。球場とピッチャーの3Dモデルを買って入れ込み、豪速球を投げてバットに当てれるようにした。当たり判定がザルでバントでしかボールに当てられないが、それだけでも体験者の反応はよすぎるほどだった。
プロ野球のスタジアムで160kmの速球を打つ。球が速すぎて体がのけぞる。プロ野球の世界に入り込んだ感覚がする。これは鉄板だ。数日のプロトタイピングで大きな自信を持って前に進めるようになった。
さらに1週間後、おもちゃのバットにVIVEのコントローラを差し込み、野球中継の視点も追加した。
ここまでくれば、体験せずとも、誰が見てもおもしろいところまできているし、どこのクオリティを上げれば最高の状態にもっていけるのかもわかる。プロトタイプから最終状態へのストーリーが描けるようになるのだ。
まとめ
さっさと体験の芯を作る。グラフィックは捨てる。さっさと見せる。
実装はサーバー、クライアント、デバイス、センサー、管理画面。さらにおもしろさを感じとる嗅覚。エンジニアとしての総合力が試される。鍛えておこう!