Fable能做的,GLM也可以
欢迎使用 dotBlog
事情的起源是因为我在HackNews上看到了SimonWillison的这篇blog:https://simonwillison.net/2026/Aug/5/raccoon-heist/#atom-everything 这哥们儿是Django的联合创始人,他也是AI领域的深度实践者之一。当然,从上面的链接你可以看出来,他还是一个非常高产的科技博主。 这个blog里他分享了个什么事儿呢?他记录了一个有趣的实验:他使用 Anthropic 公司最新的 Claude Fable 5 模型,仅通过一条提示词要求其独立完成所有设计决策。Claude 不仅编写了游戏代码,还自主使用 OpenAI 的图像生成模型制作了纹理和标题画面,甚至通过 Playwright 工具进行自动化测试来发现和修复移动端兼容性等缺陷。和两张旧截图,就“一键生成”了一款名为“Raccoon Heist”(浣熊大劫案)的3D浏览器游戏。他Claude 通过 Git 不断提交更新,最终生成了一个包含完整玩法、音效和多个关卡的游戏。 于是我在想,我有opencode 和 GLM5.2,是不是可以复刻一个让GLM自由发挥的游戏呢?唯一的问题是,我没有Chatgpt的DALL-E来生成图片素材。并且说实话,我对自己在这方面的审美很没有信心。那怎么办呢?我想到,可以让GLM用SVG来干这活儿。但既然是SVG,就不能太复杂,于是我选定了火柴人这个形象。于是有了这个看起来还行的游戏:https://github.vftl.site/stickman-arena/ 说实话,可以玩,但,游戏性确实不高。 我做了什么呢?除了一个元始Prompt以外,我还跑了几轮自我迭代。提示词如下 元始提示词: Build a complete browser game in this repository.
Game title: Stickman Arena
Core concept:
Create a fun and polished 2D side-view stickman fighting game that runs entirely in the browser.
The game should be immediately playable, visually appealing, and optimized for both desktop and mobile devices.
The game must be deployable as a static website through GitHub Pages.
TECHNICAL REQUIREMENTS
Use:
- Phaser 3
- HTML
- CSS
- JavaScript (ES6 modules)
Do NOT use:
- Three.js
- React
- Vue
- Backend services
- External databases
The repository should be completely static.
The entry point must be:
index.html
All assets must be stored locally in the repository.
No runtime API calls are allowed after deployment.
VISUAL STYLE
Art style:
- Clean stickman aesthetic
- Minimalistic
- Smooth animations
- Modern arcade feeling
Generate all art assets yourself.
Do not download assets from the internet.
Prefer:
- SVG graphics
- Procedurally generated effects
- Phaser graphics primitives
SVG assets are strongly preferred.
Create:
- player stickman
- enemy stickmen
- weapons
- health bars
- UI elements
- particle effects
Use a consistent visual language throughout the project.
GAMEPLAY
Create an engaging MVP.
Minimum features:
Player:
- move left/right
- jump
- punch
- kick
- combo attacks
- health system
Enemies:
- basic enemy AI
- pursuit behavior
- attack behavior
- death animation
Game systems:
- collision detection
- hit reactions
- knockback
- score
- wave progression
Game loop:
Fight enemies. Survive waves. Achieve a high score.
The game should feel fun within the first 30 seconds.
MOBILE SUPPORT
The game must work well on phones.
Provide:
- touch controls
- virtual joystick or directional controls
- attack buttons
Support:
- portrait phones
- landscape phones
Landscape mode should be the primary gameplay mode.
ANIMATION
Do not use static sprites.
Implement procedural stickman animation.
Create animation states:
- idle
- run
- jump
- punch
- kick
- hurt
- death
Use SVG transforms and Phaser animation systems.
The stickman should feel alive and responsive.
AUDIO
Do not download audio files.
Generate audio procedurally whenever possible.
Use WebAudio APIs.
Create:
- punch sounds
- hit sounds
- jump sounds
- UI sounds
Simple arcade style is sufficient.
GAME FEEL
Prioritize moment-to-moment enjoyment.
Add:
- screen shake
- hit pause
- particle effects
- combo feedback
- visual impact effects
The game should feel surprisingly satisfying.
DEVELOPMENT PROCESS
Work independently.
Do not ask me design questions.
Make your own decisions and iterate.
Whenever you identify a weak area:
- improve it
- test it
- continue
Do not stop after the first playable version.
Keep refining.
TESTING
Install and use Playwright.
Continuously test your work.
Perform:
- desktop testing
- mobile viewport testing
Take screenshots regularly.
Review screenshots.
Fix visual defects.
Verify:
- character visibility
- UI usability
- controls
- combat
- game progression
QUALITY BAR
This should not feel like a technology demo.
It should feel like a small completed indie game.
The game should be enjoyable for at least several minutes.
The final experience should include:
- title screen
- gameplay
- game over screen
- restart flow
- score tracking
PROJECT LOG
Maintain a file named:
notes.md
Append development notes continuously.
Record:
- decisions
- features
- bugs found
- fixes
- testing results
Update notes.md frequently.
GIT WORKFLOW
Commit often.
Push frequently.
Create small incremental improvements.
Each commit should represent a meaningful milestone.
I want to be able to watch the game evolve through Git history.
DONE CRITERIA
The project is complete only when:
- Deploys correctly on GitHub Pages
- Runs without build steps
- Works on desktop
- Works on mobile
- Playwright tests pass
- Multiple enemy waves exist
- Combat feels responsive
- UI feels polished
- notes.md documents the journey
Keep improving until these criteria are satisfied. Surprise me.
Add features that make the game more memorable, provided they fit the stickman fighting theme.
You are not only implementing the game. You are acting as the game designer, technical lead, artist, QA engineer, and gameplay director. 接下来就是数论的迭代提示词: Loop1:QA Loop
Prompt: Act as a senior QA team for the web game.
- Find bugs (functional deviations from the spec), UX issues (usability, consistency, accessibility problems), balance issues (unfair advantages or resource misalignment), and mobile‑specific problems (platform‑only defects on iOS and Android, including performance, gestures, and rendering).
- Rank each finding by impact
- Test the fix: execute a regression suite covering the affected area.
- Repeat the cycle (find → rank → fix → test) until no issue
Loop2:Fun Loop(最重要) Simon 那个浣熊游戏真正变好玩的阶段其实是这个。 Prompt: The game is functional.
Now act as an experienced indie game designer.
Your goal is to increase fun, not stability.
Analyze:
- What moments are exciting?
- What moments are boring?
- Where would players quit?
- What features create stories?
Propose three major improvements.
Implement only the most impactful one.
Test it.
Evaluate whether fun increased.
Repeat.
Loop3:Retention Loop 产品经理视角。 Prompt: Assume players only play for 60 seconds.
Analyze the first minute experience.
Identify:
- why players stay
- why players leave
Improve onboarding, reward pacing, and progression.
Focus only on retention.
Loop4:Content Loop
Prompt: Do not improve systems.
Improve content.
Add:
- enemy variety
- encounter variety
- rare events
- environmental interactions
The game should feel less repetitive.
Loop5:Juice Loop 游戏设计里面有个概念叫:Game Juice 就是打击感。 Prompt: Focus entirely on game feel.
Improve:
- hit effects
- screen shake
- impact feedback
- particles
- anticipation
- attack timing
- camera movement
Do not add new mechanics.
Only increase perceived impact and satisfaction.
这个经常能让游戏质量提升一大截。
Loop6:Creative Loop 我觉得这是最接近 Simon 实验精神的。 Prompt: Act as a creative director.
The game already works.
Your job is to make it memorable.
Invent unusual mechanics that players would talk about.
Avoid generic features.
Implement one surprising feature.
Test it.
Evaluate if it creates unique moments.
Loop7:Steam Review Loop 这个是我最喜欢的。 Prompt: Pretend the game has been released.
Write:
- 20 positive Steam reviews
- 20 negative Steam reviews
Analyze recurring complaints.
Identify root causes.
Fix the most common complaint.
Test.
Repeat.
Final UI/UX Design Loop Act as the Art Director of Stickman Arena.
Review the entire experience as if it were being released today.
Identify the visual or UX issue that most harms player perception.
Fix it.
Test it.
Take screenshots.
Review your own work.
Document the reasoning in notes.md.
Commit changes.
Prioritize player perception over technical perfection 到了这里,GLM5.2的缺陷就体现了:它知识一个文本模型,无法解析图片,所以这个loop里它其实就是纯猜。 这里是仓库地址,你们也可以在它的基础上继续迭代,或者新建一个属于你的AI游戏!