@musashishao/agent-kit 1.0.0
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.
Potentially problematic release.
This version of @musashishao/agent-kit might be problematic. Click here for more details.
- 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 +487 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/ARCHITECTURE.md +225 -0
- package/.agent/CONTEXT.md +229 -0
- package/.agent/FEATURE_ROADMAP.md +435 -0
- package/.agent/PROMPT_TEMPLATES.md +261 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/database-architect.md +226 -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 +556 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/project-planner.md +403 -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/rules/GEMINI.md +251 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -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 +71 -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 +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -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 +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/database-design/SKILL.md +52 -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 +48 -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/docker-expert/SKILL.md +409 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend-design/SKILL.md +396 -0
- package/.agent/skills/frontend-design/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/color-system.md +311 -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 +722 -0
- package/.agent/skills/frontend-design/typography-system.md +345 -0
- package/.agent/skills/frontend-design/ux-psychology.md +541 -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 +156 -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/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -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 +357 -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 +433 -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/nestjs-expert/SKILL.md +552 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -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 +167 -0
- package/.agent/skills/prisma-expert/SKILL.md +355 -0
- package/.agent/skills/python-patterns/SKILL.md +441 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -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/typescript-expert/SKILL.md +429 -0
- package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
- package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -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 +237 -0
- package/.agent/workflows/plan.md +89 -0
- package/.agent/workflows/preview.md +80 -0
- package/.agent/workflows/status.md +86 -0
- package/.agent/workflows/test.md +144 -0
- package/.agent/workflows/ui-ux-pro-max.md +231 -0
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/bin/cli.js +235 -0
- package/index.js +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-games
|
|
3
|
+
description: Mobile game development principles. Touch input, battery, performance, app stores.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Mobile Game Development
|
|
8
|
+
|
|
9
|
+
> Platform constraints and optimization principles.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Platform Considerations
|
|
14
|
+
|
|
15
|
+
### Key Constraints
|
|
16
|
+
|
|
17
|
+
| Constraint | Strategy |
|
|
18
|
+
|------------|----------|
|
|
19
|
+
| **Touch input** | Large hit areas, gestures |
|
|
20
|
+
| **Battery** | Limit CPU/GPU usage |
|
|
21
|
+
| **Thermal** | Throttle when hot |
|
|
22
|
+
| **Screen size** | Responsive UI |
|
|
23
|
+
| **Interruptions** | Pause on background |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Touch Input Principles
|
|
28
|
+
|
|
29
|
+
### Touch vs Controller
|
|
30
|
+
|
|
31
|
+
| Touch | Desktop/Console |
|
|
32
|
+
|-------|-----------------|
|
|
33
|
+
| Imprecise | Precise |
|
|
34
|
+
| Occludes screen | No occlusion |
|
|
35
|
+
| Limited buttons | Many buttons |
|
|
36
|
+
| Gestures available | Buttons/sticks |
|
|
37
|
+
|
|
38
|
+
### Best Practices
|
|
39
|
+
|
|
40
|
+
- Minimum touch target: 44x44 points
|
|
41
|
+
- Visual feedback on touch
|
|
42
|
+
- Avoid precise timing requirements
|
|
43
|
+
- Support both portrait and landscape
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Performance Targets
|
|
48
|
+
|
|
49
|
+
### Thermal Management
|
|
50
|
+
|
|
51
|
+
| Action | Trigger |
|
|
52
|
+
|--------|---------|
|
|
53
|
+
| Reduce quality | Device warm |
|
|
54
|
+
| Limit FPS | Device hot |
|
|
55
|
+
| Pause effects | Critical temp |
|
|
56
|
+
|
|
57
|
+
### Battery Optimization
|
|
58
|
+
|
|
59
|
+
- 30 FPS often sufficient
|
|
60
|
+
- Sleep when paused
|
|
61
|
+
- Minimize GPS/network
|
|
62
|
+
- Dark mode saves OLED battery
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 4. App Store Requirements
|
|
67
|
+
|
|
68
|
+
### iOS (App Store)
|
|
69
|
+
|
|
70
|
+
| Requirement | Note |
|
|
71
|
+
|-------------|------|
|
|
72
|
+
| Privacy labels | Required |
|
|
73
|
+
| Account deletion | If account creation exists |
|
|
74
|
+
| Screenshots | For all device sizes |
|
|
75
|
+
|
|
76
|
+
### Android (Google Play)
|
|
77
|
+
|
|
78
|
+
| Requirement | Note |
|
|
79
|
+
|-------------|------|
|
|
80
|
+
| Target API | Current year's SDK |
|
|
81
|
+
| 64-bit | Required |
|
|
82
|
+
| App bundles | Recommended |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 5. Monetization Models
|
|
87
|
+
|
|
88
|
+
| Model | Best For |
|
|
89
|
+
|-------|----------|
|
|
90
|
+
| **Premium** | Quality games, loyal audience |
|
|
91
|
+
| **Free + IAP** | Casual, progression-based |
|
|
92
|
+
| **Ads** | Hyper-casual, high volume |
|
|
93
|
+
| **Subscription** | Content updates, multiplayer |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 6. Anti-Patterns
|
|
98
|
+
|
|
99
|
+
| ❌ Don't | ✅ Do |
|
|
100
|
+
|----------|-------|
|
|
101
|
+
| Desktop controls on mobile | Design for touch |
|
|
102
|
+
| Ignore battery drain | Monitor thermals |
|
|
103
|
+
| Force landscape | Support player preference |
|
|
104
|
+
| Always-on network | Cache and sync |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
> **Remember:** Mobile is the most constrained platform. Respect battery and attention.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: multiplayer
|
|
3
|
+
description: Multiplayer game development principles. Architecture, networking, synchronization.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Multiplayer Game Development
|
|
8
|
+
|
|
9
|
+
> Networking architecture and synchronization principles.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Architecture Selection
|
|
14
|
+
|
|
15
|
+
### Decision Tree
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
What type of multiplayer?
|
|
19
|
+
│
|
|
20
|
+
├── Competitive / Real-time
|
|
21
|
+
│ └── Dedicated Server (authoritative)
|
|
22
|
+
│
|
|
23
|
+
├── Cooperative / Casual
|
|
24
|
+
│ └── Host-based (one player is server)
|
|
25
|
+
│
|
|
26
|
+
├── Turn-based
|
|
27
|
+
│ └── Client-server (simple)
|
|
28
|
+
│
|
|
29
|
+
└── Massive (MMO)
|
|
30
|
+
└── Distributed servers
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Comparison
|
|
34
|
+
|
|
35
|
+
| Architecture | Latency | Cost | Security |
|
|
36
|
+
|--------------|---------|------|----------|
|
|
37
|
+
| **Dedicated** | Low | High | Strong |
|
|
38
|
+
| **P2P** | Variable | Low | Weak |
|
|
39
|
+
| **Host-based** | Medium | Low | Medium |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. Synchronization Principles
|
|
44
|
+
|
|
45
|
+
### State vs Input
|
|
46
|
+
|
|
47
|
+
| Approach | Sync What | Best For |
|
|
48
|
+
|----------|-----------|----------|
|
|
49
|
+
| **State Sync** | Game state | Simple, few objects |
|
|
50
|
+
| **Input Sync** | Player inputs | Action games |
|
|
51
|
+
| **Hybrid** | Both | Most games |
|
|
52
|
+
|
|
53
|
+
### Lag Compensation
|
|
54
|
+
|
|
55
|
+
| Technique | Purpose |
|
|
56
|
+
|-----------|---------|
|
|
57
|
+
| **Prediction** | Client predicts server |
|
|
58
|
+
| **Interpolation** | Smooth remote players |
|
|
59
|
+
| **Reconciliation** | Fix mispredictions |
|
|
60
|
+
| **Lag compensation** | Rewind for hit detection |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. Network Optimization
|
|
65
|
+
|
|
66
|
+
### Bandwidth Reduction
|
|
67
|
+
|
|
68
|
+
| Technique | Savings |
|
|
69
|
+
|-----------|---------|
|
|
70
|
+
| **Delta compression** | Send only changes |
|
|
71
|
+
| **Quantization** | Reduce precision |
|
|
72
|
+
| **Priority** | Important data first |
|
|
73
|
+
| **Area of interest** | Only nearby entities |
|
|
74
|
+
|
|
75
|
+
### Update Rates
|
|
76
|
+
|
|
77
|
+
| Type | Rate |
|
|
78
|
+
|------|------|
|
|
79
|
+
| Position | 20-60 Hz |
|
|
80
|
+
| Health | On change |
|
|
81
|
+
| Inventory | On change |
|
|
82
|
+
| Chat | On send |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 4. Security Principles
|
|
87
|
+
|
|
88
|
+
### Server Authority
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Client: "I hit the enemy"
|
|
92
|
+
Server: Validate → did projectile actually hit?
|
|
93
|
+
→ was player in valid state?
|
|
94
|
+
→ was timing possible?
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Anti-Cheat
|
|
98
|
+
|
|
99
|
+
| Cheat | Prevention |
|
|
100
|
+
|-------|------------|
|
|
101
|
+
| Speed hack | Server validates movement |
|
|
102
|
+
| Aimbot | Server validates sight line |
|
|
103
|
+
| Item dupe | Server owns inventory |
|
|
104
|
+
| Wall hack | Don't send hidden data |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 5. Matchmaking
|
|
109
|
+
|
|
110
|
+
### Considerations
|
|
111
|
+
|
|
112
|
+
| Factor | Impact |
|
|
113
|
+
|--------|--------|
|
|
114
|
+
| **Skill** | Fair matches |
|
|
115
|
+
| **Latency** | Playable connection |
|
|
116
|
+
| **Wait time** | Player patience |
|
|
117
|
+
| **Party size** | Group play |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 6. Anti-Patterns
|
|
122
|
+
|
|
123
|
+
| ❌ Don't | ✅ Do |
|
|
124
|
+
|----------|-------|
|
|
125
|
+
| Trust the client | Server is authority |
|
|
126
|
+
| Send everything | Send only necessary |
|
|
127
|
+
| Ignore latency | Design for 100-200ms |
|
|
128
|
+
| Sync exact positions | Interpolate/predict |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
> **Remember:** Never trust the client. The server is the source of truth.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pc-games
|
|
3
|
+
description: PC and console game development principles. Engine selection, platform features, optimization strategies.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# PC/Console Game Development
|
|
8
|
+
|
|
9
|
+
> Engine selection and platform-specific principles.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Engine Selection
|
|
14
|
+
|
|
15
|
+
### Decision Tree
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
What are you building?
|
|
19
|
+
│
|
|
20
|
+
├── 2D Game
|
|
21
|
+
│ ├── Open source important? → Godot
|
|
22
|
+
│ └── Large team/assets? → Unity
|
|
23
|
+
│
|
|
24
|
+
├── 3D Game
|
|
25
|
+
│ ├── AAA visual quality? → Unreal
|
|
26
|
+
│ ├── Cross-platform priority? → Unity
|
|
27
|
+
│ └── Indie/open source? → Godot 4
|
|
28
|
+
│
|
|
29
|
+
└── Specific Needs
|
|
30
|
+
├── DOTS performance? → Unity
|
|
31
|
+
├── Nanite/Lumen? → Unreal
|
|
32
|
+
└── Lightweight? → Godot
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Comparison
|
|
36
|
+
|
|
37
|
+
| Factor | Unity 6 | Godot 4 | Unreal 5 |
|
|
38
|
+
|--------|---------|---------|----------|
|
|
39
|
+
| 2D | Good | Excellent | Limited |
|
|
40
|
+
| 3D | Good | Good | Excellent |
|
|
41
|
+
| Learning | Medium | Easy | Hard |
|
|
42
|
+
| Cost | Revenue share | Free | 5% after $1M |
|
|
43
|
+
| Team | Any | Solo-Medium | Medium-Large |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2. Platform Features
|
|
48
|
+
|
|
49
|
+
### Steam Integration
|
|
50
|
+
|
|
51
|
+
| Feature | Purpose |
|
|
52
|
+
|---------|---------|
|
|
53
|
+
| Achievements | Player goals |
|
|
54
|
+
| Cloud Saves | Cross-device progress |
|
|
55
|
+
| Leaderboards | Competition |
|
|
56
|
+
| Workshop | User mods |
|
|
57
|
+
| Rich Presence | Show in-game status |
|
|
58
|
+
|
|
59
|
+
### Console Requirements
|
|
60
|
+
|
|
61
|
+
| Platform | Certification |
|
|
62
|
+
|----------|--------------|
|
|
63
|
+
| PlayStation | TRC compliance |
|
|
64
|
+
| Xbox | XR compliance |
|
|
65
|
+
| Nintendo | Lotcheck |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 3. Controller Support
|
|
70
|
+
|
|
71
|
+
### Input Abstraction
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Map ACTIONS, not buttons:
|
|
75
|
+
- "confirm" → A (Xbox), Cross (PS), B (Nintendo)
|
|
76
|
+
- "cancel" → B (Xbox), Circle (PS), A (Nintendo)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Haptic Feedback
|
|
80
|
+
|
|
81
|
+
| Intensity | Use |
|
|
82
|
+
|-----------|-----|
|
|
83
|
+
| Light | UI feedback |
|
|
84
|
+
| Medium | Impacts |
|
|
85
|
+
| Heavy | Major events |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 4. Performance Optimization
|
|
90
|
+
|
|
91
|
+
### Profiling First
|
|
92
|
+
|
|
93
|
+
| Engine | Tool |
|
|
94
|
+
|--------|------|
|
|
95
|
+
| Unity | Profiler Window |
|
|
96
|
+
| Godot | Debugger → Profiler |
|
|
97
|
+
| Unreal | Unreal Insights |
|
|
98
|
+
|
|
99
|
+
### Common Bottlenecks
|
|
100
|
+
|
|
101
|
+
| Bottleneck | Solution |
|
|
102
|
+
|------------|----------|
|
|
103
|
+
| Draw calls | Batching, atlases |
|
|
104
|
+
| GC spikes | Object pooling |
|
|
105
|
+
| Physics | Simpler colliders |
|
|
106
|
+
| Shaders | LOD shaders |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 5. Engine-Specific Principles
|
|
111
|
+
|
|
112
|
+
### Unity 6
|
|
113
|
+
|
|
114
|
+
- DOTS for performance-critical systems
|
|
115
|
+
- Burst compiler for hot paths
|
|
116
|
+
- Addressables for asset streaming
|
|
117
|
+
|
|
118
|
+
### Godot 4
|
|
119
|
+
|
|
120
|
+
- GDScript for rapid iteration
|
|
121
|
+
- C# for complex logic
|
|
122
|
+
- Signals for decoupling
|
|
123
|
+
|
|
124
|
+
### Unreal 5
|
|
125
|
+
|
|
126
|
+
- Blueprint for designers
|
|
127
|
+
- C++ for performance
|
|
128
|
+
- Nanite for high-poly environments
|
|
129
|
+
- Lumen for dynamic lighting
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 6. Anti-Patterns
|
|
134
|
+
|
|
135
|
+
| ❌ Don't | ✅ Do |
|
|
136
|
+
|----------|-------|
|
|
137
|
+
| Choose engine by hype | Choose by project needs |
|
|
138
|
+
| Ignore platform guidelines | Study certification requirements |
|
|
139
|
+
| Hardcode input buttons | Abstract to actions |
|
|
140
|
+
| Skip profiling | Profile early and often |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
> **Remember:** Engine is a tool. Master the principles, then adapt to any engine.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-ar
|
|
3
|
+
description: VR/AR development principles. Comfort, interaction, performance requirements.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# VR/AR Development
|
|
8
|
+
|
|
9
|
+
> Immersive experience principles.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Platform Selection
|
|
14
|
+
|
|
15
|
+
### VR Platforms
|
|
16
|
+
|
|
17
|
+
| Platform | Use Case |
|
|
18
|
+
|----------|----------|
|
|
19
|
+
| **Quest** | Standalone, wireless |
|
|
20
|
+
| **PCVR** | High fidelity |
|
|
21
|
+
| **PSVR** | Console market |
|
|
22
|
+
| **WebXR** | Browser-based |
|
|
23
|
+
|
|
24
|
+
### AR Platforms
|
|
25
|
+
|
|
26
|
+
| Platform | Use Case |
|
|
27
|
+
|----------|----------|
|
|
28
|
+
| **ARKit** | iOS devices |
|
|
29
|
+
| **ARCore** | Android devices |
|
|
30
|
+
| **WebXR** | Browser AR |
|
|
31
|
+
| **HoloLens** | Enterprise |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Comfort Principles
|
|
36
|
+
|
|
37
|
+
### Motion Sickness Prevention
|
|
38
|
+
|
|
39
|
+
| Cause | Solution |
|
|
40
|
+
|-------|----------|
|
|
41
|
+
| **Locomotion** | Teleport, snap turn |
|
|
42
|
+
| **Low FPS** | Maintain 90 FPS |
|
|
43
|
+
| **Camera shake** | Avoid or minimize |
|
|
44
|
+
| **Rapid acceleration** | Gradual movement |
|
|
45
|
+
|
|
46
|
+
### Comfort Settings
|
|
47
|
+
|
|
48
|
+
- Vignette during movement
|
|
49
|
+
- Snap vs smooth turning
|
|
50
|
+
- Seated vs standing modes
|
|
51
|
+
- Height calibration
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 3. Performance Requirements
|
|
56
|
+
|
|
57
|
+
### Target Metrics
|
|
58
|
+
|
|
59
|
+
| Platform | FPS | Resolution |
|
|
60
|
+
|----------|-----|------------|
|
|
61
|
+
| Quest 2 | 72-90 | 1832x1920 |
|
|
62
|
+
| Quest 3 | 90-120 | 2064x2208 |
|
|
63
|
+
| PCVR | 90 | 2160x2160+ |
|
|
64
|
+
| PSVR2 | 90-120 | 2000x2040 |
|
|
65
|
+
|
|
66
|
+
### Frame Budget
|
|
67
|
+
|
|
68
|
+
- VR requires consistent frame times
|
|
69
|
+
- Single dropped frame = visible judder
|
|
70
|
+
- 90 FPS = 11.11ms budget
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4. Interaction Principles
|
|
75
|
+
|
|
76
|
+
### Controller Interaction
|
|
77
|
+
|
|
78
|
+
| Type | Use |
|
|
79
|
+
|------|-----|
|
|
80
|
+
| **Point + click** | UI, distant objects |
|
|
81
|
+
| **Grab** | Manipulation |
|
|
82
|
+
| **Gesture** | Magic, special actions |
|
|
83
|
+
| **Physical** | Throwing, swinging |
|
|
84
|
+
|
|
85
|
+
### Hand Tracking
|
|
86
|
+
|
|
87
|
+
- More immersive but less precise
|
|
88
|
+
- Good for: social, casual
|
|
89
|
+
- Challenging for: action, precision
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 5. Spatial Design
|
|
94
|
+
|
|
95
|
+
### World Scale
|
|
96
|
+
|
|
97
|
+
- 1 unit = 1 meter (critical)
|
|
98
|
+
- Objects must feel right size
|
|
99
|
+
- Test with real measurements
|
|
100
|
+
|
|
101
|
+
### Depth Cues
|
|
102
|
+
|
|
103
|
+
| Cue | Importance |
|
|
104
|
+
|-----|------------|
|
|
105
|
+
| Stereo | Primary depth |
|
|
106
|
+
| Motion parallax | Secondary |
|
|
107
|
+
| Shadows | Grounding |
|
|
108
|
+
| Occlusion | Layering |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 6. Anti-Patterns
|
|
113
|
+
|
|
114
|
+
| ❌ Don't | ✅ Do |
|
|
115
|
+
|----------|-------|
|
|
116
|
+
| Move camera without player | Player controls camera |
|
|
117
|
+
| Drop below 90 FPS | Maintain frame rate |
|
|
118
|
+
| Use tiny UI text | Large, readable text |
|
|
119
|
+
| Ignore arm length | Scale to player reach |
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
> **Remember:** Comfort is not optional. Sick players don't play.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-games
|
|
3
|
+
description: Web browser game development principles. Framework selection, WebGPU, optimization, PWA.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web Browser Game Development
|
|
8
|
+
|
|
9
|
+
> Framework selection and browser-specific principles.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Framework Selection
|
|
14
|
+
|
|
15
|
+
### Decision Tree
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
What type of game?
|
|
19
|
+
│
|
|
20
|
+
├── 2D Game
|
|
21
|
+
│ ├── Full game engine features? → Phaser
|
|
22
|
+
│ └── Raw rendering power? → PixiJS
|
|
23
|
+
│
|
|
24
|
+
├── 3D Game
|
|
25
|
+
│ ├── Full engine (physics, XR)? → Babylon.js
|
|
26
|
+
│ └── Rendering focused? → Three.js
|
|
27
|
+
│
|
|
28
|
+
└── Hybrid / Canvas
|
|
29
|
+
└── Custom → Raw Canvas/WebGL
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Comparison (2025)
|
|
33
|
+
|
|
34
|
+
| Framework | Type | Best For |
|
|
35
|
+
|-----------|------|----------|
|
|
36
|
+
| **Phaser 4** | 2D | Full game features |
|
|
37
|
+
| **PixiJS 8** | 2D | Rendering, UI |
|
|
38
|
+
| **Three.js** | 3D | Visualizations, lightweight |
|
|
39
|
+
| **Babylon.js 7** | 3D | Full engine, XR |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 2. WebGPU Adoption
|
|
44
|
+
|
|
45
|
+
### Browser Support (2025)
|
|
46
|
+
|
|
47
|
+
| Browser | Support |
|
|
48
|
+
|---------|---------|
|
|
49
|
+
| Chrome | ✅ Since v113 |
|
|
50
|
+
| Edge | ✅ Since v113 |
|
|
51
|
+
| Firefox | ✅ Since v131 |
|
|
52
|
+
| Safari | ✅ Since 18.0 |
|
|
53
|
+
| **Total** | **~73%** global |
|
|
54
|
+
|
|
55
|
+
### Decision
|
|
56
|
+
|
|
57
|
+
- **New projects**: Use WebGPU with WebGL fallback
|
|
58
|
+
- **Legacy support**: Start with WebGL
|
|
59
|
+
- **Feature detection**: Check `navigator.gpu`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 3. Performance Principles
|
|
64
|
+
|
|
65
|
+
### Browser Constraints
|
|
66
|
+
|
|
67
|
+
| Constraint | Strategy |
|
|
68
|
+
|------------|----------|
|
|
69
|
+
| No local file access | Asset bundling, CDN |
|
|
70
|
+
| Tab throttling | Pause when hidden |
|
|
71
|
+
| Mobile data limits | Compress assets |
|
|
72
|
+
| Audio autoplay | Require user interaction |
|
|
73
|
+
|
|
74
|
+
### Optimization Priority
|
|
75
|
+
|
|
76
|
+
1. **Asset compression** - KTX2, Draco, WebP
|
|
77
|
+
2. **Lazy loading** - Load on demand
|
|
78
|
+
3. **Object pooling** - Avoid GC
|
|
79
|
+
4. **Draw call batching** - Reduce state changes
|
|
80
|
+
5. **Web Workers** - Offload heavy computation
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 4. Asset Strategy
|
|
85
|
+
|
|
86
|
+
### Compression Formats
|
|
87
|
+
|
|
88
|
+
| Type | Format |
|
|
89
|
+
|------|--------|
|
|
90
|
+
| Textures | KTX2 + Basis Universal |
|
|
91
|
+
| Audio | WebM/Opus (fallback: MP3) |
|
|
92
|
+
| 3D Models | glTF + Draco/Meshopt |
|
|
93
|
+
|
|
94
|
+
### Loading Strategy
|
|
95
|
+
|
|
96
|
+
| Phase | Load |
|
|
97
|
+
|-------|------|
|
|
98
|
+
| Startup | Core assets, <2MB |
|
|
99
|
+
| Gameplay | Stream on demand |
|
|
100
|
+
| Background | Prefetch next level |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 5. PWA for Games
|
|
105
|
+
|
|
106
|
+
### Benefits
|
|
107
|
+
|
|
108
|
+
- Offline play
|
|
109
|
+
- Install to home screen
|
|
110
|
+
- Full screen mode
|
|
111
|
+
- Push notifications
|
|
112
|
+
|
|
113
|
+
### Requirements
|
|
114
|
+
|
|
115
|
+
- Service worker for caching
|
|
116
|
+
- Web app manifest
|
|
117
|
+
- HTTPS
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 6. Audio Handling
|
|
122
|
+
|
|
123
|
+
### Browser Requirements
|
|
124
|
+
|
|
125
|
+
- Audio context requires user interaction
|
|
126
|
+
- Create AudioContext on first click/tap
|
|
127
|
+
- Resume context if suspended
|
|
128
|
+
|
|
129
|
+
### Best Practices
|
|
130
|
+
|
|
131
|
+
- Use Web Audio API
|
|
132
|
+
- Pool audio sources
|
|
133
|
+
- Preload common sounds
|
|
134
|
+
- Compress with WebM/Opus
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 7. Anti-Patterns
|
|
139
|
+
|
|
140
|
+
| ❌ Don't | ✅ Do |
|
|
141
|
+
|----------|-------|
|
|
142
|
+
| Load all assets upfront | Progressive loading |
|
|
143
|
+
| Ignore tab visibility | Pause when hidden |
|
|
144
|
+
| Block on audio load | Lazy load audio |
|
|
145
|
+
| Skip compression | Compress everything |
|
|
146
|
+
| Assume fast connection | Handle slow networks |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
> **Remember:** Browser is the most accessible platform. Respect its constraints.
|