四つのレシピのための台所

Kastle Studioにはトレッドミルがあります。生き物がその場で歩き、床がワールドの速度で足元を滑っていく。私たちはその足元を見ます。足が滑っていれば、歩幅が間違っているのです。
第3章で、新しいモデルを歩かせ、戦わせ、死なせることが作業の半分だと書いたのを覚えていますか。それを四つのゲームで掛け算してみてください。トレッドミルがあるのは、ある時点で、それだけを扱う場所が必要になったからです。
台所は一つ、レシピは四つ
前の章は、新しいゲームが毎回同じものを書き直しているところで終わりました。10月9日、Line Towerが生まれた日に、Castle Survivorsの中にあった、ルールではないものすべてが独自のパッケージに移されました。Kastle、つまり会社のエンジンです。
Kastleをいちばん簡単に理解するには、台所を思い浮かべるといいでしょう。コンロ、鍋、食料庫は全員のものです。3D世界、空と天候、生き物、サウンド、メニュー、Steam、セーブ、オンライン。レシピはゲームごとのものです。ルール、数値、言葉。ゲームは、エンジンの隣にあるフォルダーとして、独自のシミュレーションと独自のコンテンツを持ちます。
この比喩には、わざと限界を設けています。本物の台所では、料理人は隣の店のレシピをのぞき見しますが、ここではエンジンが、どのゲームのレシピも知ってはいけません。もし知ってしまえば、自動チェックが失敗します。これによって、各ゲームのルールはゲームの中に留まり、エンジンや他の三つのゲームからは離れています。
食料庫
第1章で話したアーティストたちの仕事は、ここ、食料庫に行き着きました。各ゲームが使っていたパックは一つのライブラリにまとめられ、各ゲームは自分が読み込むものだけを届けます。
| 食料庫の中身 | 数 |
|---|---|
| 生き物のモデル | 164(705のスキン付き) |
| 背景のモデル | 1,115 |
| エフェクト | 235 |
| サウンド | 74 |

書かずに駒を動かさない
第6章で、オンラインを通信チェスにたとえました。二つの盤は、誰かが手紙を書かずに駒を動かさない限りしか同じままでいられません。四つのゲームが同じエンジンの上に乗ったとき、それが台所全体のルールになりました。
Kastleには、そのための検査役があります。決定論のリントです。シミュレーションのコードを読み、二台のコンピューターを食い違わせるものすべてに印を付けます。種のない乱数、本物の時計を参照すること、マシンによって順序が変わるリストなどです。さらにソークテストもあります。わざと悪いネットワーク(遅延、パケット損失、順序の入れ替え)のもとで、試合全体を回すのです。そこで、本物のバグが既に見つかっています。ホストの後に開始したゲストのカウントダウンが、最初のターンを失っていたのです。
誰が何を使うか
全部のゲームが台所を丸ごと使うわけではありません。そしてそれは遅れではなく、決定でした。
| ゲーム | Kastleから使うもの |
|---|---|
| Line Tower | すべて |
| Custom Hero Survival | すべて |
| Castle Survivors | 見た目だけ。シミュレーション、ネットワーク、メニュー、セーブはゲーム独自のまま |
| Castle Arena | エンジンは使わず、Kastle Studioとやり取りする |
調理台
ゲームが一つなら、数値はコードの中にあって問題ありません。ゲームが四つで、それぞれに何百もの部隊、能力、武器があると、一つの値を変えることは獲物狩りになります。どのファイルか、誰が使っているか、ゲームで何が変わるか。そして同じ間違いが、どのゲームにも潜んでいます。
Kastle Studioは、その台所の調理台です。そこでは、どの生き物もすべてのアニメーションとともに見られ、隣には身長の定規があります。どのエフェクトも専用の舞台に置かれ、その処理コストが画面に表示されます。そして、すべてのゲームのデータが並んで見えます。3Dのユニット、陣営、どの戦士がほかのどの戦士を倒すのにどれくらいかかるか。
数値は変えられます。Studioで編集した数値は、正しい場所でゲームのコードに戻ります。ただし戻る前に、一つ大事なタブを通ります。影響です。変更前と変更後の数値がStudioのシミュレーターで実行され、その変更が影響した対戦カードが、どれだけ動いたかで並べて表示されます。第4章が、そのままツールになったのです。数字より先に、証拠を。
ゲームにとっては、誰かが「ゲームに保存」を押すまで、何も変わりません。
コマンドラインでは、同じシミュレーターがバランスゲートになります。固定のシードで、すべての対戦カードを約25秒で回し、どれか一つでも10ポイント以上動けば、変更を拒否します。
まだレシピの側にあるもの
エンジンは、まだあらゆる場所で使われているわけではありません。ゲームは、エンジンのものではなく、独自の命令や能力を使っています。Kastleのものを採用することで、それぞれのゲームに残る重複したコードを引退させることができます。それが、台所の次の一歩です。
四つのゲーム、一つのエンジン、一つの調理台。あとは、それらすべてが今どこにあるのかを数えるだけです。
— チーム





