Setup
On first use, read setup.md silently and align game scope, delivery target, and technical constraints before proposing implementation.
When to Use
Use this skill when users want to create playable games with agents, especially instant browser games with Three.js that run without a compile step. It also supports advanced projects with multiple systems, larger content pipelines, multiplayer plans, and live operations.
Architecture
Memory lives in ~/game-development/. See memory-template.md for setup and status fields.
CODEBLOCK0
Quick Reference
Use the smallest relevant file for the current task.
| Topic | File |
|---|
| Setup flow | INLINECODE3 |
| Memory template |
memory-template.md |
| Genre and loop selection |
game-types-and-loops.md |
| No-build browser path with Three.js |
browser-threejs-fast-path.md |
| Project folder blueprints |
project-structure-blueprints.md |
| Systems architecture and state design |
systems-and-state.md |
| Asset/content pipeline and tooling |
content-pipeline.md |
| Multiplayer and live operations |
multiplayer-and-live-ops.md |
| QA, balancing, and launch checklist |
qa-balance-launch.md |
Requirements
- - Runtime for local preview scripts: INLINECODE12
- Optional tools for offline asset processing: INLINECODE13
- Browser target for quick iterations: Chrome, Edge, Safari, or Firefox
Prefer local and static workflows first. Move to backend dependencies only when the user explicitly needs multiplayer authority, persistence, or commerce.
Data Storage
Local notes stay under ~/game-development/ and should capture:
- - the current game concept and loop assumptions
- the user preferences and non-negotiable constraints
- technical architecture choices with reasons
- playtest findings, balancing deltas, and release decisions
Keep notes concise and operational. Store decisions and outcomes, not long transcripts.
Core Rules
1. Lock the Delivery Profile First
Choose one profile before coding:
- - Browser Instant: no-build HTML/CSS/JS delivery, fastest iteration, easiest sharing
- Browser Structured: TypeScript or bundler workflow with modular architecture
- Engine Path: Unity, Unreal, or Godot when editor tooling and content scale justify it
Do not mix profiles in one milestone unless the user asks for migration.
2. Start From a Vertical Slice, Not a Full Game Plan
Always build a playable loop in this order:
- - input
- movement
- objective
- fail state
- restart
A complete five-minute loop is more valuable than ten untested systems.
3. Treat Browser Performance as a Product Requirement
For browser-first games, define budgets before adding content:
- - frame target and frame-time budget
- draw calls and shader complexity budget
- texture and audio memory budget
- mobile fallback quality tier
If a feature breaks the budget, simplify first and optimize second.
4. Separate Deterministic Core Logic From Presentation
Keep rules deterministic and testable:
- - game state transitions
- hit and scoring logic
- progression and economy math
Render, VFX, and animation should observe state, not own truth.
5. Use Progressive Complexity
System order for agent-driven delivery:
- - loop and controls
- feedback and readability
- enemy or puzzle variation
- progression layer
- social or online features
Only unlock the next layer after the previous one is playable and measured.
6. Make Playtesting Continuous
Each milestone must include:
- - test objective
- expected player behavior
- observed friction
- one concrete balancing action
No new feature batch should be accepted without a playtest note.
7. Preserve Reusable Project Knowledge
Update local memory after major decisions:
- - concept changes
- preference updates
- architecture pivots
- launch risks
This allows agents to continue work without repeating discovery.
Common Traps
- - Building menus, inventory, and cosmetics before core loop validation -> large scope with no fun proof
- Tying physics and gameplay directly to frame rate -> inconsistent behavior across devices
- Importing heavy 3D assets too early for browser targets -> unusable mobile experience
- Skipping input latency and camera readability checks -> players quit despite stable FPS
- Adding multiplayer before single-player loop quality -> expensive complexity without retention value
- Ignoring save and state recovery strategy -> broken sessions and user frustration
Security & Privacy
Data that stays local:
- - concept notes and user preferences under INLINECODE15
- project decision logs and playtest outcomes
Data that may leave your machine only if explicitly requested:
- - source code pushed to remote repositories
- asset uploads to CDN or build hosts
- backend telemetry or analytics events
This skill does NOT:
- - force external services for simple browser prototypes
- require paid APIs for baseline game creation
- recommend production launch without performance and playtest evidence
Related Skills
Install with
clawhub install <slug> if user confirms:
- -
threejs - 3D rendering patterns and WebGL resource hygiene - INLINECODE18 - core scripting patterns for browser game logic
- INLINECODE19 - safer large-scale game codebases and tooling
- INLINECODE20 - engine path for editor-heavy and cross-platform pipelines
- INLINECODE21 - high-fidelity pipeline when advanced rendering is required
Feedback
- - If useful: INLINECODE22
- Stay updated: INLINECODE23
设置
首次使用时,请静默阅读 setup.md,在提出实施方案前,先对齐游戏范围、交付目标和技术约束。
使用时机
当用户希望使用智能体创建可玩游戏时使用此技能,尤其是无需编译步骤即可运行的 Three.js 即时浏览器游戏。该技能也支持包含多系统、大型内容管线、多人游戏计划和持续运营的进阶项目。
架构
记忆文件位于 ~/game-development/ 目录下。关于设置和状态字段,请参阅 memory-template.md。
~/game-development/
|-- memory.md # 当前项目状态、范围和交付概况
|-- concept-briefs.md # 游戏概念、目标受众和核心创意
|-- user-preferences.md # 用户偏好、约束和风格喜好
|-- system-decisions.md # 技术决策和权衡
|-- playtest-log.md # 测试会话发现、问题和平衡调整
|-- roadmap.md # 里程碑和发布检查点
-- release-notes.md # 迭代间的变更记录
快速参考
根据当前任务使用最小的相关文件。
memory-template.md |
| 游戏类型和循环选择 | game-types-and-loops.md |
| 基于Three.js的无构建浏览器路径 | browser-threejs-fast-path.md |
| 项目文件夹蓝图 | project-structure-blueprints.md |
| 系统架构和状态设计 | systems-and-state.md |
| 资产/内容管线与工具 | content-pipeline.md |
| 多人游戏和实时运营 | multiplayer-and-live-ops.md |
| 质量保证、平衡性和发布清单 | qa-balance-launch.md |
要求
- - 本地预览脚本运行环境:node
- 离线资产处理可选工具:python3
- 快速迭代浏览器目标:Chrome、Edge、Safari 或 Firefox
优先采用本地和静态工作流。仅在用户明确需要多人游戏权限、持久化存储或商业功能时,才转向后端依赖。
数据存储
本地笔记保存在 ~/game-development/ 目录下,应记录:
- - 当前游戏概念和循环假设
- 用户偏好和不可协商的约束
- 技术架构选择及其理由
- 测试发现、平衡调整和发布决策
保持笔记简洁且可操作。记录决策和结果,而非冗长的记录。
核心规则
1. 首先锁定交付模式
在编码前选择一种模式:
- - 浏览器即时:无构建的 HTML/CSS/JS 交付,迭代最快,分享最易
- 浏览器结构化:使用 TypeScript 或打包工具工作流,模块化架构
- 引擎路径:当编辑器工具和内容规模合理时,使用 Unity、Unreal 或 Godot
除非用户要求迁移,否则不要在同一个里程碑中混合使用不同模式。
2. 从垂直切片开始,而非完整游戏计划
始终按以下顺序构建可玩的循环:
一个完整的五分钟循环比十个未经测试的系统更有价值。
3. 将浏览器性能视为产品需求
对于浏览器优先的游戏,在添加内容前定义预算:
- - 帧率目标和帧时间预算
- 绘制调用和着色器复杂度预算
- 纹理和音频内存预算
- 移动端降级质量等级
如果某个功能超出预算,先简化,再优化。
4. 将确定性核心逻辑与表现层分离
保持规则确定性和可测试性:
渲染、视觉效果和动画应观察状态,而非拥有真理。
5. 采用渐进式复杂度
智能体驱动的交付系统顺序:
- - 循环和操作
- 反馈和可读性
- 敌人或谜题变化
- 进度层
- 社交或在线功能
只有在前一层可玩且经过评估后,才能解锁下一层。
6. 持续进行游戏测试
每个里程碑必须包含:
- - 测试目标
- 预期玩家行为
- 观察到的摩擦点
- 至少一项具体的平衡调整措施
未经游戏测试记录,不得接受任何新功能批次。
7. 保留可复用的项目知识
在重大决策后更新本地记忆:
这使智能体能够继续工作而无需重复探索。
常见陷阱
- - 在核心循环验证前构建菜单、背包和装饰系统 -> 范围过大且缺乏趣味性验证
- 将物理和游戏玩法直接与帧率绑定 -> 不同设备间行为不一致
- 过早为浏览器目标导入重型3D资产 -> 移动端体验不可用
- 跳过输入延迟和相机可读性检查 -> 尽管FPS稳定,玩家仍会流失
- 在单人游戏循环质量达标前添加多人功能 -> 复杂度高昂但缺乏留存价值
- 忽略存档和状态恢复策略 -> 游戏中断导致用户沮丧
安全与隐私
本地存储的数据:
- - ~/game-development/ 下的概念笔记和用户偏好
- 项目决策日志和测试结果
仅在明确请求下才可能离开您机器的数据:
- - 推送到远程仓库的源代码
- 上传到CDN或构建主机的资产
- 后端遥测或分析事件
此技能不会:
- - 为简单的浏览器原型强制使用外部服务
- 要求付费API来创建基础游戏
- 在没有性能和测试证据的情况下推荐生产发布
相关技能
如果用户确认,使用 clawhub install
安装:
- - threejs - 3D渲染模式和WebGL资源管理
- javascript - 浏览器游戏逻辑的核心脚本模式
- typescript - 更安全的大规模游戏代码库和工具
- unity - 编辑器密集型及跨平台管线的引擎路径
- unreal-engine - 需要高级渲染时的高保真管线
反馈
- - 如果觉得有用:clawhub star game-development
- 保持更新:clawhub sync