kidoOooOoooOOom

ゲーム開発やってます

WitcherのGwent制作チームもUnityのアップデートに苦しんでいるという話

Witcher3から派生して作られたカードゲーム「Gwent」のiOS版がリリースされたので早速インストールしてプレイした。

PS4版はある程度プレイ済み)

app.famitsu.com

なかなか渋い。ハースストーンと比べて、テンポが遅いのが気になる。

Witcherファン的には、カード1枚1枚の効果からあふれるフレーバーがWitcherの世界観を感じさせてくれて楽しい。

GwentのUnity制作裏話

YoutubeのUnityチャンネルを散策していたら、たまたまGwentの製作者によるUnite Copenhagenの発表を見かけた。

www.youtube.com

f:id:gidooom:20191104101114p:plain

Gwentは7つのプラットフォームに対応しているが、その中に「China」「iOS China」と中国向け特別対応が2つ入っているのが気になった。

また、GwentをベースにしたWitcher外伝の「Thronebreaker」 は全Assetのインポートに36時間かかると言っていた・・・。

Unity Upgradeはとにかく恐怖

f:id:gidooom:20191104101459p:plain

f:id:gidooom:20191104101519p:plain

自分も複数バージョンをまたぐUnityゲームを開発・運用の経験があるので、このスライドの辛さはよく分かる。

Asset Store等で入手した外部ライブラリが多くなればなるほどUpgradeでの苦労も増えるので、長期開発を見越した場合は外部ライブラリの利用もよく考えないといけない。

これに関しては「プログラマが知るべき97のこと」にも書かれていて記事にも書いた。

kidooom.hatenadiary.jp

Build にとにかく時間かかる

f:id:gidooom:20191104102911p:plain

ビルドに時間がかかるのはゲーム開発で悩ましい点の1つ。

先日のEOF2019のt_wadaさんの講演(質とスピード)でもあったが、スピードを上げて質も上げたいところをこのビルド時間の長さに邪魔される。

iOS向けにビルドするにはMacOSを使う必要があるので、どれだけ高スペックのMacProを用意できるかの勝負にもなりがち。

ちょっと古いけれど、Cygamesの資料でビルドマシンのスペックはケチらないことを言っていて、自分もこの資料は良い説明資料にさせてもらっている。

f:id:gidooom:20191104103506p:plain

アセットバンドルの管理について - Speaker Deck

共通ツールはUPM(Unity Package Manager)

f:id:gidooom:20191104104533p:plain

複数プロジェクトで共通に使うツールやライブラリは、UPM(Unity Package Manager)を用いて管理している。

今自分がいるプロジェクトでは自作ツール等をUPMで管理しておらず、git submodule を使っているが、 git submodule 管理も結構面倒でトラブル起きるのでUPMとメリデメを比較してみたい。

Authoring

f:id:gidooom:20191104104956p:plain

莫大な量のアセットと、それに関わる多くの人々による編集、マルチプラットフォームや地域によるアセット差分、これらをうまいこと品質担保するのはめちゃくちゃ大変。

f:id:gidooom:20191104105012p:plain

上のような自動チェックツールが無いと破綻する規模なので、当然作られている。

大規模ゲーム制作にはこういった自動ツールを用意できる技術力の積み上げ・基礎力が大切だなぁと改めて思った。

ゲームの中身をいい感じに設計・実装するスキルも必要だけど、規模が大きくなればなるほど周辺の開発環境を構築するスキルの重要性が相対的に上がってくる。

最後に採用募集のスライドがあったけれど、Automation Engineer, Pipeline Engineer, Tools Engineer などツール開発に焦点を当てたエンジニア募集をしているのが印象的だった。

f:id:gidooom:20191104105931p:plain

自分の観測範囲だと、割と広く「Unityエンジニア募集」といった要項が多いのかなぁと思ったので。