DEVELOPMENT
4096通りのHEROを作った理由
診断結果をラベルで終わらせず、一人のゲームキャラクターとして持ち帰れる体験にする。そのために4096 Recipeを決定論的に設計しました。
3つのTYPEを一人のHEROへまとめる
TYPE BATTLEではMBTIを思考、LOVE TYPEを愛、LIFE TYPEを生き方のモチーフとして扱います。各16種類なので組み合わせは16 × 16 × 16 = 4096通りです。
最初の課題は、MBTI HEROへ色や小物を足しただけに見せないことでした。同じINTJでもLOVEとLIFEが違えば、顔、髪、体格、衣装、武器、雰囲気まで異なる独立HEROとして読める設計を目標にしました。
CharacterRecipeを表示の正解にする
入力のたびにランダム生成すると、同じTYPEなのに別のHEROが出てオンラインで共有できません。そこで3TYPEとgenerationVersionからrecipeId、名前、二つ名、戦闘情報、外見情報を決定論的に復元します。
同じ入力なら同じ結果になるため、リロード後の復元、MY HEROESの保存、別端末とのオンライン同期を同じRecipeで扱えます。ゲームの能力とアート資産をrecipeIdへ結び付け、画像がなくてもfallbackで進行します。
Visual Identityは画像を作る前に固定する
4096枚を一括生成するのではなく、face、eyes、hair、body、costume、weapon、accessories、palette、signature featureをIdentityとして先に定義しました。生成処理は4096 Recipeと4096 Visual Identityを監査し、正確なfingerprint重複は0でした。
同一MBTI内の522,240組、同一MBTI+LOVEと同一MBTI+LIFEの各30,720組も比較し、高類似と判定された組は0です。この監査は『絵が自動的に高品質になる』保証ではなく、制作前の設計重複を減らす仕組みです。
代表20体から画風と制作工程を固める
4096体を最初から画像化すると、品質確認と配信容量が現実的ではありません。代表20 Recipeを選び、character.webpを中心に公式画風を決め、看板4体は派生画像まで段階的に制作しました。
20枚のcharacter.webp平均は監査時点で391.8 KiB、最大483.4 KiBでした。同じ平均で4096枚を作ると約1.53 GiBになる見積もりのため、ゲーム起動時に全画像を読み込まず、選択中と対戦参加HEROだけを遅延ロードします。
4096という数字より、再会できることを重視する
組み合わせ数は特徴ですが、遊ぶ人にとって重要なのは『自分が作ったHEROをもう一度使える』『友達に見せられる』『同じRecipeが相手にも同じように見える』ことです。
今後も4096の薄い公開ページを量産せず、ゲーム内コレクションと内容のある代表HERO紹介を分けます。画像制作は人の品質確認を通し、未完成のものはfallbackのまま扱います。