# 決めたこと(石とゾンビ) **K1が決めた事は `docs/K1仕様書_20260913.md`。この紙は私(子セッション)が決めた事の記録。** 1行ずつ、決めた事と理由。後から「なぜこうなっているか」を探させないため。 ## 2026-09-13(立ち上げの日) ### 絵と素材 - **絵は1枚も使わない。全部コードで描く**(K1「フリースローはそもそもイラストないやん」)。`docs/asset_prompts.md` は作らない・Codexへの絵の発注もしない - **人は共有財産のシュールキャラを流用**(`C:\五月雨開発\シュールキャラ\shurechara.js` を `lib/shurechara.js` へ写した)。**元のファイルは1文字も直していない**——あれは共有財産で、直すなら回転寿司側にも入れる決まりだから - **ゾンビはシュールキャラを崩した形**。崩し方は4つだけ: ①死人の肌 ②体を傾ける ③片足を引きずる ④腕を前へ出す。新しい絵は作らない - **死人の肌と汚れた服は、シュールキャラの色表へ**実行時に後ろから足す**だけにした**。元の8色(町の人の服)もゾンビに使う——**町の人がそのまま変わり果てた**方が、全員が同じ死人の制服を着ているより気味が悪い - ゾンビの見た目は**1体ずつバラバラに引く**。`SHURE.fromSeed` に連番を渡すと服の色が `n/256` で決まるので、**4体並べたら4体とも黄色**になった(実測して直した) - 石・空・月・雲・校舎・地面も全部コード。画像の読み込みはゼロ ### 遊びの芯 - **倒せるのは「頭の丸へ・上から・急な角度で入った石」だけ。**判定は3つ同時: ①落ちている(vy>0) ②入った所が頭の中心より上 ③落ちる速さ >= 横の速さ×0.60(=水平から31度より急) - **判定は「投げた角度」ではなく「当たる時に落ちている角度」で見る。**だから低い山なりでも、届く頃に急降下していれば倒せる。跳ね返らせて上から落とすのも同じ理屈で通る(K1の言う「上から落とす軌道を作れるか」はそういう意味だと読んだ) - 体・足・頭の横に当たったら**ノックバックだけ**。右へ押し戻し(最大2.6m/s相当)+0.40秒よろける。連打しても積み上がらないよう上限を付けた - **石は無限・同時に3個まで・投げた後0.14秒で次**。弾数を資源にしない(狙いの遊びであって節約の遊びではない)。同時3個が上限なので横なげ連打では押さえきれない - **1体でも負ける線(投げる人から0.80m)まで来たら即負け。**体力・残機は作らない。短く何度も遊ぶ形 ### 画角と寸法 - **横に7.8m入れる引きの画角**(フリースローは4.3m)。シュールキャラの頭の半径は15px=フリースローの7割。K1の「もう少し小さく」 - 9.0m(頭の半径13px)も作って撮ったが、**頭が25px径まで落ちて的が読めなくなった**ので7.8mへ戻した - 投げる物理の数字は**フリースローそのまま**(引いた長さ→速さ 4.6〜9.2m/s・角度14〜84度・重力9.8・空気抵抗0.0022)。跳ね返りだけ石らしく0.62→0.46へ落とした - **頭のてっぺんに金色の弧を描く。**「どこを狙うか」を文字で説明しないため。最初は薄い線にしたら夜の髪に沈んで1本も見えなかったので、暗い線を敷いてから明るい線を乗せた ### やってみて捨てた物 - **地平線をぞろぞろ歩く遠い群れ**(「まだいくらでも来る」の気配)。校舎より奥へ置くと1体も見えず、手前へ置くと近くのゾンビと取り違える。どちらでも値打ちが出ないので**消した** - fps・メモリの計器板(dev_tools.js の物)。盤面に被るので `window.SETTINGS={memMeter:false}` で既定オフ。**🐛報告の箱は残す**(あれは財産) ### 音 - **音のファイルを持たない。**全部その場で合成する(フリースローと同じ作り)。倒した「ゴッ」・押した「ドス」・投げる息・石が地面を打つ音・負けた時の唸り - **iOSのマナーモードでは効果音が黙る。**合成した音は着信音の仲間で、曲(`