9割が負けるゲームだから、負け画面をいちばん作り込んだ話
『フルスタック!』のバランスは、何も考えずに遊ぶと勝率7%前後になるよう設計しています。つまり、初めて遊ぶ人の9割以上は負けてランを終えます。この前提を受け入れたとき、作るべきものがはっきりしました。ほとんどのプレイヤーにとって、このゲームの「結末」は負け画面です。だったら、そこにいちばん手をかけるべきです。
負けを「障害報告書」にする
エンジニアの世界には、障害が起きたあとに「何時に何が起き、根本原因は何だったか」をまとめるポストモーテム(障害報告書)という文化があります。燃え尽きてランが終わったとき、この形式でランを振り返れたら面白いはずだと考えました。
実装としては、ラン中の主要な出来事(レビュー指摘5件に包囲された、徹夜を連打した、AIに嘘をつかれた、負債が10枚を突破した…)を逐一ログに記録しておき、負けた瞬間にタイムラインへ変換します。ステージ進行を勤務時間にマッピングしてあるので、序盤で倒れれば「11:26 メンタル残り6。限界が近い」、最後のボスまで粘れば「25:10」のような深夜表記になります。死因も刻まれます。敵にやられただけでなく、「『気合』によりメンタルが枯渇」のような自滅も、ちゃんと自滅として記録されます。
仕上げに、統計から「根本原因」を1行で診断し(徹夜が多ければ「体力を工数として計上する見積もり手法」)、再発防止策をチェックボックス付きで2件添えます。チェックボックスは未チェックのまま表示されます。再発防止策とは、そういうものだからです。
キャリア診断、全員同じ問題
ランの最後にはキャリア称号の診断もあります(「徹夜の常習犯」「ググり力こそ実力」など17種)。これが最初の実装では大失敗でした。シミュレータで分布を測ったら、プレイヤーの99.6%が同じ称号になっていたのです。原因は2つ。全員が同じ初期デッキを持つので集計が初期カードに支配されていたこと、そして判定閾値を勘で書いていたことです。
初期デッキ分を集計から除外し、2万ランの実測分布に合わせて閾値を引き直して、最頻でも14%程度に抑え、大半の称号が実際に出るようにしました。診断系の機能は「当たっている感」より先に「散らばっている」ことを保証しないと、全員に同じ占いを配ることになります。
タイムラインの実装で気をつけたこと
ログは何でも記録すればいいわけではありません。全部載せると報告書が長すぎて読まれないので、各イベントに重要度を付けておき、表示は8行まで。溢れたら重要度の高いものを優先しつつ、最初の「出社」だけは必ず残します。物語は始まりがないと成立しないからです。時刻はステージ進行から擬似的に計算しますが、イベントが密集すると時刻が前後してしまうので、「直前の行より必ず後の時刻になる」単調性の保証を入れています。細かい話ですが、タイムラインの時刻が逆流していたら報告書の体裁が台無しです。
死因の記録にもひと工夫あります。最後にメンタルを削った相手を常に覚えておく方式にしたので、敵の攻撃だけでなく、自分で使った「気合」や「徹夜の反動」、果ては「残業」で燃え尽きた場合も、その名前が死因として刻まれます。自滅の死因は敵にやられるよりも味わい深く、シェアされる率も高い実感があります。
対になる勝ち画面と、上司の一言
勝ったときはリリースノート形式です。習得したスキルが「追加された強み」、抱えた負債や徹夜の回数が「既知の不具合(あとで直します)」として列挙されます。そして勝敗どちらでも、最後に上司の人事評価コメントが付きます。負けなら「評価: D 『気合は認めるが、それは戦略ではない』」、勝ちでも負債まみれなら「評価: B 『出たのは偉い。ただし請求書は残っています』」。この一言は統計に反応して変わるので、同じ文面が続きにくくなっています。プレイヤーがXでシェアする文面にも、称号と一緒に障害報告書の根本原因を一行入れました。負けの画面から出ていく言葉が、そのままゲームの宣伝文になる設計です。
負けた人が最初に見るものを磨くと、何が変わるか
この方針にしてから、負けテストが苦になりました……というのは冗談で、負けるたびに報告書の文面が変わるので、開発中の負けが娯楽になりました。勝ち画面は従来どおりリリースノート形式(追加された強み/既知の不具合)で、負けのポストモーテムと対になる構成です。
ゲームデザインの教科書は「勝利の快感」を語りがちですが、勝率を絞ったローグライトでは、プレイヤー体験の大半は敗北です。負けた直後に「もう一回」と思わせるのは、悔しさだけでは足りない。負け自体に、人に話したくなる固有の物語がつくこと。それがこのジャンルにおける負け画面の仕事だと思っています。