---
title: "BLAMELESS"
url: "https://aigamehub.app/ja/games/blameless-f7966d"
source: "https://github.com/Petyok/blameless"
source_type: "github"
play_url: "https://blameless.petruha.ge"
platform: "desktop"
login_required: false
pricing: "free"
origin: "original"
ai_tools: ["Claude"]
game_languages: ["en"]
author: "Petyok"
author_handle: "Petyok"
category: "アクション"
categories: ["action"]
tags: ["browser-game", "devops", "fps", "procedural", "three-js"]
added: "2026-11-11T06:09:48.820Z"
updated: "2026-11-11T06:09:50.412Z"
locale: "ja"
content_locale: "ja"
---

# BLAMELESS

オンコール射撃ゲーム：03:07 にポケベルが鳴り、本番環境に入って、10 件のインシデントにわたってそれをクラッシュさせるバグを撃つ。レート制限付きの武器、ロールバック巻き戻し、ホットフィックス強化がある。

## Description

three.js で作られたブラウザ向け一人称シューティングゲーム。あなたは 03:07 に本番環境がダウンした状態のオンコールエンジニアを演じる：WASD とマウスで移動し、左ボタンで射撃し、4 つの武器（kill -15、kill -9、grep -r、rm -rf）を切り替える。武器に弾薬はないがレート制限があり、オーバーヒートすると 429 を返すため、ホルスターにしまった武器を切り替えて冷ますのが核心的なスキルだ。体力はエラーバジェットで、コーヒーと解決済みインシデントで回復する。SHIFT は短時間の無敵を伴うダッシュ、Q または右クリックは 3 秒間の巻き戻し、F はチャージされた sudo ブーストを与える。10 件のインシデントのそれぞれの後、3 つの未テストのホットフィックスのうち 1 つをデプロイし、死亡するとホットフィックスを保持したまま現在のインシデントを再開する。敵にはゾンビプロセス、fork 爆弾、cron ジョブ、SYN フラッド、競合状態、メモリリーク、ハイゼンバグ、oom_reaper、シールド付きのレガシーモノリスが含まれる。重大度レベルが難易度を設定し、キャンペーンを完了するとエンドレス夜勤が解除される。タイトル画面（L）からリーダーボードとワールド統計が表示される。デスクトップではキーボードとマウス；スマートフォンではオートパイロットを眺めてリーダーボードを読むことしかできない。

## Original post

An on-call shooter: 03:07, the pager goes off, prod is down, and you kill what is crashing it. three.js. All done by Claude Fable 5.2 from one prompt.

Topics: browser-game, claude, devops, first-person-shooter, fps, game, javascript, leaderboard, on-call, procedural-generation, python, sqlite, sre, threejs, webaudio, webgl

# BLAMELESS An on-call shooter. 03:07, the pager goes off, prod is down and nobody else is awake. You `kubectl exec` into production in person and terminate what is crashing it: ten incidents, four hosts, one root cause. It ends with a postmortem written from what you actually did. **Play: https://blameless.petruha.ge** (keyboard and mouse; a phone can watch the autopilot and read the leaderboard). ![four screenshots](screenshots.jpg) All done by Claude Fable 5.2, from this prompt: > Hello fable 5.2! You are 1 day old. I am curious what can you do, so let's do a simple test: > using gpu-serv for builds/test -> build a three.js shooter game. You have only 1 try. This laptop > should handle your game at least 30 fps, 60 fps ideally. What to include to your game decide only > you (story, style, weapons, feel, music, etc.). There is no time limit. You can use other models > only if you RUN THEM LOCALLY on gpu-serv - for instance minimax h3, or etc. Suprise me! Everything after that was the model's call: the story, the look, the weapons, the soundtrack, the tests. The stats server, the deployment and this repository came from a second message ("deploy this, give it a domain, make stats and a leaderboard, make a public repo"). ## How it plays | key | | |-|-| | `WASD`, mouse | move, aim | | `LMB` (hold) | fire | | `1`-`4`, wheel | weapons: `kill -15`, `kill -9`, `grep -r`, `rm -rf` | | `SPACE` | jump | | `SHIFT` | dash (brief invulnerability) | | `Q` / `RMB` | rollback: rewind yourself 3 s, error budget included | | `F` | sudo, when charged: no rate limits, +50% damage | | `ESC` / `P` | pause; `` ` `` toggles the fps line | - There is no ammo. Every weapon has a rate limit: fire too long and it answers `429` until it cools. Holstered weapons cool faster, so switching is the skill. - Health is your error budget. Coffee restores it; each resolved incident gives some back. - After every incident you deploy one of three hotfixes, untested, straight to production. - Dying restarts the current incident with your hotfixes kept. - Severity is the difficulty: SEV3 chill, SEV2 normal, SEV1 hurt me. Finish the campaign to unlock the endless night shift. The enemies are bugs you know: zombie processes, fork bombs (split when killed), cron jobs (fire when the hand reaches twelve), a SYN flood, race conditions (kill both threads within two seconds), memory leaks (grow until OOM), heisenbugs (move when observed), the oom_reaper, and `legacy-billing-monolith.jar`, shielded by its dependencies. ## Leaderboard and world stats `L` on the title screen. One board per severity plus one for the night shift, each player listed once with their best run. Type a handle there, on the death screen or on the postmortem to be listed; without one the run is counted but not shown. The same screen has the world totals: how many engineers were paged, how many resolved it, what share of campaigns got past each incident, what kills people most. Scores are reported by the browser. The serve
