尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
ハロウィン目的で渋谷に来ないで!仮装した人だけを成敗する縦型ミニゲーム
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗「ハロウィン目的で渋谷に来ないで!」
渋谷駅からスクランブル交差点を渡って道玄坂へ向かってくる人の中から、仮装した人だけ をハリセンで成敗する、縦型のブラウザミニゲームです。本物のお化けと普通の人は見逃します。
人は奥(約34m先)から小さく現れ、近づくほど大きく見えます(3Dカメラの透視投影。Three.js は使わず Canvas 2D で描画)。見分けやすさのため、人物は実際の遠近より1.5倍大きく描いています(personScale)。重なりを減らすため、規制線のところでは4本のレーンに分かれて歩きます。プレイヤーは道玄坂の入口に立ち、渋谷駅の方を向いています。背景は渋谷駅(ハチ公口)、高架を走る山手線、駅の上の高層タワー、ハチ公広場(かぼちゃの帽子のハチ公像)、交差点に面したビルのビジョン、スクランブルの斜め横断歩道です。
タイトルは「GOODBYE BAD HALLOWEEN」、slug は goodbye-bad-halloween です。公開URLは https://game.chozo.net/goodbye-bad-halloween/ です。
タイトル画面では、仮装した人=タップで成敗、本物のおばけ・普通の人=見逃す、を見本の絵とバッジで示しています。
| 成敗した人数 | 称号 |
|---|---|
| 0〜19人 | 初心者 |
| 20〜39人 | ビギナー |
| 40〜59人 | 中級 |
| 60〜79人 | ベテラン |
| 80〜99人 | 上級 |
| 100〜119人 | 師範 |
| 120〜149人 | 伝説級 |
| 150〜199人 | 神話級 |
| 200人〜 | AI級 |
src/game.js の HIT_R)ミスすると、その場でリプレイが流れます(ハリセンが当たるところまで 0.4 秒進めてから開始)。
REPLAY.restartDelay)ミスが続けて起きたときは順番に再生し、3回目のミスはリプレイのあとにゲームオーバーになります。
ゲームオーバー後の結果画面では、ミスが「本物のジャック・オ・ランタンを叩いた」のような一覧で並びます。タップするとそのミスのリプレイをもう一度見られます(タップか自動で結果画面に戻る)。目印の文言は src/replay.js、再生の秒数やズームは src/game.js の REPLAY で変えられます。
成敗した人数が levelEvery(6人)増えるごとにレベルが上がり、次が変わります(全20段階)。レベルが上がったことは、左上の「Lv」表示と効果音で知らせます(画面の中央には文字を出しません。人が多い場面で邪魔になるため)。
調整値と称号はすべて src/config.js にあります。
音源ファイルは使わず、src/audio.js で合成しています。ポップで明るい8小節のループで、王道進行(F–G–Em–Am–F–G–C)の上にドラム・ベース・裏拍のコード・メロディを重ねています。2周目は終わり方を変えています。
src/audio.js の BGM で変えられるnpm install
npm run dev # http://localhost:5173/
npm run check # 構文チェック
npm run e2e # ヘッドレス Chrome で動作確認(スクリーンショットは shots/)
npm run build # 公開用ファイルを dist/goodbye-bad-halloween/ に書き出す
npm run deploy # build して Cloudflare Workers に公開する
npm run ogp # OGP 画像 public/ogp.png(1200×630)を作り直す(dev サーバー起動中に実行。画像には公開URLが入る)
npm run promo # 告知動画を ../video/ に書き出す(下の「告知動画」)
npm run catalog # 仮装・普通の人・本物のお化けの一覧画像を docs/patterns/ に書き出す(dev サーバー起動中に実行)
npm run e2e は判定・ゲームオーバー・リトライ・画面サイズを確認し、次のボットの成績も表示します。
none:何もしないall:全部叩くperfect:仮装だけ叩くhuman:反応0.9秒、幽霊っぽいものを8%で見間違える| ファイル | 役割 |
|---|---|
index.html | 画面(タイトル・HUD・結果) |
src/config.js | 難易度・称号・セリフなどの調整値 |
src/game.js | 進行・判定・入力・確認用の入口 window.__game |
src/draw.js | キャラクターの描画(画像なし、Canvas で描く) |
src/replay.js | ミスのリプレイで見せる答えと目印 |
src/scene.js | 3Dカメラの投影と渋谷駅前の背景(動かない部分はキャッシュ。電車とビジョンは毎フレーム描く) |
src/audio.js | Web Audio API で合成した効果音と BGM |
public/favicon.svg | ファビコン |
public/ogp.png | SNS 共有用の OGP 画像(1200×630) |
tools/serve.mjs | 開発用サーバー |
tools/build-dist.mjs | 公開用ファイルを dist/goodbye-bad-halloween/ にコピーする |
wrangler.jsonc | Cloudflare Workers の設定 |
tools/e2e.mjs | 自動の動作確認 |
tools/ogp/ | OGP 画像を作る(固定の乱数でゲーム画面を撮り、ogp.html で文字と見本を重ねる) |
tools/promo/ | 告知動画の撮影・書き出し(台本は scenario.js) |
tools/catalog/, tools/catalog.mjs | キャラクター一覧の画像(docs/patterns/)を作る |
public/ogp.png は、実際のゲーム画面(成敗の瞬間)にタイトル・キャッチコピー・遊び方(仮装は成敗、本物のおばけと普通の人は見逃す)を重ねたものです。左下に公開URL(game.chozo.net/goodbye-bad-halloween/)を入れています。index.html には og:image などのメタタグを絶対URLで入れています。
npm run promo で、縦型 1080×1920・約30秒の告知動画を作ります。実際のゲームをヘッドレス Chrome で1コマずつ撮り、字幕を重ねて MP4 にします。BGM はゲームの合成 BGM(src/audio.js)を、効果音といっしょに同じ時計で書き出しています(音量は -14 LUFS に調整)。
../video/goodbye-bad-halloween-promo.mp4、表紙 -promo-cover.jpg、2秒おきの一覧 -promo-sheet.jpg(動画はリポジトリに含めない。途中ファイルは ../video/work/)tools/promo/scenario.js): 仮装を次々に成敗(スロー)→ タイトル → Lv1・Lv7・Lv15 でそれぞれ1〜2人を成敗(等速)→ 本物のおばけ(ドラキュラ)を成敗してしまいミス、リプレイで答え合わせ → エンドカード。1回のプレイを始め直さずに撮るので、BGM は最後まで途切れないPROMO_EVERY=15 npm run promo: 15コマおきに撮って構成だけ確認する(-promo-preview.jpg)PROMO_ENCODE_ONLY=1 npm run promo: 撮り直さずに音と MP4 だけ作り直すwindow.__game の manual / step / drainEvents / audio(capture / drain / resync / render)。撮影中は音を鳴らさず呼び出しを記録し、書き出し時に OfflineAudioContext で同じ音を鳴らす背景の「JR 渋谷駅」「JR 山手線」「ハチ公口」は、場所を示すために、ロゴを真似ずに普通の文字で書いています。駅の上の高層タワーは名前を出していません。
goodbye-bad-halloween、ルートは game.chozo.net/goodbye-bad-halloween と game.chozo.net/goodbye-bad-halloween/*(wrangler.jsonc)。workers.dev は使わないnpm run build は index.html・src/・public/ の中身を dist/goodbye-bad-halloween/ にコピーするだけnpm run e2e https://game.chozo.net/goodbye-bad-halloween/ で通し確認するgood-bye-bad-halloween で公開していた(2026-10-26 に変更)。旧URL game.chozo.net/good-bye-bad-halloween/... は、同じ名前の別の Worker(このリポジトリには含めない)が新URLへ 301 で転送する。旧リポジトリ名の URL は GitHub が転送する渋谷区が条例で禁止しているのはハロウィン時期の路上飲酒で、仮装そのものは禁止されていません。このゲームの自警団は非公認です。
MIT License(Copyright (c) 2026 chozo)です。改変・再配布・商用利用ができます。利用するときは、著作権表示とライセンス文を残してください。
「GOODBYE BAD HALLOWEEN」「chozo」の名前やロゴを、作者が関わっているように見える形で使わないでください。
画像・音はすべてコードで描画・合成しており、外部の素材は使っていません。