ライブで試す 説明
Halloween Manor は、ブラウザでそのまま遊べるハロウィンのミニゲームです。あなたは暗く古びた洋館の幽霊。懐中電灯を手にした訪問者たちが勝手に上がり込んできます。屋敷の中の物に憑依し、タイミングを見計らって出現して、一人また一人と悲鳴を上げさせながら玄関から追い出すのが役目です。屋敷にいられる訪問者は同時に最大 4 人で、二人連れでやってくることもあります。度胸は人それぞれで、ネームプレートを見れば誰が怖がりで誰が懐疑派かがわかります。
屋敷のオブジェクトは 2 種類に分かれます。オルゴールとキッチンのドアはおびき寄せ役で、音を立てて、聞こえた人を誰でも引き寄せます。ランプ、ロッキングチェア、肖像画、姿見、寝室のベッドと洋服だんすはおどかし役で、誰かが見ているときにしか効きません。いま誰かから見えているオブジェクトには、その上に目のマークが点灯します。基本の立ち回りは、まずおびき寄せてからおどかすこと。オルゴールなら寝室のランプ、キッチンのドアならロッキングチェアと組み合わせます。肖像画はふだんはごく普通の婦人の絵ですが、憑依すると目がこちらを向き、顔が溶けておぞましい姿に変わります。姿見からは顔が飛び出してきます。さらに、玄関ホール、廊下、書斎、居間、寝室の壁には不気味な絵画が 6 枚掛かっています。
訪問者に見えるのは、懐中電灯を向けた先だけです。懐中電灯の光が当たると姿が濃くなり、相手は立ち止まってじっと見つめますが、それだけではおどかせません。F を押すか右クリックで出現します。近くの明かりが切れかけの電球のように 2 回暗くなり、0.6 秒後に暗い人影となって形を成し、ゆっくりと顔を上げながら 1.5 秒間その姿でとどまります。出現で怖がらせられるのは 2 種類の人だけです。懐中電灯をこちらに向けている人と、すでにびくびくしていてこちらの姿が見えている人です。相手が怖がっているほど効き目は大きいので、まずオブジェクトで動揺させてから、出現でとどめを刺しましょう。出現のクールダウンは 18 秒です。
オブジェクトの上でマウスの左ボタンを約 0.5 秒長押しすると、罠を仕掛けられます。オブジェクトに霜が広がり、誰かが近づくとひとりでに発動します。罠は同時に 2 つまで仕掛けられ、60 秒以内に誰も近づかなければ解除されます。照準をオブジェクトに合わせると、床にうっすらと霜の線が浮かび上がり、そのオブジェクトで人をおどかせる(またはおびき寄せられる)範囲を示します。また、次の一手がその訪問者に効くときは、名前の前にある小さな目のマークが点灯します。行動したあとは、照準の横のラベルに「Theo jumped」や「No one saw it」のように結果が表示されます。
1 回のゲームは約 5 分間の一夜です。開始と同時に最初の訪問者が入ってきて、その後は屋敷の中が 4 人になるまで、12 秒ごとに 1 人ずつやってきます。3 分 20 秒で来客の時間は終わり、玄関ポーチの明かりが消えて、それ以降は誰も来なくなります。4 分 30 秒で夜が明け、まだ中に残っている人は自分の足で出ていきます。最後の 1 人が去ると、訪問者名簿が開きます。一人ひとりがいつ入ってきたか、何から逃げ出したか、あるいは夜明けに立ち去ったかが記され、何人をおどかして追い払えたかに応じた締めの一言が添えられます。スコアも勝ち負けもありません。Keep haunting を選べばそのまま続けられ、Another night を選べば最初からやり直せます。
操作方法:マウスとキーボードで遊ぶ場合は三人称視点で、あなたが幽霊です。クリックでマウスをロックし、WASD で漂うように移動(壁もそのまま通り抜けます)、マウスで視点操作、ホイールでカメラのズーム。4 m 以内のオブジェクトをクリックすると憑依、左ボタン長押しで罠を仕掛け、F か右クリックで出現します。Esc でマウスのロックを解除して操作説明の一覧を表示、M でミュート、画質の設定は右下にあります。壁越しに訪問者は見えないので、足音を頼りに追いかけましょう。ヘッドホンの使用がおすすめです。スマートフォンとタブレットでは、屋敷を真上から見下ろすドールハウス表示になり、オブジェクトをタップして憑依し、視点を回転させられます。このモードには出現、罠、絵画はありません。訪問者が落ち着く前にもう一度おどかせば逃げ出します。
推奨ブラウザは、新しいバージョンの Chrome や Edge など、WebGPU に対応したブラウザです。WebGPU 非対応のブラウザでは自動的に WebGL2 に切り替わります。シングルプレイ専用で、ログインもダウンロードも不要ですが、初回の読み込みではモデルの取得とシェーダーのコンパイルを行うため、少し時間がかかります。ゲームのインターフェースは英語です。
Tripo の活用方法
ゲームに登場するキャラクターは、懐中電灯を手にした訪問者たちも、プレイヤーが操る幽霊も、すべて Tripo API で作られています。屋敷、家具、小物はコードで基本的な形状を組み合わせて作られており、絵画、肖像画、鏡の顔は別に用意した 2D テクスチャです。
- 訪問者:Tripo を手がけるチーム VAST のマスコット Triboo が、4 種類のハロウィン衣装で登場します。ヴィクトリア朝の吸血鬼、ランタンを提げた夜の探検家、魔女、そして手描き風の骸骨です。まず Tripo の画像から画像生成で Triboo に T ポーズをとらせ、4 種類の衣装はすべてこの 1 枚の画像から作るため、プロポーションがそろい、リギングもきれいに決まります。2 回目の画像から画像生成で衣装を着せる際は、丸い黒のボディ、正面のロゴ、黄色いスニーカーはそのまま残し、衣装は帽子、マント、襟といったソフビトイ風のアクセサリーに仕立てています。
- 訪問者のモデル:衣装ごとの画像をまず四面図にし、Tripo のマルチビューから 3D 生成で PBR テクスチャ付きのモデルを作ります。三人称視点では訪問者を背後から見ることがほとんどですが、四面図を使うことで背中側のマントや肩掛けも正確に再現できます。テクスチャからは焼き込まれた陰影を取り除いてあり、ライティングはゲーム内のランプと懐中電灯に任せています。
- リグとアニメーション:リガビリティチェックを経て、Tripo のオートリギングで人型スケルトンを組み込み、Tripo のプリセットアニメーションを 8 種類適用します。待機、歩き、走り、見回し、怯え、逃走、そして 2 種類の驚きです。書き出し前には、Blender のスクリプトですべての訪問者に同じ仕上げを施します。球体のボディ、帽子、マントは胴体と一体で動くようにし、脚まわりのアクセサリーは脚につられて伸びないようにしたうえで、ポリゴン数に上限を設け、ルートモーションを取り除きます。訪問者 1 体あたりは約 1.1–1.7 MB で、テクスチャは WebP です。
- 幽霊:Tripo のテキストから画像生成でコンセプト画を 4 枚作り、選んだ 1 枚を Tripo の画像から 3D 生成でテクスチャのない白モデルにしました。半透明の冷たい霧、懐中電灯の光の中で濃くなる様子、出現時の暗い実体は、すべてゲーム独自のシェーダーで描いているため、テクスチャは必要ありません。その後の Blender でのクリーンアップでは、フードの中の顔を押し込んで深い空洞にし、8,000 三角形未満に抑え、オクルージョンを頂点にベイクして、フードの内側や深いひだが暗く沈むようにしています。
ブラウザで動く仕組み
ゲームエンジンは使っていません。three.js の WebGPU レンダラーの上に TypeScript と Vite で直接構築しており、WebGPU 非対応のブラウザでは自動的に WebGL2 に切り替わります。ビルド結果は相対パスで構成された静的ファイル一式なので、どの静的ホスティングのどのサブパスに置いても開けます。
懐中電灯は屋敷で最も重要な光源です。訪問者は全員が 1 本ずつ持っていて、それぞれが独自に影を落とします。幽霊のシェーダーは、自分がどの懐中電灯の光の円錐の中にいるかをピクセル単位で判定します。光の中では姿が濃くなり、輪郭が引き締まり、懐中電灯の暖かな色味をわずかに帯びますが、光の外では冷たい霧のままです。出現すると、光を遮って深度を書き込む暗い「実体」マテリアルに切り替わり、懐中電灯が当たっている側は少し明るくなります。幽霊が壁や家具を通り抜けると、そのまわりが溶けるように消え、縁には霜が降ります。
サウンドはすべて Web Audio でリアルタイムに合成しており、ゲーム内にオーディオファイルは 1 つもありません。悲鳴、ロッキングチェアのきしみ、ランプの電気的なうなり、オルゴール、鏡の顔が飛び出す瞬間の短い衝撃音、屋敷の環境音は、すべてコードで生成しています。壁越しに誰も見えないときは、足音が相手を見つける手がかりになります。
スタートボタンは、屋敷、最初の訪問者の衣装、屋敷全体のシェーダーのプリコンパイルがそろうのを待ってから押せるようになり、クリックすると約 20 ミリ秒で夜が始まります。残りの衣装はプレイ中にバックグラウンドでダウンロードされ、パイプラインのコンパイルが済んだものから順にローテーションに加わります。ライトの明滅は光過敏性に配慮して回数を抑えており、どのライトも 1 秒間に 3 回を超えて暗くなることはありません。グラフィックは高画質と低画質の 2 段階で、低画質では 75% の解像度でレンダリングします。


