ゲーム開発の話


 絵描きの知り合いとブラウザゲーを作った。カジュアルな箱庭風パズルゲーム「Flora」です。
 
 https://riyaaaaa.github.io/Flora-web/





 ゲーム開発を完走した感想としては、会社で一緒に頑張ってくれてるチームメンバーへ圧倒的感謝という気持ちでいっぱいだ。
 ゲーム開発に必要なスキルは恐ろしく多岐に渡り、個々に非常に高い専門性が求められる。
 プログラミングしか能がない私と、ゲーム開発の経験がない絵描きの二人では、実現可能なゲームというのは非常に限られており、その有限なリソースの中で、現実的に実装可能なゲーム体験というものを選択的に決定しなくてはならない。いかに仕事で作っているゲームが才能あふれた多くの人間によって実現される高度なプロダクトであるのかを実感させられるばかりだ。


 今でこそ高品質な3Dゲームが当たり前のように市場に蔓延ってるが、それを実現するためには、実際にプロダクトのコンテンツを作っている職能だけに絞って挙げても、エンジニア、UIデザイナー、VFXアーティスト、エンバイロメントアーティスト、アニメーター、モデラーサウンドアーティスト、プランナー、シナリオライター、2Dアーティスト...... ぱっと思いつくだけでもこんなにある(漏れてたら申し訳ない、私はすべての同僚をリスペクトしています)。
 もちろんこれらの職能の中にもより細かく分野は細分化されており、例えばエンジニアに絞って挙げても、サーバーエンジニア、クライアントエンジニアはもちろん、クライアントエンジニアの中にもゲームエンジニア、グラフィックエンジニア、サウンドエンジニア、ツール/ビルドエンジニア、テクニカルアーティスト、QAエンジニア、エンジンを自作してるところならエンジンエンジニアもいる。

 そして皆が実際に手元で触っているコンテンツを作っている人間だけがゲームを作っているわけではもちろんない。プロジェクトマネージャ、QA、マーケティング、その他組織が組織であるためのありとあらゆるバックオフィスの人たち。


 ゲーム開発あまりにも難しく、そしてあまりにも尊い......


 現状商用ゲームとしてユーザーが納得できるクオリティのゲームを作るためのハードルは恐ろしく高くて、それを実現するための組織も凄まじく巨大だ。
 組織の生産性は、人数に対して簡単にスケールするわけではなく、むしろ指数関数的にコミュニケーションコストが高まってゆき、小回りが利きづらくディレクションも困難になっていく。
 もっと小さな組織でゲーム開発できたら......と思わざるを得ないほど、大きい組織特有の問題はゲーム開発の現場について回るが、それでも、むしろ、それほど困難だからこそ、目標達成のカタルシスも大きくなっていくのだと感じる。
 一方で自己表現、自己実現の面は薄めか。個人的にはゲームエンジニアの職責は、ディレクターの信ずる面白さを実現、最大化することであると思っているので、正直自我やプライドはない方が組織としてはよく回るかなと思う。ただ、こだわりはあればあるほどいい、一番しんどい時、妥協したくなる時、自身を奮い立たせてくれるのは、最後は結局ゲーム開発への熱量とこだわりだけだ。あと優しいPM笑


 

 プライベートのゲームの開発の話に戻るが、単純なゲームのコンテンツの密度や、アートのリッチさなどでは市場と勝負しようがないので、如何に「ありそうでないゲーム」、「超使いやすいUI」、「ひとつまみのエゴ」を実現するかに焦点が当たっていた。(実際にはこれらを言語化していたわけではないが、方向性はこんな感じだったと思う。ちなみに大きい組織の統率で最も重要になるのは目的の言語化です!)

 
 もともとは、絵描きの知り合いのGya氏とお絵描きチャットをしていた時に、唐突に「こんなゲームあったらおもろくない?」みたいなのをMagicalDrawのキャンバス上にGya氏が描き始め、私は「よさそうやん。作ってみるか」と回答し実際に作ったものである。ノリと流れで発生した副産物的なゲームなので、こんなカジュアルなゲームでも完成したのが奇跡のようにも感じる。
 しかもこのゲームを開発していた初期のころは、最も仕事が忙しい時期でもあり、何もない平日は毎日AM1:00~2:00まで勤務していたため、セルフモチベーティングが非常に困難であったが、開発を完全にルーティーン化することで何とか継続させることができていた。
 とにかく人間は腰を上げるのが一番大変であり、実際に手を動かすと意外とどんなことも気にならなくなるものである。そのため、ゲーム開発の初期は以下のように進めていた。


 ・作業する曜日、時間を必ず決める
 ・作業する時間になったらとりあえずどんな状況でも作業通話をはじめ、手を動かす
 ・仕事が終わってなくても作業通話はやる。ルーティーンを守る。(作業してるフリはする)

 
 これを守ってればどんな状況でも開発がとん挫することはなかった。
 相方はダメ人間なので好きなゲームが発売されると1~2週間音信不通になりやがるが、一通り満足すると何事もなかったかのように戻ってくる。これはエンターテインメントの楽しみ方、区切りのつけ方としては非常に合理的だと思っていて、なるほどとなった。真似したくないけど。てか私は会社員だから無理だが。


 ゲームの仕様を決定する上で、お絵描きチャットはもっともリモートのコミュニケーションで最適であるとも感じた。
 思考を具体的に伝えやすく、そしてFBも高速である。MagicalDrawならなんとキャンバスのスナップショットも自動でサーバー側に保存される。もしかしてこれゲーム開発用サービス?


 

 
 
 
 仕様を一通り決めたら、あとは作る。とにかく作る。そうしていくうちに、「やりたいこと」を全部組み込んでいくだけではゲーム体験に一貫性や整合性がないことが露わになっていくので、どんどん引き算していくことになる。今回の場合だと、初期コンセプトは「植物の女の子と対話しながら、要望を汲み取り、適した箱庭を作る」というコンセプトだったが、具体的に提示されないパズルパート(箱庭)のゴールの検証、照合をするために、二つの画面を行き来するというデザインがゲーム体験として成立していなかったため、「対話的要素」をかなり削り、逆に「パズル要素」をかなり強めた。また、箱庭に必要な家具は、女の子が現実時間で生成するエネルギーで買う、というクッキークリッカー的な要素も、「サクッと遊んでもらうカジュアルゲーム」としての側面と完全に対立し、序盤やることがない、という問題が発生したため、結局ゲーム開始してすぐに全ての家具を購入可能なバランスデザインになっている。結果的には、このエネルギー生成&家具購入という要素は、不要であったという結論には至るだろう。

 また、コンテンツの少なさも気になるところではある。そもそも、相方が考案したパズルっぽいゲームを作ってはいるが、私も相方も別にパズルゲームに明るいわけではないし、家具やキャラを増やせば増やすほど、「想定解」以外の解が生まれてしまう問題を孕んでおり、結果的にキャラ数2+1(特殊エンディングなしキャラ)のみとなった。少なすぎて爆笑。
 作りたいゲームは作ったわけだし、パズルのコンテンツ設計は難しく、データ入力もだるかったので、まあええか!で終わらせた。Done is better than perfect. ってマジでいい言葉だな。ザッカーバーグ、好きです。特に米社会と株主にボコボコにされて感情が虚無になっている近影が。(ゲーム開発で一番大事なのはこだわりって話はなんだったんだ?)

 バランスデザイン、コンテンツ設計って、正直こだわろうと思えば無限にこだわることができて、折り合いをつけるのが一番難しい分野だと思う。アートもそうかもしれないけれど。プログラムは、ある種の実現したい要件があって、極端な話それを満たしていればいいわけだから、割と気楽だと感じる。私も結構ソフトウェア設計にはうるさいタイプだから、プログラミングはアートだ!って人の考え方にも共感できなくはないけど。
 でも実際問題、設計がイマイチでも動いてさえいれば、ユーザーに届けたい価値というものは提供できるわけで、インフラアーキテクチャみたいなものならまだしも、ソフトウェアの設計くらいなら単なる技術的負債の一環として、のちに返済可能なんよな。(なんかいろんなところから怒られるかもしれない)
 そもそも技術的負債というのは、単なる「クソコード」を表しているだけではなくて、その時実現できない技術的要件というものを「技術の借金」をして実現した結果に過ぎない。それが工数の不足によるワークアラウンド(場当たり)的なコードなのか、単純にエンジニアの技術力の不足によるイマイチなコードの発生なのか、それはケースによるけど、一般的に黎明期の事業の実現において借金というものはつきもので、これには技術的負債も含まれる。そう考えるとなんかポジティブな感じしてくるよな。背伸びしてより大きい価値に挑戦した証拠だもん。まあ私は設計にうるさいけどな!
 
 

 また話が逸れたので、話を戻すと、バランスデザインやコンセプトも妥協したのなら、全然だめやん!って思われるかもしれないけれど、ガチでこだわったのが一個だけある。UI/UXだ。
 どんなところにこだわったの?と聞かれると、そもそも説明が必要なUI/UXというものがすでに敗北なので、触ってみてくれとか言いようがないのだが、特にパズルパートは隅から隅まで合理性を追求して設計したつもりだ。
 ソフトウェアの設計とは違って、UI/UXの設計は直に品質に出て、かつ合理的に決定できるから楽しかったな。アートの文脈とは違って、UI/UXはロジックの世界だ。考え方はどちらかというとお絵描きよりプログラミングに近いように感じる。
 もちろん、単なる見てくれの話をしているわけではなくて、機能的な合理性の話だ。UIのアート的な側面も奥が深いが、UIデザインはかなり専門性が高いので、やはり単純なアート部分の完成度は追及が難しかったが(相方が)、手触りはかなり良くできていると思っている。
 このゲームのジャンルはおそらく「ウボンゴパズル」が最も近いが、「ウボンゴパズルゲーム界」ではUI最強だと自負している。(まずウボンゴゲームパズルがこの世に何個あるんだ)

 ただ、こうしてUIを作ってみると、UIというものは本当に奥が深い。世の中の商用プロダクトのUIは、ゲームのアートから浮かないためのアートのテクニック(トンマナの決定など)や、人間心理学や色彩工学的な原則に従う「ロジックと合理性」があり、そして「ゲームの歴史的なコンテキスト」も存在する。
 合理性と単なる歴史的なコンテキストが介在しているのがよりUIという分野を複雑化させているようにも思う。結局UIというものは「操作理解のラーニングコスト」を最小化するのがミッションであり、そのミッションを最も短絡的に解決するのが、他のゲームのUI設計を踏襲することだ。これはその画面設計自体が論理的に正しいかどうかよりも強いインセンティブをゲームに与えるため、そこの折り合いが難しかったりする。
 合理性というのも、簡単なものではない。例えば「画面遷移の回数」を最小化しようと思うとホーム画面にすべての画面への導線を敷くのが最も合理的になるが、それが正しいUIだと言う人はほとんどいないだろう。
 正しいUIは、まるで手足のように無意識的に操作できるインターフェースとなっていることだとは思う。でも、UIが良い部分って、一歩引いて俯瞰的に見れる人じゃないと気づきづらいんだよね。何気なく無意識で操作できるというのは、認識の外に良さがあるということだから。一方で悪いUIとされるものはどんな人でもめっちゃ気になってしまう。減点方式みたいな感じだ。つらいな~
 そして私はUIデザイナーではないので、見えてないところにもっとたくさんのつらさがあるんだろうな。つらいな~
 ま、エンジニアにも無限につらいことはあるので、それで手打ちってことで。(何が?)



 ま、そんなわけで、個人ゲーム開発の経緯はそんな感じだ。ちなみにキャラの一人である「Mora」は、「高慢で、それでいて定命の命の儚さを尊く思っている、人間を超越した高位存在の美少女の世話係」になりたいという私の超絶歪んだ欲望を相方がキャラクターデザインに落とし込んでくれている。ありがとな。


 一応、新作も作ってはいるので、よりおもろいゲーム作りたいな~と思っているが、「約束された炎上のスケジュール(エクス・カリバー)」の兆候が仕事で見られるので、まず来年まで生存しているかどうかの方が心配だ。みんな、普段何気なく遊んでるゲームには大抵誰かの汗と血と涙が滲んでるから、大事に遊んでくれよな。