Pogl
技術·

73分かかっていた最初のゲーム作りを作り直しました

初めて来た人が一文を書いて最初のゲームを受け取るまで、一時間以上かかっていました。時間がどの段階で使われていたかを分けて調べ、ひとりで遊ぶゲームから、より速い方式に切り替えました。

要点まとめ
  • 最初のゲームができるまでに中央値で73分かかっており、そのかなりの部分は、すでにプレイできるゲームを仕上げることに使われていました。
  • ひとりで遊ぶゲームは、ジャンル別のスターターとプラットフォームのキットをもとに作るように変え、今は13分前後でできあがります。
  • 仕上げをさらに短くしてみたところ、作った人の修正依頼が増えたため、一日で元に戻しました。

Poglでは、一文を書くとゲームが作られます。そのため、初めて来た人が最初にすることは、ゲームができあがるのを待つことです。10月中旬、最初のゲームができるまで実際にどれくらいかかるのかを、あらためて測ることにしました。

最初に測った数字は間違っていました

最初に計算した中央値は55分でした。予想より短かったので、記録を一つずつ確認しました。作成を始めた時刻が、あとで修正を始めるときにもう一度記録されていたのです。最初の作成683件のうち、およそ三件に一件で、終わった時刻が始めた時刻より前になっていました。

依頼が届いたときからプレイできるようになったときまでに基準を改めて、数え直しました。10月17日から20日までの中央値は72.9分でした。最も時間がかかった10%は二時間を超えていました。

AIは毎回、空のフォルダから始めていました

10月20日の夕方に届いた最初の作成30件を、段階ごとに分けて調べました。AIがゲームを作るセッションは中央値70分で、そのうち40分ほどはモデルが考えてコードを書く時間でした。残りの時間はほとんどが、ブラウザで実際にプレイしてみる時間と、途中で何度か実行するデプロイ検査に使われていました。

さらに注目したのはその先です。プレイできるバージョンは45分ごろにはすでにできていました。その後の26分は仕上げに使われ、セッション内で実行された検査も3分の2が最初の通過の後でした。

開始条件にも問題がありました。AIは毎回空のフォルダから始め、ひとりで遊ぶゲームでも、複数人が接続するためのサーバーのルールを自分で書いていました。プラットフォームにすでにある機能を、ゲームごとに新しく作っていたのです。

開発セッション70.2分 · 最初の作成30件の中央値モデルの思考・記述40.5分ブラウザ12.6分検査5回12.8分その他4.3分一回の流れ · 中央値最初の通過まで44.6分通過後の仕上げ26.4分
従来の方式による最初の作成30件(10月20日夕方)。画像・音の生成は同時に進むため、別には描いていない。中央値どうしなので、合計はぴったりとは合わない。

ひとりで遊ぶゲームから、作り方を変えました

作り方を二つに分けました。ひとりで遊ぶゲームは、ランナー、アリーナ、プラットフォーマー、クイズのように、基本の構造がすでに動くジャンル別のスターターをもとに作ります。画面の揺れや効果音、スコア表示はプラットフォームのキットに入っており、サーバーのルールもプラットフォームが基本ファイルとして入れます。ゲームはスコアを送るだけでランキングに記録されます。その代わり、AIがツールを使い、修正する回数には上限を設けました。

複数人で遊ぶゲームは、ひとまず従来の方式のままにしました。同じ方式で試した4件が、一つも完成しなかったためです。

一文の説明企画書までひとり用のゲームか速い道 · ひとりで遊ぶゲームスターター + キットジャンル別の骨組みで短く作るツール・修正に上限画像・音・仕上げ検査通過 → プレイ従来の道 · 複数人で遊ぶゲーム空のフォルダからサーバー規則もAIが試す · 検査通過まで繰り返し通過後の仕上げそのあとプレイ
11月2日時点の二つの方式。ひとりで遊ぶゲームはスターターとキットをもとに短く作り、複数人で遊ぶゲームは当初、従来の方式のままにした。

社内テスト10件はすべて成功し、11月2日未明に全ユーザーへ適用したあと、本番でも中央値は4.4分でした。良い数字でした。しかし、このバージョンには画像と音の生成、最初の通過後の仕上げ、リファレンスと比べる批評、カバーの作成が入っていませんでした。

同じ日の夕方、これらの段階を戻したバージョンを適用し、今使っているのもこのバージョンです。同じ依頼で二回測ると13分前後で、画面に表示する予想時間も約15分に直しました。従来の方式で作ったゲームとプレイ画面を、どちらのものかを示さずに比べてもらったときも、このバージョンのほうが良いと評価されることが多くありました。まだ二回測っただけの数字なので、本番の平均は引き続き確認しています。

仕上げを短くして、一日で元に戻しました

仕上げをもう少し短くしてみることにしました。11月3日の夕方、ひとりで遊ぶゲームの作成を無作為に半分ずつに分け、一方だけ仕上げを短くしました。

5時間のあいだに分けたゲームの結果は、予想と違いました。仕上げを短くした側では、作ってから24時間以内に修正を依頼した割合が28%から41%に上がりました。公開した割合は両方とも同じでした。

仕上げそのまま28%仕上げ短め41%0%50%100%
作成後24時間以内に修正が依頼されたゲームの割合。11月3日夕方の5時間、無作為に分けた156件と164件。

作る時間を短くした分だけ、作った人がより多く修正を依頼したのです。翌日、このテストを中止しました。

複数人で遊ぶゲームは、3Dの依頼で問題がありました

複数人で遊ぶゲームも、新しい方式に切り替えているところです。ルームと接続の処理はプラットフォームのファイルが担当し、AIにはルールと絵だけを任せたところ、社内テスト14件がすべて成功しました。ところが11月3日に本番へ適用すると、依頼の62%が3Dで、3Dのスターターがなかったため、ほとんどが従来の方式で作られました。翌日3Dのスターターを追加し、本番の数字はまだ測っているところです。

作る時間とあわせて、その後の修正依頼も見ます

速度を測る前に、時刻がどう記録されているかをまず確認する必要がありました。修正が開始時刻を上書きしていたため、最初の数字は実際より20分近く短くなっていました。

時間がかかった理由は、モデルの速さよりも開始条件にありました。すでに動くゲームを長く仕上げ、プラットフォームにある機能を毎回新しく作っていました。そこで私たちは、AIが作業を始める条件を変えました。

作る時間だけを見れば仕上げを短くした側が良かったのですが、作った人がその後に取った行動まであわせて見ると、結果はより悪くなっていました。そのため速度の実験では、その後の修正依頼の割合もあわせて測っています。

ほかの記事