OpenCode (DeepSeek V4 Pro via OpenRouter) in a Vercel Sandbox. Starter only (AGENTS.md, serve.py, player/, helpers/dom/view_kit). No hardcoded demo code. Cursor did not edit workspace/.
2026-10-15 · task yaQB9k6JUsNb · opencode · openrouter/deepseek/deepseek-v4-pro-0813
Build a battleship game I can play by clicking. A ten by ten sea. Five ships hide on it: a long one, a slightly shorter one, two medium ones, and a short one. I click a cell to fire. A miss and a hit should look different. When every cell of a ship has been hit, that ship sinks and I can see the hull. I have a limited number of shots, a few dozen, and firing at a cell I already tried still uses a shot. Sinking the fleet is the win. Hunting well should score better than spraying the ocean at random: hits matter, following up next to a hit matters, and spreading the search matters, but a win matters most. Show the grid, the fleet list, the shots left, and the score. When the game ends, show me the ships I missed. Several boards. The same board should hide the ships in the same places.
Running the prompt-created workspace on this machine — not a mock. Save an episode, then open Replay below to scrub the timeline.
opening · 0 ms
Exact files the agent wrote — not rewritten by hand.
# AI : shared Action contract — the page posts {"move": "..."}; keep this shape.
from pydantic import BaseModel
class Action(BaseModel):
move: str