@mison/ag-kit-cn 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.agent/ARCHITECTURE.md +285 -0
- package/.agent/agents/backend-specialist.md +268 -0
- package/.agent/agents/code-archaeologist.md +106 -0
- package/.agent/agents/database-architect.md +225 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +618 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +382 -0
- package/.agent/agents/orchestrator.md +438 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/product-manager.md +112 -0
- package/.agent/agents/product-owner.md +95 -0
- package/.agent/agents/project-planner.md +405 -0
- package/.agent/agents/qa-automation-engineer.md +103 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/mcp_config.json +12 -0
- package/.agent/rules/GEMINI.md +273 -0
- package/.agent/scripts/auto_preview.py +148 -0
- package/.agent/scripts/checklist.py +217 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/verify_all.py +327 -0
- package/.agent/skills/api-patterns/SKILL.md +84 -0
- package/.agent/skills/api-patterns/api-style.md +42 -0
- package/.agent/skills/api-patterns/auth.md +24 -0
- package/.agent/skills/api-patterns/documentation.md +26 -0
- package/.agent/skills/api-patterns/graphql.md +41 -0
- package/.agent/skills/api-patterns/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/response.md +37 -0
- package/.agent/skills/api-patterns/rest.md +40 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/api-patterns/security-testing.md +122 -0
- package/.agent/skills/api-patterns/trpc.md +41 -0
- package/.agent/skills/api-patterns/versioning.md +22 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +74 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/architecture/SKILL.md +57 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +201 -0
- package/.agent/skills/behavioral-modes/SKILL.md +264 -0
- package/.agent/skills/brainstorming/SKILL.md +164 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +359 -0
- package/.agent/skills/clean-code/SKILL.md +200 -0
- package/.agent/skills/code-review-checklist/SKILL.md +125 -0
- package/.agent/skills/database-design/SKILL.md +54 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +50 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +418 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +307 -0
- package/.agent/skills/frontend-design/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +727 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +1118 -0
- package/.agent/skills/frontend-design/visual-effects.md +383 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +155 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/.agent/skills/lint-and-validate/SKILL.md +44 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mobile-design/SKILL.md +394 -0
- package/.agent/skills/mobile-design/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/mobile-design-thinking.md +355 -0
- package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/mobile-typography.md +432 -0
- package/.agent/skills/mobile-design/platform-android.md +666 -0
- package/.agent/skills/mobile-design/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/mobile-design/touch-psychology.md +537 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
- package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
- package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
- package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
- package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
- package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
- package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +194 -0
- package/.agent/skills/performance-profiling/SKILL.md +149 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +166 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/red-team-tactics/SKILL.md +203 -0
- package/.agent/skills/rust-pro/SKILL.md +190 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +135 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +114 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +131 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +459 -0
- package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/brainstorm.md +113 -0
- package/.agent/workflows/create.md +59 -0
- package/.agent/workflows/debug.md +103 -0
- package/.agent/workflows/deploy.md +176 -0
- package/.agent/workflows/enhance.md +63 -0
- package/.agent/workflows/orchestrate.md +242 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/restore-localize-compat.md +525 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +295 -0
- package/AGENT_FLOW.md +609 -0
- package/CHANGELOG.md +68 -0
- package/LICENSE +21 -0
- package/README.md +260 -0
- package/bin/adapters/base.js +63 -0
- package/bin/adapters/codex.js +391 -0
- package/bin/adapters/gemini.js +137 -0
- package/bin/ag-kit.js +1336 -0
- package/bin/core/builder.js +80 -0
- package/bin/core/generator.js +59 -0
- package/bin/core/resource-loader.js +64 -0
- package/bin/core/transformer.js +208 -0
- package/bin/interactive.js +65 -0
- package/bin/utils/atomic-writer.js +97 -0
- package/bin/utils/git-helper.js +68 -0
- package/bin/utils/managed-block.js +65 -0
- package/bin/utils/manifest.js +241 -0
- package/bin/utils.js +82 -0
- package/docs/codex-rules-template.md +36 -0
- package/docs/mapping-spec.md +68 -0
- package/docs/multi-target-adapter.md +80 -0
- package/docs/official/README.md +53 -0
- package/docs/official/antigravity/agent-modes-settings.md +64 -0
- package/docs/official/antigravity/rules-workflows.md +96 -0
- package/docs/official/antigravity/skills.md +147 -0
- package/docs/official/codex/agents-md.md +119 -0
- package/docs/official/codex/config-advanced.md +358 -0
- package/docs/official/codex/config-basic.md +141 -0
- package/docs/official/codex/config-reference.md +223 -0
- package/docs/official/codex/config-sample.md +216 -0
- package/docs/official/codex/mcp.md +107 -0
- package/docs/official/codex/rules.md +79 -0
- package/docs/official/codex/skills.md +114 -0
- package/docs/official/sources-index.md +32 -0
- package/docs/operations.md +145 -0
- package/docs/terminology-style-guide.md +69 -0
- package/package.json +51 -0
- package/scripts/postinstall-check.js +112 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-games
|
|
3
|
+
description: 移动游戏开发原则。触摸输入、电池、性能、应用商店要求。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 移动游戏开发
|
|
8
|
+
|
|
9
|
+
> 平台限制与优化原则。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. 平台考量
|
|
14
|
+
|
|
15
|
+
### 关键限制
|
|
16
|
+
|
|
17
|
+
| 限制 | 策略 |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| **触摸输入(Touch input)** | 大点击区域、手势 |
|
|
20
|
+
| **电池(Battery)** | 限制 CPU/GPU 使用 |
|
|
21
|
+
| **热量(Thermal)** | 发热时节流 |
|
|
22
|
+
| **屏幕尺寸(Screen size)** | 响应式 UI |
|
|
23
|
+
| **中断(Interruptions)** | 进入后台暂停 |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. 触摸输入原则
|
|
28
|
+
|
|
29
|
+
### 触摸 vs 控制器
|
|
30
|
+
|
|
31
|
+
| 触摸 | 桌面/主机 |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| 不精确 | 精确 |
|
|
34
|
+
| 遮挡屏幕 | 无遮挡 |
|
|
35
|
+
| 按钮有限 | 许多按钮 |
|
|
36
|
+
| 可用手势 | 按钮/摇杆 |
|
|
37
|
+
|
|
38
|
+
### 最佳实践
|
|
39
|
+
|
|
40
|
+
- 最小触摸目标:44x44 点
|
|
41
|
+
- 触摸时提供视觉反馈
|
|
42
|
+
- 避免精确的时间要求
|
|
43
|
+
- 支持纵向与横向
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. 性能目标
|
|
48
|
+
|
|
49
|
+
### 热管理
|
|
50
|
+
|
|
51
|
+
| 动作 | 触发条件 |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| 降低质量 | 设备温热 |
|
|
54
|
+
| 限制 FPS | 设备发热 |
|
|
55
|
+
| 暂停特效 | 临界温度 |
|
|
56
|
+
|
|
57
|
+
### 电池优化
|
|
58
|
+
|
|
59
|
+
- 30 FPS 通常足够
|
|
60
|
+
- 暂停时休眠
|
|
61
|
+
- 最小化 GPS/网络
|
|
62
|
+
- 深色模式节省 OLED 电量
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 4. 应用商店要求
|
|
67
|
+
|
|
68
|
+
### iOS(App Store)
|
|
69
|
+
|
|
70
|
+
| 要求 | 备注 |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| 隐私标签 | 必需 |
|
|
73
|
+
| 账户删除 | 若存在账户创建 |
|
|
74
|
+
| 截图 | 覆盖所有设备尺寸 |
|
|
75
|
+
|
|
76
|
+
### Android(Google Play)
|
|
77
|
+
|
|
78
|
+
| 要求 | 备注 |
|
|
79
|
+
| --- | --- |
|
|
80
|
+
| 目标 API | 当年的 SDK |
|
|
81
|
+
| 64 位 | 必需 |
|
|
82
|
+
| App bundles | 推荐 |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 5. 变现模型
|
|
87
|
+
|
|
88
|
+
| 模型 | 最适合 |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| **Premium(付费)** | 优质游戏、忠实受众 |
|
|
91
|
+
| **Free + IAP(免费+内购)** | 休闲、基于进度 |
|
|
92
|
+
| **Ads(广告)** | 超休闲、高量级 |
|
|
93
|
+
| **Subscription(订阅)** | 内容更新、多人游戏 |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 6. 反模式
|
|
98
|
+
|
|
99
|
+
| ❌ 禁止 | ✅ 推荐 |
|
|
100
|
+
| --- | --- |
|
|
101
|
+
| 在移动端使用桌面控制 | 为触摸设计 |
|
|
102
|
+
| 忽略电池消耗 | 监控热量 |
|
|
103
|
+
| 强制横屏 | 支持玩家偏好 |
|
|
104
|
+
| 始终联网 | 缓存并同步 |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
> **记住:** 移动端是最受限的平台。尊重电池与注意力。
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: multiplayer
|
|
3
|
+
description: 多人游戏开发原则。架构、网络、同步。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 多人游戏开发
|
|
8
|
+
|
|
9
|
+
> 网络架构与同步原则。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. 架构选择
|
|
14
|
+
|
|
15
|
+
### 决策树
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
什么类型的多人游戏?
|
|
19
|
+
│
|
|
20
|
+
├── 竞技 / 实时
|
|
21
|
+
│ └── Dedicated Server(专用服务器,权威)
|
|
22
|
+
│
|
|
23
|
+
├── 合作 / 休闲
|
|
24
|
+
│ └── Host-based(基于主机,一个玩家作为服务器)
|
|
25
|
+
│
|
|
26
|
+
├── 回合制
|
|
27
|
+
│ └── Client-server(客户端-服务器,简单)
|
|
28
|
+
│
|
|
29
|
+
└── 大型(MMO)
|
|
30
|
+
└── 分布式服务器
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 比较
|
|
34
|
+
|
|
35
|
+
| 架构 | 延迟 | 成本 | 安全性 |
|
|
36
|
+
| --- | --- | --- | --- |
|
|
37
|
+
| **Dedicated(专用)** | 低 | 高 | 强 |
|
|
38
|
+
| **P2P** | 可变 | 低 | 弱 |
|
|
39
|
+
| **Host-based(主机)** | 中 | 低 | 中 |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. 同步原则
|
|
44
|
+
|
|
45
|
+
### 状态 vs 输入
|
|
46
|
+
|
|
47
|
+
| 方法 | 同步什么 | 最适合 |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| **State Sync(状态同步)** | 游戏状态 | 简单、对象少 |
|
|
50
|
+
| **Input Sync(输入同步)** | 玩家输入 | 动作游戏 |
|
|
51
|
+
| **Hybrid(混合)** | 两者 | 大多数游戏 |
|
|
52
|
+
|
|
53
|
+
### 延迟补偿
|
|
54
|
+
|
|
55
|
+
| 技术 | 目的 |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| **Prediction(预测)** | 客户端预测服务器 |
|
|
58
|
+
| **Interpolation(插值)** | 平滑远程玩家 |
|
|
59
|
+
| **Reconciliation(和解)** | 修正错误预测 |
|
|
60
|
+
| **Lag compensation(延迟补偿)** | 回滚以进行命中检测 |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. 网络优化
|
|
65
|
+
|
|
66
|
+
### 带宽减少
|
|
67
|
+
|
|
68
|
+
| 技术 | 节省 |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| **Delta compression(增量压缩)** | 仅发送变化 |
|
|
71
|
+
| **Quantization(量化)** | 降低精度 |
|
|
72
|
+
| **Priority(优先级)** | 重要数据优先 |
|
|
73
|
+
| **Area of interest(兴趣区域)** | 仅附近实体 |
|
|
74
|
+
|
|
75
|
+
### 更新率
|
|
76
|
+
|
|
77
|
+
| 类型 | 速率 |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| 位置 | 20-60 Hz |
|
|
80
|
+
| 生命值 | 变化时 |
|
|
81
|
+
| 库存 | 变化时 |
|
|
82
|
+
| 聊天 | 发送时 |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 4. 安全原则
|
|
87
|
+
|
|
88
|
+
### 服务器权威
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
客户端: "我击中了敌人"
|
|
92
|
+
服务器: 验证 → 抛射物真的击中了吗?
|
|
93
|
+
→ 玩家处于有效状态吗?
|
|
94
|
+
→ 时间上可能吗?
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 反作弊
|
|
98
|
+
|
|
99
|
+
| 作弊 | 预防 |
|
|
100
|
+
| --- | --- |
|
|
101
|
+
| Speed hack(速度挂) | 服务器验证移动 |
|
|
102
|
+
| Aimbot(自瞄) | 服务器验证视线 |
|
|
103
|
+
| Item dupe(复制物品) | 服务器拥有库存 |
|
|
104
|
+
| Wall hack(透视) | 不发送隐藏数据 |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 5. 匹配
|
|
109
|
+
|
|
110
|
+
### 考量因素
|
|
111
|
+
|
|
112
|
+
| 因素 | 影响 |
|
|
113
|
+
| --- | --- |
|
|
114
|
+
| **Skill(技能)** | 公平比赛 |
|
|
115
|
+
| **Latency(延迟)** | 可玩的连接 |
|
|
116
|
+
| **Wait time(等待时间)** | 玩家耐心 |
|
|
117
|
+
| **Party size(队伍大小)** | 组队游玩 |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 6. 反模式
|
|
122
|
+
|
|
123
|
+
| ❌ 禁止 | ✅ 推荐 |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| 信任客户端 | 服务器是权威 |
|
|
126
|
+
| 发送一切 | 仅发送必要的 |
|
|
127
|
+
| 忽略延迟 | 为 100-200ms 设计 |
|
|
128
|
+
| 同步精确位置 | 插值/预测 |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
> **记住:** 永远不要信任客户端。服务器是真理之源。
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pc-games
|
|
3
|
+
description: PC 与主机游戏开发原则。引擎选择、平台特性、优化策略。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PC/主机游戏开发
|
|
8
|
+
|
|
9
|
+
> 引擎选择与平台特定原则。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. 引擎选择
|
|
14
|
+
|
|
15
|
+
### 决策树
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
你在构建什么?
|
|
19
|
+
│
|
|
20
|
+
├── 2D 游戏
|
|
21
|
+
│ ├── 开源很重要? → Godot
|
|
22
|
+
│ └── 大型团队/资产? → Unity
|
|
23
|
+
│
|
|
24
|
+
├── 3D 游戏
|
|
25
|
+
│ ├── AAA 视觉质量? → Unreal
|
|
26
|
+
│ ├── 跨平台优先? → Unity
|
|
27
|
+
│ └── 独立/开源? → Godot 4
|
|
28
|
+
│
|
|
29
|
+
└── 特定需求
|
|
30
|
+
├── DOTS 性能? → Unity
|
|
31
|
+
├── Nanite/Lumen? → Unreal
|
|
32
|
+
└── 轻量级? → Godot
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 比较
|
|
36
|
+
|
|
37
|
+
| 因素 | Unity 6 | Godot 4 | Unreal 5 |
|
|
38
|
+
| --- | --- | --- | --- |
|
|
39
|
+
| 2D | 好 | 极好 | 有限 |
|
|
40
|
+
| 3D | 好 | 好 | 极好 |
|
|
41
|
+
| 学习 | 中等 | 容易 | 难 |
|
|
42
|
+
| 成本 | 收入分成 | 免费 | 100 万美元后 5% |
|
|
43
|
+
| 团队 | 任何 | 个人-中型 | 中型-大型 |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2. 平台特性
|
|
48
|
+
|
|
49
|
+
### Steam 集成
|
|
50
|
+
|
|
51
|
+
| 特性 | 目的 |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Achievements(成就) | 玩家目标 |
|
|
54
|
+
| Cloud Saves(云存档) | 跨设备进度 |
|
|
55
|
+
| Leaderboards(排行榜) | 竞争 |
|
|
56
|
+
| Workshop(创意工坊) | 用户模组 |
|
|
57
|
+
| Rich Presence(富呈现) | 显示游戏内状态 |
|
|
58
|
+
|
|
59
|
+
### 主机要求
|
|
60
|
+
|
|
61
|
+
| 平台 | 认证 |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| PlayStation | TRC 合规 |
|
|
64
|
+
| Xbox | XR 合规 |
|
|
65
|
+
| Nintendo | Lotcheck |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 3. 控制器支持
|
|
70
|
+
|
|
71
|
+
### 输入抽象
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
映射 ACTIONS,而不是按钮:
|
|
75
|
+
- "confirm" → A(Xbox)、Cross(PS)、B(Nintendo)
|
|
76
|
+
- "cancel" → B(Xbox)、Circle(PS)、A(Nintendo)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 触觉反馈
|
|
80
|
+
|
|
81
|
+
| 强度 | 用途 |
|
|
82
|
+
| --- | --- |
|
|
83
|
+
| 轻 | UI 反馈 |
|
|
84
|
+
| 中 | 撞击 |
|
|
85
|
+
| 重 | 重大事件 |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 4. 性能优化
|
|
90
|
+
|
|
91
|
+
### 性能分析优先
|
|
92
|
+
|
|
93
|
+
| 引擎 | 工具 |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| Unity | Profiler Window |
|
|
96
|
+
| Godot | Debugger → Profiler |
|
|
97
|
+
| Unreal | Unreal Insights |
|
|
98
|
+
|
|
99
|
+
### 常见瓶颈
|
|
100
|
+
|
|
101
|
+
| 瓶颈 | 解决方案 |
|
|
102
|
+
| --- | --- |
|
|
103
|
+
| Draw calls(绘制调用) | Batching(合批)、atlases(图集) |
|
|
104
|
+
| GC spikes(GC 峰值) | Object pooling(对象池) |
|
|
105
|
+
| Physics(物理) | 更简单的碰撞体 |
|
|
106
|
+
| Shaders(着色器) | LOD 着色器 |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 5. 引擎特定原则
|
|
111
|
+
|
|
112
|
+
### Unity 6
|
|
113
|
+
|
|
114
|
+
- DOTS 用于性能关键系统
|
|
115
|
+
- Burst compiler 用于热路径
|
|
116
|
+
- Addressables 用于资产流式传输
|
|
117
|
+
|
|
118
|
+
### Godot 4
|
|
119
|
+
|
|
120
|
+
- GDScript 用于快速迭代
|
|
121
|
+
- C# 用于复杂逻辑
|
|
122
|
+
- Signals 用于解耦
|
|
123
|
+
|
|
124
|
+
### Unreal 5
|
|
125
|
+
|
|
126
|
+
- Blueprint(蓝图)给设计师
|
|
127
|
+
- C++ 追求性能
|
|
128
|
+
- Nanite 用于高多边形环境
|
|
129
|
+
- Lumen 用于动态光照
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 6. 反模式
|
|
134
|
+
|
|
135
|
+
| ❌ 禁止 | ✅ 推荐 |
|
|
136
|
+
| --- | --- |
|
|
137
|
+
| 凭炒作选择引擎 | 按项目需求选择 |
|
|
138
|
+
| 忽略平台指南 | 研究认证要求 |
|
|
139
|
+
| 硬编码输入按钮 | 抽象为动作 |
|
|
140
|
+
| 跳过性能分析 | 尽早并经常分析 |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
> **记住:** 引擎只是工具。掌握原则,然后适应任何引擎。
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-ar
|
|
3
|
+
description: VR/AR 开发原则。舒适度、交互、性能要求。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# VR/AR 开发
|
|
8
|
+
|
|
9
|
+
> 沉浸式体验原则。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. 平台选择
|
|
14
|
+
|
|
15
|
+
### VR 平台
|
|
16
|
+
|
|
17
|
+
| 平台 | 用途 |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| **Quest** | 独立、无线 |
|
|
20
|
+
| **PCVR** | 高保真 |
|
|
21
|
+
| **PSVR** | 主机市场 |
|
|
22
|
+
| **WebXR** | 浏览器端 |
|
|
23
|
+
|
|
24
|
+
### AR 平台
|
|
25
|
+
|
|
26
|
+
| 平台 | 用途 |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| **ARKit** | iOS 设备 |
|
|
29
|
+
| **ARCore** | Android 设备 |
|
|
30
|
+
| **WebXR** | 浏览器 AR |
|
|
31
|
+
| **HoloLens** | 企业级 |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. 舒适度原则
|
|
36
|
+
|
|
37
|
+
### 晕动症预防
|
|
38
|
+
|
|
39
|
+
| 原因 | 解决方案 |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| **Locomotion(移动)** | 传送、瞬转 |
|
|
42
|
+
| **Low FPS(低帧率)** | 维持 90 FPS |
|
|
43
|
+
| **Camera shake(相机抖动)** | 避免或最小化 |
|
|
44
|
+
| **Rapid acceleration(快速加速)** | 渐进移动 |
|
|
45
|
+
|
|
46
|
+
### 舒适设置
|
|
47
|
+
|
|
48
|
+
- 移动时的晕影(Vignette)
|
|
49
|
+
- 瞬转与平滑转向
|
|
50
|
+
- 坐姿与站姿模式
|
|
51
|
+
- 高度校准
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 3. 性能要求
|
|
56
|
+
|
|
57
|
+
### 目标指标
|
|
58
|
+
|
|
59
|
+
| 平台 | FPS(帧率) | 分辨率 |
|
|
60
|
+
| --- | --- | --- |
|
|
61
|
+
| Quest 2 | 72-90 | 1832x1920 |
|
|
62
|
+
| Quest 3 | 90-120 | 2064x2208 |
|
|
63
|
+
| PCVR | 90 | 2160x2160+ |
|
|
64
|
+
| PSVR2 | 90-120 | 2000x2040 |
|
|
65
|
+
|
|
66
|
+
### 帧预算
|
|
67
|
+
|
|
68
|
+
- VR 需要一致的帧时间
|
|
69
|
+
- 掉一帧 = 可见的抖动
|
|
70
|
+
- 90 FPS = 11.11ms 预算
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4. 交互原则
|
|
75
|
+
|
|
76
|
+
### 控制器交互
|
|
77
|
+
|
|
78
|
+
| 类型 | 用途 |
|
|
79
|
+
| --- | --- |
|
|
80
|
+
| **Point + click** | UI、远处物体 |
|
|
81
|
+
| **Grab** | 操作 |
|
|
82
|
+
| **Gesture** | 魔法、特殊动作 |
|
|
83
|
+
| **Physical** | 投掷、挥舞 |
|
|
84
|
+
|
|
85
|
+
### 手部追踪
|
|
86
|
+
|
|
87
|
+
- 更沉浸但精度较低
|
|
88
|
+
- 适合:社交、休闲
|
|
89
|
+
- 挑战:动作、精度
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 5. 空间设计
|
|
94
|
+
|
|
95
|
+
### 世界比例
|
|
96
|
+
|
|
97
|
+
- 1 单位 = 1 米(关键)
|
|
98
|
+
- 物体必须感觉大小合适
|
|
99
|
+
- 用真实测量进行测试
|
|
100
|
+
|
|
101
|
+
### 深度线索
|
|
102
|
+
|
|
103
|
+
| 线索 | 重要性 |
|
|
104
|
+
| --- | --- |
|
|
105
|
+
| Stereo(立体) | 主要深度 |
|
|
106
|
+
| Motion parallax(运动视差) | 次要 |
|
|
107
|
+
| Shadows(阴影) | 接地感 |
|
|
108
|
+
| Occlusion(遮挡) | 分层 |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 6. 反模式
|
|
113
|
+
|
|
114
|
+
| ❌ 禁止 | ✅ 推荐 |
|
|
115
|
+
| --- | --- |
|
|
116
|
+
| 移动相机而不移动玩家 | 玩家控制相机 |
|
|
117
|
+
| 低于 90 FPS | 维持帧率 |
|
|
118
|
+
| 使用微小的 UI 文本 | 大而易读的文本 |
|
|
119
|
+
| 忽略手臂长度 | 依据玩家触及范围缩放 |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
> **记住:** 舒适度不是可选项。生病的玩家不会玩游戏。
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-games
|
|
3
|
+
description: Web 浏览器游戏开发原则。框架选择、WebGPU、优化、PWA。
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web 浏览器游戏开发
|
|
8
|
+
|
|
9
|
+
> 框架选择与浏览器特定原则。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. 框架选择
|
|
14
|
+
|
|
15
|
+
### 决策树
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
什么类型的游戏?
|
|
19
|
+
│
|
|
20
|
+
├── 2D 游戏
|
|
21
|
+
│ ├── 完整的游戏引擎功能? → Phaser
|
|
22
|
+
│ └── 原始渲染能力? → PixiJS
|
|
23
|
+
│
|
|
24
|
+
├── 3D 游戏
|
|
25
|
+
│ ├── 完整引擎(物理、XR)? → Babylon.js
|
|
26
|
+
│ └── 渲染聚焦? → Three.js
|
|
27
|
+
│
|
|
28
|
+
└── 混合 / Canvas
|
|
29
|
+
└── 自定义 → Raw Canvas/WebGL
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 对比(2025)
|
|
33
|
+
|
|
34
|
+
| 框架 | 类型 | 最适合 |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| **Phaser 4** | 2D | 完整游戏功能 |
|
|
37
|
+
| **PixiJS 8** | 2D | 渲染、UI |
|
|
38
|
+
| **Three.js** | 3D | 可视化、轻量级 |
|
|
39
|
+
| **Babylon.js 7** | 3D | 完整引擎、XR |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. WebGPU 采用
|
|
44
|
+
|
|
45
|
+
### 浏览器支持(2025)
|
|
46
|
+
|
|
47
|
+
| 浏览器 | 支持 |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| Chrome | ✅ 自 v113 起 |
|
|
50
|
+
| Edge | ✅ 自 v113 起 |
|
|
51
|
+
| Firefox | ✅ 自 v131 起 |
|
|
52
|
+
| Safari | ✅ 自 18.0 起 |
|
|
53
|
+
| **总计** | **~73%** 全球 |
|
|
54
|
+
|
|
55
|
+
### 决策
|
|
56
|
+
|
|
57
|
+
- **新项目**:使用 WebGPU,并提供 WebGL 回退
|
|
58
|
+
- **遗留支持**:从 WebGL 开始
|
|
59
|
+
- **特性检测**:检查 `navigator.gpu`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 3. 性能原则
|
|
64
|
+
|
|
65
|
+
### 浏览器限制
|
|
66
|
+
|
|
67
|
+
| 限制 | 策略 |
|
|
68
|
+
| --- | --- |
|
|
69
|
+
| 无本地文件访问 | 资产打包、CDN |
|
|
70
|
+
| 标签页节流 | 隐藏时暂停 |
|
|
71
|
+
| 移动数据限制 | 压缩资产 |
|
|
72
|
+
| 音频自动播放 | 需要用户交互 |
|
|
73
|
+
|
|
74
|
+
### 优化优先级
|
|
75
|
+
|
|
76
|
+
1. **资产压缩** - KTX2、Draco、WebP
|
|
77
|
+
2. **懒加载** - 按需加载
|
|
78
|
+
3. **对象池** - 避免 GC
|
|
79
|
+
4. **绘制调用合批** - 减少状态变更
|
|
80
|
+
5. **Web Workers** - 卸载繁重计算
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. 资产策略
|
|
85
|
+
|
|
86
|
+
### 压缩格式
|
|
87
|
+
|
|
88
|
+
| 类型 | 格式 |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| 纹理 | KTX2 + Basis Universal |
|
|
91
|
+
| 音频 | WebM/Opus(回退:MP3) |
|
|
92
|
+
| 3D 模型 | glTF + Draco/Meshopt |
|
|
93
|
+
|
|
94
|
+
### 加载策略
|
|
95
|
+
|
|
96
|
+
| 阶段 | 加载 |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| 启动 | 核心资产,<2MB |
|
|
99
|
+
| 游戏过程 | 按需流式传输 |
|
|
100
|
+
| 后台 | 预取下一关 |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 5. 游戏的 PWA
|
|
105
|
+
|
|
106
|
+
### 优势
|
|
107
|
+
|
|
108
|
+
- 离线游玩
|
|
109
|
+
- 安装到主屏幕
|
|
110
|
+
- 全屏模式
|
|
111
|
+
- 推送通知
|
|
112
|
+
|
|
113
|
+
### 要求
|
|
114
|
+
|
|
115
|
+
- Service worker 用于缓存
|
|
116
|
+
- Web app manifest
|
|
117
|
+
- HTTPS
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 6. 音频处理
|
|
122
|
+
|
|
123
|
+
### 浏览器要求
|
|
124
|
+
|
|
125
|
+
- 音频上下文需要用户交互
|
|
126
|
+
- 在首次点击/轻触时创建 AudioContext
|
|
127
|
+
- 如果挂起则恢复上下文
|
|
128
|
+
|
|
129
|
+
### 最佳实践
|
|
130
|
+
|
|
131
|
+
- 使用 Web Audio API
|
|
132
|
+
- 池化音频源
|
|
133
|
+
- 预加载常用声音
|
|
134
|
+
- 使用 WebM/Opus 压缩
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 7. 反模式
|
|
139
|
+
|
|
140
|
+
| ❌ 禁止 | ✅ 推荐 |
|
|
141
|
+
| --- | --- |
|
|
142
|
+
| 一次性加载所有资产 | 渐进式加载 |
|
|
143
|
+
| 忽略标签页可见性 | 隐藏时暂停 |
|
|
144
|
+
| 阻塞在音频加载上 | 懒加载音频 |
|
|
145
|
+
| 跳过压缩 | 压缩一切 |
|
|
146
|
+
| 假设快速连接 | 处理慢速网络 |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
> **记住:** 浏览器是最易访问的平台。尊重它的限制。
|