A playable experiment

The Rogue
Clone Test.

One prompt. Multiple models. How far can each one go?

Rogue asks a lot of one small file: a procedural dungeon, what you can and cannot see, turn-based combat, inventory, and a game loop worth playing. Every model received the same prompt. These are the results, ready to try.

The prompt “Create a clone of the classic procedurally generated dungeon crawler Rogue in a single HTML file.”
15Models
1Prompt
26Dungeon levels
46Years of legacy

The gallery

Every descent is different.

Open a version to play it. Each card records how the model got there, and what stood out in the result.

Opus 5.5

anthropic / claude-opus-5-5 (max)
New★ FavouriteOne-shot

This is the most faithful clone of the original Rogue that I have seen yet. And it preserves my favourite quality-of-life feature from the original: shift-direction to run (although it notes that the original was ctrl-direction, which I'd forgotten). It is so faithful that it even notes that it left out "maze rooms" which "were rare in the original" - so rare, that I didn't even know they existed until Opus 5.5 told me! Descend through all 26 levels and return with the Amulet of Yendor.

And it's mobile friendly. Colour me impressed.

  • One-shot generation
  • No modifications
≈ $10.88 / run · completed in 54m 17s · testing ran 150,000 random keypresses across 8 full games

GPT-6 Astra

openai / gpt-6-astra (ultra)
NewOne-shot

A modern take with beautiful presentation and decent - if not too challenging - gameplay. Only ten levels (seems to be OpenAI's preference), super-polished and thoroughly tested: "Verified 1,000 generated floors, complete victory runs, and browser controls." I particularly liked the "chronicle" feature.

The most graphically appealing "modern" take so far.

  • One-shot generation
  • No modifications
≈ $7.50 / run

Grok 4.5

xai / grok-4.5
NewOne-shot

Fast. Really fast — 1 minute 46 seconds from prompt to finished file, for fifteen cents. One-shot via an xAI key in OpenCode, no edits. I generally like this one better than Sol's take, randomness of these tests notwithstanding.

It has a bug that's turned out to be common across these clones: pressing d to select inventory item "d" collides with the drop command, which wins — so item "d" can never actually be selected. Left it in so it's still a "one shot"; it's awkward, not unplayable.

  • One-shot generation
  • No modifications
  • Harness: OpenCode
≈ $0.15 / run · completed in 1m 46s — just over half the time Gemini 3.5 Flash took, which was previously the fastest.

GPT-5.6 Sol

openai / gpt-5.6-sol (extra high)
NewOne-shot

A weird one. Nice retro styling, and Sol proudly reports it was "validated across 250 generated dungeons and 1,200 simulated turns" — but the dungeon only goes ten floors deep, well short of the classic 26, and there's no way to actually wear the armor you pick up. Confident self-assessment, shaky follow-through. One-shot, no edits.

Rather oddly flawed for OpenAI's brand-new "top" model!

  • One-shot generation
  • Reasoning: Extra High
  • Harness: Codex

Claude Fable 5

anthropic / claude-fable-5
One-shot

One-shot generation in Claude Code — but it verified its own work before handing it back, fuzz-testing full playthroughs and checking dungeon connectivity in a live preview. This one is remarkably faithful to the source: the full A–Z monster roster, unidentified potions and scrolls, hunger, traps, and the Amulet of Yendor on level 26.

Of all the clones, this one feels most like the original (in both good and bad ways) so far.

  • One-shot generation
  • Self-verified (test harness + preview)
  • Harness: Claude Code
≈ $7.70 / run · 13.1K in · 0.6K out · 4.6M cached tokens - cost is almost entirely the cache (the multi-turn context being re-read each turn), with only ~$0.16 of fresh tokens.

Gemini 3.1

google / gemini-3.1
★ FavouriteMulti-turn

Developed through an iterative back-and-forth dialogue. Multiple rounds of refinement shaped the final result, with the developer helping the model course-correct, expand features, and fix issues across the conversation.

This is the original prompt-test and still one of my favourtes to play (maybe mostly because I helped shape it, but I do appreciate Gemini's take on the design)!

  • Initial generation
  • Iterative dialogue
  • Multi-stage refinement
  • No harness, just chat

Claude Opus 4.8

anthropic / claude-opus-4-8
★ FavouriteOne-shot

My favourite faithful Rogue clone — a careful, by-the-book take on the original that nails the feel without the rough edges. One-shot in Claude Code, no edits.

It edges out Fable's version for me, and at a fraction of the cost.

  • One-shot generation
  • No modifications
  • Harness: Claude Code
≈ $2.23 / run · 20.8K in · 0.4K out · 1.8M cached tokens — a leaner run than Fable's: fewer turns and less cached context.

Gemini 3.5 Flash

google / gemini-3.5-flash
One-shot

The odd one out — a modern retro take that swaps ASCII for flashy graphics. Most notable for speed: the whole thing landed in just over three minutes. Not without glitches, though — unidentified scrolls reveal their type the moment you pick them up, among other bugs. One-shot, no edits.

  • One-shot generation
  • Built in ~3 minutes
  • Harness: Antigravity

Gemma 4 27B

google / gemma-4-27b
+ Bugfix pass

Generated in one shot, then given a second dedicated pass focused solely on fixing bugs. Relatively simple, but not bad given that it's generated by a purely local AI.

  • One-shot generation
  • Dedicated bugfix pass
  • No harness, just chat

GPT-5.5

openai / gpt-5.5
One-shot

Pure one-shot output — no follow-up, no corrections. The prompt went in and the game came out. A clean measure of what GPT-5.5 can produce with zero iteration.

A bit simple, for my tastes, but fully functional and playable "out of the box".

  • One-shot generation
  • No modifications
  • No harness, sandbox chat

Claude Opus 4.6

anthropic / claude-opus-4-6
One-shot

Another clean one-shot attempt — same prompt, no iteration. Claude Opus 4.6 brings its own sensibilities to dungeon design, game feel, and code structure in a single unguided generation.

💭 From the model“I've decided to skip overthinking this and just build it directly as a single HTML file — it's a well-known game with established mechanics, so I can implement it straightforwardly.”
  • One-shot generation
  • No modifications
  • Harness: Copilot CLI

Hy 3 Preview

tencent / hy3-preview
One-shot

Not perfect - inventory management is particularly weird - but a pretty decent one-shot result.

  • One-shot generation
  • No modifications
  • Harness: Copilot in VS Code

Cursor Composer 2.5

cursor / composer-2-5
One-shot

A simple and perfectly serviceable one-shot — pasted the prompt into Cursor, no iteration. Composer 2.5 keeps it simple and mostly keeps up with the frontier models. Inventory management is simple but serviceable. The win-condition of standing on the 26th floor stairs is a little weird.

  • One-shot generation
  • No modifications
  • Harness: Cursor IDE

DeepSeek v4 Pro

deepseek / deepseek-v4-pro
+ Bugfix pass

Generated in one shot, then given a second dedicated bugfix pass focused on inventory UX issues (Esc fullscreen conflict, key binding overlap, item list overflow). Polished result with strong dungeon generation, FOV, combat, and a full item/inventory system. Total cost: $0.06 USD.

  • One-shot generation
  • Dedicated bugfix pass
  • Harness: OpenCode

About the original game

Rogue (1980) was created by Michael Toy and Glenn Wichman at UC Santa Cruz, later refined with Ken Arnold. Distributed with BSD Unix, it reached a huge audience of university students and spawned one of gaming's most enduring genres.

The game rendered its dungeon in ASCII characters — @ for the player, letters for monsters, # for walls, . for floors — and pioneered procedural generation, permadeath, and fog-of-war. Every playthrough produces a unique dungeon across 26 levels, culminating in a quest to retrieve the Amulet of Yendor.

Its influence is immeasurable: Nethack, Angband, Dungeon Crawl Stone Soup, Diablo, and countless modern roguelikes trace their DNA directly back to it.