oneshotlm
Compare all models on this prompt →

Wolfenstein raycaster · qwen3-235b-a22b-2507

Output saved · Stopped by an API error Cost / run $0.0053 Runtime 342.0s

A model request failed and its retries ran out. The output is the HTML saved before that.

Prompt for this run

Build a playable first-person raycasting maze shooter on a canvas in a Wolfenstein-inspired style. Use HTML, CSS, and JavaScript as needed. Write it to `index.html` in the current working directory using your file tools. Inline your own CSS and JavaScript. Do not use external assets, CDNs, or network requests. No third-party libraries are provided. Required behavior: - Render a textured grid maze through a raycaster, with perspective wall heights and visible enemies. Generate textures procedurally; do not load external assets. - Use W/S to move forward/backward, A/D to strafe, Left/Right arrows to turn, and Space to shoot. Display the controls. Mouse turning is optional and must not be required. - Use solid wall collision and a small level with a reachable exit and at least three enemies. Enemies must be occluded by walls; shots cannot damage an enemy through a wall. - Give the player health. Enemies can damage the player under a clear attack rule. Show health and remaining enemy count; zero health causes Game Over. - Defeating all enemies unlocks the exit; reaching it shows a win state. Provide Restart to restore the level, player, enemies, and health. Verify: Test movement and turning near the starting area, check collision against a nearby wall, and fire to inspect weapon feedback. Sample the scene for stable wall rendering, then use Restart and check the initial viewpoint and health.

⛨ sandboxed Open in new tab ↗

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelqwen3-235b-a22b-2507
vendorQwen
harnesspi 0.87.1 · browser iteration
generated2026-10-09

METRICS

runtime342.0s
tokens in64k
tokens out3.0k
cached19k
cost / run$0.0053
Transcript · 31 messages
system

user

Build a playable first-person raycasting maze shooter on a canvas in a Wolfenstein-inspired style. Use HTML, CSS, and JavaScript as needed. Write it to `index.html` in the current working directory using your file tools. Inline your own CSS and JavaScript. Do not use external assets, CDNs, or network requests. No third-party libraries are provided. Required behavior: - Render a textured grid maze through a raycaster, with perspective wall heights and visible enemies. Generate textures procedurally; do not load external assets. - Use W/S to move forward/backward, A/D to strafe, Left/Right arrows to turn, and Space to shoot. Display the controls. Mouse turning is optional and must not be required. - Use solid wall collision and a small level with a reachable exit and at least three enemies. Enemies must be occluded by walls; shots cannot damage an enemy through a wall. - Give the player health. Enemies can damage the player under a clear attack rule. Show health and remaining enemy count; zero health causes Game Over. - Defeating all enemies unlocks the exit; reaching it shows a win state. Provide Restart to restore the level, player, enemies, and health. Verify: Test movement and turning near the starting area, check collision against a nearby wall, and fire to inspect weapon feedback. Sample the scene for stable wall rendering, then use Restart and check the initial viewpoint and health.

assistant
→ write index.html (10412 bytes)
toolResult

Successfully wrote to index.html

assistant
→ browser {"action":"reload"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"inspect"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"key","text":"w"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"key","text":"arrowleft"}
toolResult

keyboard.press: Unknown key: "arrowleft"

assistant
→ edit {"path":"index.html","edits":[{"oldText":" if (player.keys['arrowleft']) player.angle -= turnSpeed;","newText":" if (player.keys['
toolResult

Successfully replaced 1 block(s) in index.html.

assistant
→ edit {"path":"index.html","edits":[{"oldText":" if (player.keys['arrowright']) player.angle += turnSpeed;","newText":" if (player.keys[
toolResult

Successfully replaced 1 block(s) in index.html.

assistant
→ browser {"action":"key","text":"ArrowLeft"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"key","text":"ArrowRight"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"key","text":"w"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
assistant
assistant
→ browser {"action":"key","text":"a"}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
→ browser {"action":"key","text":" "}
toolResult

{"console":["warning: An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing."],"dom":"Health: 100\nEnemies: 3\nPlaying\nControls: W/S = Forward/Backward, A/D = Strafe, Arrow Keys = Turn, Space = Shoot\nDefeat all enemies to unlock the exit.\nRestart","images":"model does not support images"}

assistant
assistant
assistant