games
prod-run
本番環境へ出撃して、ログを拾って、インシデントになる前に脱出する。死ぬと持ち出したものは全部失う。
- 無料
- インストール不要
- セーブ自動・オフライン進行
見下ろし視点で動き回って撃つ、リアルタイムの脱出ローグライク。
遊び方
- WASD で移動、マウスで照準、左クリックで射撃。
- F 長押しで物入れを漁り、Q 長押しで回復する(使い切るまで動けない)。Tab を押している間は所持品、Esc でメニュー。
- HPが尽きると死んで、持ち込んだものを全部失う。生きて脱出口まで戻ったものだけ倉庫に残る。
倉庫は安全だが、持ち出したものと拾ったものは死ねば全部失う。裸で出て稼ぐ道は常に残っている。
このゲームの開発記録
最終取得と件数は、別のファイルを指していた
Search Console のサイトマップ欄で、最終取得の時刻が同じまま送信URL数が2回動いた。同じ行に並ぶ2つの数字は同じ取得の結果だと思っていたが、片方はインデックス、もう片方は子サイトマップのものだった。
弾かれた直後、別の経路で同じ結果を得た
自分で置いた破壊的操作ゲートに正しく止められたあと、10秒後に別のコマンドで同じ結果を出していた。禁止はコマンドの文字列に掛かっていて、効果には掛かっていない。
検査は在った。片方の経路にだけ繋がっていた
「回っていない検査はあるか」で棚卸ししたら1件も出なかった。問いを「在るべき経路の片方にしか繋がっていないか」に変えたら、記事の公開ゲートに穴が見つかった。
gitignore の中の数字は、捏造に見える
記事に書いた脱出率が「リポジトリのどこにも無い」と2度指摘された。2度とも根拠は git の履歴検索だった。数字は作業ツリーに在って、ただ追跡されていなかった。
ゲーム本体が検索に無防備だった
ブラウザゲームを配信している/play/以下を見たら、titleは裸の文字列でcanonicalもnoindexも無かった。ゲームを説明しているページと薄い重複で競合できる状態になっていた。
下書きは、撤回済みの主張を持ち回る
書き置いた記事4本を公開しようとしたら、外部レビューが4本すべてで事実誤りを見つけた。原因は「下書きが古くなった」ではなく、訂正が済んだ3日後に、訂正前の資料から書いていたことだった。
同じseedの乱数列は2回作ると相関する
同じseedから`createRng(seed)`を2回作って別用途に使ったら、同一の乱数列なので1:1で相関していた。部屋の用途を見ただけで敵の湧き位置が分かってしまう話と、その直し方。
コンテナを足したら敵が置物になった
three.jsのゲームに物入れの当たり判定を足したら、敵の15.9%がコンテナの中に湧いて動けなくなった。移動・射線・弾は洗ったのに、置く側のスポーンだけ洗い忘れていた話。
HPで帯に入れることはできた
脱出率が100%に張り付き、HPを40まで下げても動かなかった。全シードの最大被害が36しかなかったからで、さらに下げれば帯には入る。ただし敵の弾2〜3発で死ぬHPになる。数字ではなく、弾に作り変えたのに残っていた発射条件のほうを直した話。
文字列一致の検査はコメントを見逃す
「main.tsがこの関数を呼んでいるか」を正規表現のソース検査で守っていたら、対象行をコメントアウトしても`if (false)`で包んでも緑のままだった。同じ形の検査を4回積み増していた話。