Doom Decisions

Watch real Doom. You choose the duration. AI chooses one action at a time.

GitHub

Setup

1 Inference

Client in memory • Refresh clears it

Privacy & API Keys

Your API key
Signing in with OpenRouter issues an API key for Doom Decisions. The app keeps it in page memory, not localStorage. Refreshing clears the app's local access but does not revoke the issued key.

What gets sent
When using OpenRouter, your browser sends Doom screenshots, instructions, and game context directly to OpenRouter. OpenRouter may forward the request to the selected model provider.

Inspect the code
The deployed site includes source maps, so you can inspect its TypeScript. In Chrome, open DevTools → Sources to explore the code or Network to inspect API requests. Don't share network captures containing API credentials.

2 AI Model

3 Game Data

Use included Freedoom Choose local IWAD

Decision controls

Use included Freedoom or choose a local IWAD to prepare the game.

Both modes · 35 tics = 1 Doom second

Next Decision

Continuous Mode

Start Continuous Mode Stop
Limits & stopping

Use positive JavaScript safe integers for tics and the attempt budget. Tics set each decision's duration in both modes; changes during a run apply to later decisions. The API-attempt budget is fixed when you choose Start.

Budget includes failed and canceled API attempts.

Stop closes admission and waits for API cleanup or current-action and resulting-frame verification. It does not cancel an in-flight operation instantly.


Configure AI Decision

Game view

Latest Outcome

No AI decisions yet.

Loading engine identity…

Reported input tokens
—
Avg API latency
—

AI Decision History

Newest first · Tokens reported by provider

No AI decisions yet. Preparation's neutral tic is not an AI decision.

    More decisions below

    Configure AI Decision

    Choose what the AI sees and how it plays.

    Game state

    The current screenshot and verified tic are always included.

    Selected details update with each decision and are sent as state.

    State preview

    Preview available after a verified game observation.

    
                

    Text in state for your draft selections. The screenshot is included separately. Future decisions obtain their own verified observation.

    Tell the AI how to play. This text is sent as next_action.instructions, with {{tics}} replaced by the selected tic count. Nothing else is added. The game still controls valid actions and actual duration.

    Changes apply to future decisions. Continuous Mode keeps running while this dialog is open.

    Reset to Default Cancel Save
    Advanced evidence: preparation, decisions and frame hashes

    Checking bundled Decisions SDK…

    No frame rendered.

    Not prepared.