夏休みの商店街
← 制作室へ戻る

制作記 · 無限宝箱あけ

箱を増やすだけでは、世代交代に見えなかった――「無限宝箱あけ」制作記

意匠を受け継ぐ2Dの宝箱生成から、3Dの開封と子箱への連続ズーム、全意匠が変化する世代交代へ進んだ制作記です。

無限宝箱あけを遊ぶ

発明工房に置かれた「無限宝箱あけ」は、宝箱を開けると、その中から次の宝箱が現れる作品です。

次の箱は、前の箱の意匠を受け継ぎながら変異します。開けるたびに世代番号が増え、過去の箱は図鑑へ残る。気に入った箱は画像として保存できます。

現在は立体の箱が開き、鍵が落ち、内側が光り、その中から小さな次世代の箱が浮かびます。しかし最初から、開封そのものを見せる3D作品だったわけではありません。

最初にあったのは「意匠の遺伝」だった

最初の実装で中心に置かれていたのは、宝箱の見た目を世代ごとに変える仕組みでした。

箱にはシルエット、蓋、胴体、開き方、素材、帯、鋲、錠前、取っ手、脚、棘、模様、密度、対称性、経年、発光など、多数の属性があります。次の箱を作る際には親の値を引き継ぎ、そのうち数項目だけを変更する。一定確率で「大変異」が起き、通常より多くの属性が変わる。色の組み合わせや縦横比も、独立した変異の対象でした。

図鑑、世代番号、変異種別、シード値、PNG保存も初期段階から用意されています。

この時点の作品は、開封アニメーションを楽しむゲームであると同時に、「親から少しずつ違う箱が生まれる」生成展示でした。

2Dの生成展示から、箱を開ける体験へ

公開後の大きな変更は、宝箱の表示と開封演出を3Dへ置き換えたことでした。

Three.jsによる立体造形が追加され、素材は光の反射を持ち、蓋はヒンジを軸に開くようになりました。錠前は外れて落下し、箱の内側から光が漏れます。さらに、粒子とともに小さな子箱が浮上し、その箱が次の画面の主役になります。

ここで変わったのは、見栄えだけではありません。

2D版では、世代交代はボタン操作と表示の更新によって伝わっていました。3D版では、親箱を開け、その内部から子箱が現れ、子箱へ視線が移る一連の動きそのものが世代交代を説明します。

「次の箱が生成された」という情報が、「この箱の中から次の箱が生まれた」という出来事になりました。

カメラを近づけると、親まで巨大になった

3D化の直後には、親箱から子箱へ移る見せ方が続けて調整されています。

最初の連続ズームでは、カメラを前進させるだけでなく、親箱自体も拡大していました。次の修正ではカメラと親箱の拡大をやめ、子箱だけを小さな状態から通常サイズへ拡大し、画面中央へ移動させています。

履歴に残る変更点から確認できるのは、「次に見るべき箱」だけを大きくする構図へ整理したことです。

さらに、親箱が消え始めるタイミングも変更されました。当初は子箱へのズーム段階で親箱を薄くしていましたが、その後は子箱が現れ始めた時点から、より長い時間をかけて親箱をフェードアウトさせています。

子箱が浮かんでいるのに親箱が強く残り続ける状態を避け、世代交代の途中から主役を渡す構成になりました。

「変異する」だけでは、違って見えない

3D演出の後に行われたもう一つの重要な変更が、変異ロジックの見直しです。

初期ロジックでは、多数ある意匠項目のうち、通常変異なら数項目、大変異ならより多くの項目をランダムに選んで変更していました。色や縦横比は、変化しない世代もありました。

現在のロジックでは、次世代を作るたびに全ての意匠項目が以前とは異なる値になります。二択の属性は反転し、選択肢が複数ある属性は元と同じ値を避けます。パレットも必ず別のものへ進み、縦横比にも必ず差がつきます。

これは「内部ではいくつか変わっている」状態から、「次世代を見れば違いが分かる」状態への変更です。

生成の仕組みとして変異が成立していることと、遊ぶ人に世代差が伝わることは同じではありません。この作品では後者を優先し、継承を残しながらも、毎世代の変化を明確にしました。

親から子へ、視線を渡す

「無限宝箱あけ」の制作履歴では、宝箱の種類を増やすことだけでなく、親から子へどう視線を渡すかが繰り返し調整されています。

箱を立体にする。蓋と鍵を動かす。内側を光らせる。子箱だけを拡大する。親箱を早い段階から薄くする。そして、次の箱の全意匠を必ず変える。

これらは別々の装飾ではありません。開封の結果として次世代が現れ、その箱が新しい主役になったことを、動きと見た目の両方で伝えるための変更でした。

現在の作品では、箱を開けるたびに過去の箱が図鑑へ残り、画面には新しい一箱が残ります。

無限に続く仕組みを支えているのは、箱の数ではなく、一回ごとの世代交代が見えることです。

無限宝箱あけを遊ぶ