Claude Fable 5.1 · 2026-09-06 · 原创游戏

免费 · 无需登录 · 离线可玩
点一下水面Three.js · 实时波纹 · 花会开

一条 prompt,一次生成,一个游戏。

涟漪花园

点一下池塘,趁花开着的时候把它叫醒。

波纹碰到开着的花,花就醒了;一圈波纹叫醒好几朵,就是一个和弦。
一分钟后池塘会有回声。

开始玩

在这里直接玩

7 岁到 70 岁,30 秒上手。

右边就是游戏本体,手机竖屏是它的主布局。点花开着的位置;一次只有一圈波纹,所以「点哪里、什么时候点」就是全部技巧。键盘:方向键移动,空格点水。

游戏由 AI 一次生成,问题欢迎在视频评论区反馈。「首次交付版」是模型第一次交付、一个字没改的文件;「全屏打开」是它自己测试后修正的当前版。整个过程没有第二条 prompt,两个版本都在这一次 one-shot 之内,差异在下方「看过程」如实列出。

22 分钟

从收到 prompt 到游戏上线

0 美元

生成与美术成本(订阅内)

9 / 9

自测清单通过项

评价权留给你明天,你还会再玩一局吗?
这一段用了多少Claude Fable 5.1 · 思考深度 High · 订阅内 0 美元
墙钟时间
22分钟
输出 tokens
28.4 万
输入 tokens(新读入)
5.5 万
缓存写入
50.1 万
缓存读取
1946.9 万
模型回合
106
时间窗:2026-09-06 14:28 UTC 取到题目 → 14:50 UTC 游戏页上线(首次交付版 14:45 冻结、14:48 部署,见时间线)。这一段只算到游戏第一次上线;之后的录屏、修 bug、做视频另计在视频页。 统计方法:直接汇总本次会话日志里每个模型回合的 API 用量字段;不含 Codex 美术那一段的用量。

姐妹页 · 制作过程视频

这个游戏是怎么在一个下午做出来的

从拿到 prompt 到上线:规划、和 Codex 分工、部署、真实测试、修了什么。

看制作视频 ↗

创作起点

被测题目:一条 prompt,一个回合,不许提问。

本次创作任务 · 原始 prompt(英文原文,逐字)
You are a one-person game studio: producer, game designer, artist, sound designer, engineer, and growth lead. You have exactly ONE turn. I will not answer questions, review drafts, or give a second prompt. When you stop, whatever exists is what ships.

MISSION
Design, build, ship, and hand off an original browser casual game that a 7-year-old and a 70-year-old can both pick up in 30 seconds and that a busy adult would voluntarily play again tomorrow.

HARD CONSTRAINTS (violating any of these = failed run)
1. Single self-contained `index.html`. All CSS, JS, art, and sound inside that one file. No external URLs, CDNs, fonts, image files, or audio files. Art is drawn with Canvas/SVG/CSS; sound is synthesized with WebAudio. Must work offline from `file://`.
2. Runs at 60 fps on a 4-year-old phone and on a laptop. Portrait phone is the primary layout; desktop must also look intentional, not stretched.
3. Touch, mouse, and keyboard all work. No instructions screen longer than one sentence — the first 10 seconds of play must teach the game.
4. Zero console errors or warnings. No TODOs, placeholders, stubs, or "coming soon" text anywhere the player can see.
5. Bilingual UI: auto-detect zh / en from the browser, with a visible toggle. Copy must read like a native wrote it in both languages.
6. All-ages content. No violence, no gambling mechanics, no dark patterns, no loss-of-progress punishment.

WHAT IS OPEN (this is where you earn your grade)
- The concept is yours. Do NOT ship a clone of 2048, Flappy Bird, Snake, Tetris, Wordle, Match-3, or any other famous game. Combine known mechanics into a twist that has a name and a one-line pitch a kid could repeat to a friend.
- The game must have: a clear core loop (one input, one satisfying feedback), a difficulty curve that ramps within a 2–4 minute session, and at least one "aha" moment or surprise that appears after the first minute.
- It must have "juice": particles, easing, screen shake or squash-and-stretch, a sound for every meaningful action, and a satisfying end-of-round moment.
- Aim for the quality bar of a top-100 App Store casual game, not a coding demo. Decide the palette, typography, and tone deliberately and keep them consistent.

RETENTION & MONETIZATION HOOKS (free game today, business tomorrow)
Ship these free-tier hooks working now:
- localStorage persistence: best score, total rounds, day streak, unlocked cosmetics.
- A Daily Challenge mode: same seed for every player on the same calendar date, separate best score.
- A shareable result: one tap copies a text card (score, streak, emoji grid or similar) and, where the Web Share API exists, opens the native share sheet.
- At least 3 cosmetic themes/skins: 1 default, 2 unlocked by play milestones.
Lay the rails for a paid tier WITHOUT implementing payments:
- A single `FEATURES` config object with boolean flags (e.g. `adFree`, `premiumThemes`, `extraLives`, `stats`) and one `hasEntitlement(key)` function; premium UI is visibly gated through it and currently shows a tasteful "coming soon" only INSIDE a settings/shop panel, never in the play flow.
- An `analytics.track(event, props)` no-op stub called at: session start, round start, round end, share, theme unlock, daily challenge play, and settings open. Event names must be consistent snake_case.
- A `<!-- MONETIZATION ROADMAP -->` comment block at the top of the file: 3 phases, each with the trigger metric to advance, what gets charged for, and expected price point. Be specific, not generic.

DELIVERABLES, IN THIS ORDER
1. Design brief (max 250 words, in your reply, before any code): game name, one-line pitch, target session length, core loop, the twist, why it fits ages 7–70, and the 3 decisions you made that a lesser designer would get wrong.
2. `index.html` — the complete game.
3. Deploy it. If you have shell or deployment tools, put it live (GitHub Pages, Cloudflare Pages, Vercel, Netlify — your choice) and give me the public URL. If you truly cannot deploy, say so in one sentence and provide the file for download; do not pretend.
4. Handoff notes (max 200 words): how to run it, what you verified, known limitations you are honest about, and the first thing you would build in v1.1.

ACCEPTANCE — RUN THIS YOURSELF BEFORE YOU STOP
Do not deliver until you have actually checked, not assumed, each of these. If you have a browser or headless tool, use it; if not, trace through the code line by line.
[ ] Opens from file:// with zero console output.
[ ] First interaction works within 1 second of load on both touch and keyboard.
[ ] Round ends cleanly, shows result, restarts in one tap.
[ ] Refresh preserves best score, streak, unlocked themes, language.
[ ] Daily Challenge produces identical levels for the same date.
[ ] Share copies a readable text card.
[ ] Resizing the window or rotating the phone does not break layout.
[ ] Switching language updates every visible string.
[ ] No text overflows its container in either language at 320px width.

RULES OF ENGAGEMENT
- Make every decision yourself and log the important ones in a short "Decisions" list inside the design brief. Never ask me anything.
- Do not stop early, do not summarize what you "would" do, do not ship a partial game. If you notice a bug in your own output, fix it before you finish.
- Prefer fewer features that are finished over more features that are half-done. Cutting scope is allowed; leaving scope broken is not.

Begin with the design brief.

模型交回的设计简报

Name: Ripple Garden(涟漪花园)

One-line pitch: Tap the pond — your ripple wakes every flower it touches while it's open.

(点一下池塘,波纹碰到正开着的花,花就醒了。)

Target session: 2–4 minutes per round; 1–3 rounds a day.

Core loop: One tap anywhere on the pond spawns a ripple at that spot. Buds breathe open/closed on their own rhythm; a ripple front passing an *open* bud blooms it (note + petals + score). One ripple that blooms 2+ buds is a "chord" (multiplier). Only one ripple may be alive at once, so *where* and *when* you tap is the whole game.

The twist — Echo Bloom: after the first minute the pond "wakes": ripples bounce off the shore as fainter echoes that can bloom again for ×2. Aiming at the shore becomes a second skill layer nobody was told about.

Why 7–70: a child taps open flowers and is rewarded every time; an adult learns spacing, cadence, and echo geometry. No reading, no reflex twitch — the ripple's travel time is the timing window. Rounds end softly (three buds wilt), never by losing progress.

3 decisions a lesser designer gets wrong:

  1. Ripples spawn *at the tap*, not at the center — spatial choice beats pure rhythm and makes the first tap self-explanatory.
  2. One live ripple at a time — kills tap-spam without a cooldown bar or an instruction sentence.
  3. Every bloom is a pentatonic note; the score *sounds* like music, so juice and feedback are the same system, not two.

Decisions log: portrait-first square pond that letterboxes to landscape; palette teal/cream/pink (default), night (unlock: 10 rounds), autumn (unlock: 3-day streak); seeded daily mode drives bud spawns only; FEATURES gate lives only in the settings/shop sheet.

关于 one-shot

指没有第二条大 prompt:模型收到题目后自己做、自己测、自己修,中间只有零星提醒。首次交付版和修正后的当前版都保留在页面上,都属于这一次 one-shot。

创作过程 · 如实记录

这个游戏是怎么做出来的。

01

先定一个能被小孩复述的玩法

只有一种输入:点一下池塘。波纹从点的地方扩散,碰到正开着的花就让它开。三个刻意的决定:波纹从点击处出发而不是从中心(空间选择比纯节奏有趣);一次只允许一圈波纹活着(不用冷却条就杀掉了乱点);每朵花开都是一个五声音阶的音符,分数听起来像音乐。

02

美术分工给 Codex

把设计简报和三套主题的色板交给 Codex,要求它只手写紧凑的 SVG 路径、不用任何栅格图,因为最终必须是一个离线可用的单文件。它三分钟交回吉祥物「点点」(三种表情)、三套花、荷叶和 logotype;游戏里用 DOMParser 解析成 Path2D 画在 canvas 上。

03

付费铺轨但今天不收费

本地存档、每日挑战(同一天所有人同一个种子)、一键分享卡、三套主题两套靠里程碑解锁;一个 FEATURES 开关对象和 hasEntitlement() 把通行证功能挡在设置面板里,游戏流程里看不到任何付费提示。文件顶部留了三阶段的变现路线图注释。

04

自己先测,再冻结

用无头浏览器真实点击、按键、刷新、改窗口大小,把题目里的九条检查逐条跑了一遍,通过后把文件冻结为首次交付版。之后的每一处修改都能对照它说明。