TFT開発秘話(前編):リリースまで18週
開発者は12人、期間は18週、舞台は『リーグ・オブ・レジェンド』。そして成果物が…TFTでした。
編集注記:こんにちは!こちらの記事はボリュームが凄まじいことになってしまったので、前編と後編に分けてお届けすることにしました。後編は明日、4/4リリース予定です。
「ねえ、『Auto Chess』もう遊んだ?」2019年のはじめごろ、Riot社内でこの質問から逃れることは不可能だったと言えます。『Auto Chess』の話をしていなければ、チーム全員から時代遅れ認定を食らうリスクを負う勢いでした。
そして当然の帰結として「遊んだ?」という質問は間もなく「どうしてウチでもこういうのを作らないのか?」に変わっていきます。当初から試す価値はあると考えていましたが、他社もこのジャンルに目をつけることは明らかだったので開発は素早く行う必要がありました。とはいえ、上手くいく確証もないままリーグ・オブ・レジェンド(LoL)の開発メンバーを引き抜くことが道理に反していたのも事実。そこで私たちはチームを少人数に抑えることにし、結果的に総勢12名という小規模チームとなりました。
その上で他社に遅れを取るリスクを避けるため、私たちは「18週でゲームを完成させる」というかなりアグレッシブなスケジュールを立てました。遊んで面白いプロトタイプを作るのに8週間、実制作に10週間という内訳です。こうして私たちは「そもそもどうやって実現する?」、「こんな無茶に参加したい者がいるのか?」という2つの疑問に直面します。
今回話を聞かせてくれた開発者(初期TFT開発メンバーの一部)は以下の通りです。
リリースまで18週:カウントダウン開始
「まずチームは、LoLを舞台としたオートバトラーの企画案にすべて目を通し、大枠を形成していきました」Meddlerはそう振り返ります。
チームが定めた目標は、デザインを改善すること(操作方法とUIの改善、ラウンドの高速化など)���合計200年以上というチーム全員の開発経験年数を活用すること(バランス調整と新機能の追加)、そして何より『Auto Chess』を遊んでない人が遊びたくなるような楽しいゲームにすることの3つでした。
「チーム編成後は、まず8週間かけてまず完成させられるのかを検証していきました」Riot Wrekzは語ります。「その上で、良いものができるかを判断していったんです。ジャンルの持つ良さはそのままに、独自性と楽しさを両立させたいと考えていましたから」
![01_Doomsday_Clock.jpg](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/66eb73511aeb618d51af860990c55d304083ddb7-4032x3024.jpg)
「プロジェクト初日に、巨大なカウントダウンタイマ���を設置したんですよ」とRiot Wittrockは笑いながら回想します。「ちょっと怖かったですけど、見るたびに完成させるぞという意識が高まったように思います」
リリースまで17週:リーグ・オブ・プロトタイプ
![02_17_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/943f0f77c0efbff065c1bb8352fec4aa2c883d75-540x140.png)
「最初の数週間はとにかく動くプロトタイプをどう作るかに注力していました。…これが難題だったんですけれどね」とRiot Wittrock。
チームはまずLoLの既存アセットを使ってプロトタイプ作成に着手しましたが、順調には進みませんでした。
![03_Darius_AFK.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/412d877f369eb31b658a248b1ebdf3a9b37c95b8-950x619.png)
LoLのゲームエンジンは「リーグ・オブ・レジェンドを作る」ことだけに特化した作り(リンク先英語)になっています。そしてマップやチャンピオン、ドラゴンなどに変更が入ることこそあれ、プレイヤー数は(基本的に)不変でした。
「LoLは10年という歳月をかけてプレイヤー10人制のゲームとして最適化を重ねてきていたのですが、私たちが目指した8人制のTFTでは通常のLoLよりもずっと多くのアセットを読み込む必要がありました。実際、この人数での試合を実現するた��にはサーバーの数を増やさざるを得なかったほどです。これはゲームのクライアント側にもかなりの負担をかける結果となりました」とRiot Nullarborは語ります。
しかも本作では、『Auto Chess』屈指の魅力…すなわちユニット(チャンピオン)を集め、戦略的に配置し、バトルを観戦する「司令官」であるような感覚を実現することを目指していました。これには各プレイヤーが複数のチャンピオンを配置できるようにする必要があったのですが、それは当然ながら既存のサーバーの設計意図から外れる処理です。
このため初期のTFTでは、ほとんどの試合が「ラグ」により終了していました。劇的な幕切れも勝利もなく、「ラグで終了」していたのです。
![04_Rakan_Bug_TFT.gif](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/21c208b7ae8303d7b5dbccba48c56ca0ad81a658-600x375.gif)
プロトタイプ終盤でも、ラグ以外に様々なバグが生じていました(多数のラカンをどう扱えばいいのか?など)。
「盤上では9体のユニット同士が戦い、ベンチにはさらに10体のチャンピオンをキープできます。つまり1試合に100体以上のチャンピオンが同時に登場するわけです。それに加えて盤面ではひっきりなしに大乱戦が繰り広げられます。これを実現するには、不要な要素を大量に取り除いた上で、コードの最適化を進める必要がありました。LoLのマップの大部分は本作には不要だったので、最初はそこを切り落とし、動く状態まで持っていきました」とRiot Nullarborは振��返ります。
リリースまで15~12週:ゲームプレイ
![05_15_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/82921be1080ee43739dbc190375d2b245fb4b873-540x140.png)
ところでライアットゲームズでは「オープンフロア」レイアウトを採用しています。これは誰もが自由に歩き回ったり、会話したり、壁に貼られたアートを見たり、Slack(社内のメッセンジャーツール)のアイコンを愛犬の写真にしている人のネームタグをスキャンして顔とアイコンを一致させたり、デスクで雑談したりすることを促すための施策です。平時ならばコラボレーションやアイ���ア共有を活性化するこの施策も、時には──たとえば方向性が定まっていないプロジェクトを超特急で進めていかなければならないような状況では──生産性を下げてしまう場合もあります。
「プロトタイプを作っていた最初の8週間は、チームを他の社員から隔離した状態にしていたんです。チームを壁際に集め、周囲を壁で囲んで他の社員が話しかけに来られないようにしていました」Riot Nullarborは振り返ります。
「しかもAndreiは興味がある社員に向けて“アイデアの持ち込みをしないように”とメールでお願いし続けていたんです。ふだんのライアットゲームズの社風とは異なる措置でしたし、少し排他的な感じもありましたが、効率を考えると重要な事だったんです」Riot Wrekzは言います。
「あれは影響力のコントロールだったんで���よね。プロジェクトのリーダー陣は、既存の同ジャンルタイトルの影響を強く受けることなく、各メンバーに自分の頭で考えて欲しいと考えていたんです」とKilmourzも補足します。
こうしてチームはオフィスの片隅に陣取り、TFTをTFTたらしめるための工夫に注力していきました。
リリースまで14週:電車、街、ユーザーインターフェース
![06_14_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/4c6f281cfb73859dff661c9c26c56b8cceb59083-540x140.png)
「ショップでユニットをどうやって買わせるか?ユニットはUIか3Dモデルか?移動にはアバター���使うか、すべてドラッグ&ドロップ操作で完結させるか?こういった基本的な操作は早い段階で決断する必要がありました」とRiot Wrekz。
最初期のTFTは「動くプロトタイプを作ること」を最優先に取り組んでいたため、UIと呼べるものは一切ありませんでした。
「最初期にはチャットに表示されるデバッグメッセージを読んで、ひたすらゲーム状況を理解するしかなかったんですよ」とRiot Nullarborは振り返ります。
「最終バージョンに組み込まない要素は、既存のアセットを分解して使っていました。なので厳密に言えば、プロトタイプ制作期間中は“UIの変更”なんてしていないんです。当時はLoLのUIを解体して、ギリギリ動いているプロトタイプの上に表示させていたような感じでした」とRiot Wrekzは語ります。
シニアQAリードのRiot Ranger XIV(Alex Sherrell)がTFTの素敵な新UIをお披露目している様子
TFTの基本UIを固める段になると、チームは「チャンピオンを画面に届ける方法」を決定する必要に迫られました。ここではとても…独創的なアイデアが飛び出しています。
「一時期は、チャンピオンが列車に乗ってやってくるのはどうか、なんて考えていたんです。画面上に小さな停車場を用意して、購入可能なチャンピオンが運ばれてくる、みたいな」Riot Nullarborは当時を回想して語ります。
確かにガレン、ダリウス、ワーウィックがお行儀よく並んで購入されるのを待つ様子は不思議な可愛さがありましたが、このアイデアはすぐに立ち消えとなりました。リロール機能が存在するため、試合をスピーディーに進めるなら列車の発着を高速化する必要があったのです。超音速の列車がビュンビュン行き交うのは楽しそうではありますが、結局は限られたリソースで高速アニメーションを行うのは難しいと判断しました。
「ボードの周囲に街を作って、レベルアップごとに街を発展させていくなんていう案もありましたね」Riot Wittrockは振り返ります。「チャンピオンはボードの左側にある小さなショップに座っていて、そこからドラッグ&ドロップすれば購入してフィールドに出せるというアイデアだったんですが」
最終的には実装上の都合から、涙を飲んで別のアプローチを採用することになりましたが…。
「LoLではゲーム開始時に必ず“誰か”になりますよね。実は初期のTFTでは、��バターはリフトスカトルだったんですよ。LoLに登場するからという理由で」Riot Wittrockは回想します。
リフトスカトル時代のTFTはなかなかにクレイジーで、ある時点では自分のリフトスカトルで他プレイヤーのリフトスカトルを持ち上げて連れ回したり、戦闘中にベンチにいるチャンピオンを持ち上げて「タム・ケンチの姿をしたゴミ箱」に投げ入れたりすることができました(「キミのアサシン構成、それじゃダメだね!」という意志表示ですね)。
![10_Baron_for_Scale_Shareable.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/121dc0019fc1ffd925ae7907cf4f9f010ad0ed88-1915x1170.png)
当時はリフトスカトルが巨大化していき、最終的にバロンが小さく見えるほど育ってしまうバグもありました。
このカニカニ合戦はちょっとやり過ぎでしたが、チームはこういった事を試していく過程で「プレイヤー同士の交流が生み出す楽しさ」を発見。その教訓が(最終的には)リトルレジェンド誕生へとつながっていきました。
リリースまで13週:登場させるチャンピオン
![11_13_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/d436ea3b795d96bdf11213dc0d6ff484da525f05-540x140.png)
「TFTに登場するチャンピオンは、チームにとって“LoL側のチャンピオンへのラブレター”みたいな���のでした」Riot Wrekzは語ります。「TFTではスキルを全部使うことはできませんが、それでも各チャンピオンの核となるテーマがしっかりと輝きを放てるようにしたかったんです」
![12_TFT_Combat.gif](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/4043d5afdce1ab1baf775b368b9c3d696fe2cf52-600x338.gif)
「全員がアルティメットスキルを使うような単純な形にはしたくなかったんです」Kilmourzも付け加えます。「たとえばブラウム。アルティメットスキルも悪くないかも知れませんが、彼の名前を聞いて最初に思い浮かぶのはやはり盾ですからね」
ルシアン(ダッシュと2回攻撃)のように複数スキルを組み合わせたチャンピオンも出てきましたが、基本的には各���ャンピオンをシンプル化する作業は順調に進みました。しかし、チャンピオンが持つ特性を決める段階は予想以上に難航しました。
「長年にわたり、LoLのチャンピオンはそれぞれに独創性を持たせるべく作られてきました」Riot Wittrockは解説します。「それはLoLにとっては素晴らしいことなんですが、TFTで彼らを“グループ分け”する場合には、これが問題になったんです」
カテゴリーを考える上で最初に浮かんだのは、チャンピオンの所属する陣営や地域でした。
「ところが地域別にカテゴリー分けしていったところ、どこに所属させればいいかハッキリしないチャンピオンが出てきたんです。ガレンはデマーシア、ダリウスはノクサス。これは簡単です。でもジャンナは?彼女がゾウン出身なのかどうか正確には分からないですよね。���ういう境界例的なチャンピオンが多数いたので、説得力のあるカテゴリー分けが難しかったんです」Riot Wrekzは続けます。
全体の統一感を改善していくため、チャンピオン、クラス、オリジンは毎日のように変化していきました。
「そこで大きな前進のきっかけになったのが、“LoLに存在する他のユニバースを活用する“というアイデアでした。最終的にはそれほど大々的に他のユニバースを活用することにはなりませんでしたが、それでも説得力があり、テーマ的にも破綻のないカテゴリー分けを進める上で別のユニバースの存在は大きな助けになりましたね」Riot Wittrockはそう振り返ります。
リリースまで12週:戦闘、戦闘!
![17_12_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/41c9077ffdddb96a0bd1ca10927abb1634d68c01-540x140.png)
「チーム全員、オートバトラーのユニット購入/戦闘準備フェーズがとても気に入っていたんです」Riot Wittrockは語ります。「ただ、いざ戦闘になると俯瞰視点でスキルのエフェクトがそこら中で飛び交うことになってしまい、戦況把握が難しくなってしまいます。私たちはこの点を改善したいと考えていました」
そこでチームは、視認性で妥協することなくエキサイティングな戦闘を実現することを目標に据えます。
「低スキル帯プレイヤーの集団戦を見ているような感覚を目指したんです」Riot Wittrockは続けます。「いろんなチャンピオンがある程度の狙いを持ってスキルを撃つけれど、高スキル帯とはやっぱり違う。“ちょっとだけ間違った”LoLの集団戦を目指しました」
「また、同ジャンルでありがちだった、ビジュアルエフェクトやパーティクルが画面を埋め尽くす状態は避けようと思っていました。もちろん当初は18体のチャンピオンがスキルを撃ち合う状態で盤面の情勢を把握するのは難しかったので、この部��の断捨離にかなりの時間を費やしました」Riot MapleNectarは言います。
またチームは視認性を高めていく過程で、ビジュアルエフェクトを削減する以外に独自の手法を発見しました。
![19_Initial_Speeds_TFT.gif](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/c30377f86dcfb9decf7690fae85dff0d22b40a3a-600x422.gif)
初期のアニメーション。少し速すぎました。
![20_Proposed_Speeds_TFT.gif](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/fddc12c2363c245bade6b744827add44b1983659-600x422.gif)
アニメーションを少し低速にしたバージョン。
「LoLのアニメーションはほとんどが超高速です。スキル発動において重要なのは即応性と満足感ですからね。ただそれだと9対9の戦闘では状況が把握できなくなってしまいます。なので、全体的にアニメーション速度を下げる必要があったんです」Kilmourzは語ります。
ローンチまで11週:ゴーサイン点灯
![21_11_Weeks_PDF.png](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/a8367724b798c8dc2605c80632c71d4dda2110be-540x140.png)
8週間にわた��テスト/最適化/ラグとの戦いの末、チームはついにプロトタイプを完成させます。ビジュアル的にはお世辞にも美しいとはいえない状態でしたが、楽しさはこの時点で折り紙付きでした。
「プロジェクト開始前に約束していたんです。面白いプロトタイプを作ると」Riot Wrekzは当時を振り返って語ります。「そして出来上がったプロトタイプを遊んだ誰もが、確かに面白いと同意してくれました」
これでフェーズ1、「面白いものを作る」は完了。こうしてチームは「プロトタイプを基にして10週間でゲームを完成まで持っていく」という次の難題に取り組むこととなりました。
編集注記:後編は明日、4/4リリース予定です。お楽しみに!