イベント
[GDC 2015]エンジンとツールがないなら自作しよう。「World of Tanks Blitz」ローンチまでの道のりを開発者が振り返る
World of Tanks Blitzのプリプロダクションが始まった段階で,スタッフの数は約25人と,Wargamingにしてはかなり小規模なチームだったとBorodovsky氏は当時を振り返っていた。どういうゲームにすべきかについては,例えばシューターなのか,あるいはコアなタンクゲームなのか,操作方法はどうするのかといった具合に,さまざまな議論が交わされたもののまとまらず,良い処方箋もない。
で,どうなったかというと,結局は,「自分達が面白いと思うなら,プレイヤーも面白いと思ってくれるはずだ」というシンプルな判断基準が採用されたのだそうだ。最初からあまりいろいろ考えても仕方ない,ということだろうか。
さて,World of Tanks BlitzではWargaming独自のゲームエンジンが使われている。しかも,Wargamingらしいことに,それらはツール類を含めてオープンソースになっており,誰でも使用可能だ。ゲームエンジンとツール類はマルチプラットフォームに対応しており,iOSやAndroidだけでなく,Windows 8.1とMac OS Xでも利用できるとのことである。
World of Tanks Blitzの開発段階では,Unityなど既存のゲームエンジンを検討したものの,なかなか希望に沿うものがなく,最終的にフルスクラッチすることになったのだそうだ。「さすがに重い決断だった」とBorodovsky氏は振り返ったが,ゲームとゲームエンジンを同時開発するのは,素人が考えてもなかなか大変な話だと思う。
World of Tanks Blitzにおけるゲームエンジン開発では,ECS(Entity Component System)を採用した。ECSを,データドリブンなDOP(Data Oriented Programming)で実装したという。
Borodovsky氏は,一般的なオブジェクト指向のアプローチだと,多数のノードが相互に関係することとなるため,デバッグがしづらく,スケーラビリティにも乏しいとした。その点,DOPベースのECSであれば,Entity(エンティティ,いわゆる概念)が,位置情報やレンダリング情報,コリジョン判定用情報などの属性を含んだComponent(コンポーネント)を保持しておけるので,Entityを入れ替えるだけで,機能の拡張やアップデートを行える(そうだ)。氏は,性能向上すら可能だとしていた。
エンジンとゲームの並行開発には,克服すべき難しい問題がいろいろあったようだ |
ツールの開発も同時に行われたとのこと |
ええと,このあたりは専門的な話だったので,間違っていたらごめんなさい。ECSの採用は,欧米のゲーム開発コミュニティだとよく使われる手法らしいので,興味のある人は調べてみるといいだろう。
プログラムの品質管理においては,プログラマーが1対1でコードのレビューを行うことで維持するという方法が採られた。また,ツール類も並行して制作するなど,いろいろな作業が同時進行していたらしく,当然ながらマネジメントが問題になったが,そのあたりは「フレキシブルに対応して,しのいでいった」(Borodovsky氏)。
ここまでを振り返り,Borodovsky氏は「オーバーホールを恐れるな」と述べる。アイデアが浮かんだら,とにかく進めてみて,うまくいかなかったらまたやり直す。そうした果てしないサイクルを経て,World of Tanks Blitzはついにリリースされたわけだが,オンライン専用タイトルだけに現在もアップデートが続けれらており,もしかしたら,本当の意味で完成することは今後もないのかもしれない。
アイデアを形にするというサイクルが,果てしなく続いていく |
なお,Borodovsky氏は最後に,会場のゲーム開発者達に向かって「自分はゲーム好きが高じてゲームを作ることになり,ここでこうして話をすることになった。皆さんもきっと私と同じはずだから,失敗を恐れずに,さまざまな技術や手法を駆使してゲームを作ってほしいと」述べて,講演を締めくくっていた。
GDC公式Webサイト
4GamerのGDC 2015関連記事一覧
- 関連タイトル:
World of Tanks Blitz
- 関連タイトル:
World of Tanks Blitz
- この記事のURL:
キーワード
(C) 2012-2015 Wargaming.net
(C) 2012-2015 Wargaming.net