[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71C40EX18PABR5AH6SBBPCM":3,"skill-same:01M71C40EX18PABR5AH6SBBPCM":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":14,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M71C40EX18PABR5AH6SBBPCM","2d-games",null,"2D game development principles. Sprites, tilemaps, physics, camera.","yqecea\u002Fgem-swarm","yqecea","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F196189405?v=4","01M71C12KWH5QPTE12J69335KF","Yusuf","01M71C12MFS3BRGNE5SSHB4DY9",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fgame-development\u002F2d-games\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"games","2d games","2d","Game Development Principles","physics","development","game development","sprites","game","principles","read","write","edit","grep","camera","2026-11-10 10:12:30",false,"---\nname: 2d-games\ndescription: 2D game development principles. Sprites, tilemaps, physics, camera.\nallowed-tools: Read, Write, Edit, Glob, Grep\n---\n\n# 2D Game Development\n\n> Principles for 2D game systems.\n\n---\n\n## 1. Sprite Systems\n\n### Sprite Organization\n\n| Component | Purpose |\n|-----------|---------|\n| **Atlas** | Combine textures, reduce draw calls |\n| **Animation** | Frame sequences |\n| **Pivot** | Rotation\u002Fscale origin |\n| **Layering** | Z-order control |\n\n### Animation Principles\n\n- Frame rate: 8-24 FPS typical\n- Squash and stretch for impact\n- Anticipation before action\n- Follow-through after action\n\n---\n\n## 2. Tilemap Design\n\n### Tile Considerations\n\n| Factor | Recommendation |\n|--------|----------------|\n| **Size** | 16x16, 32x32, 64x64 |\n| **Auto-tiling** | Use for terrain |\n| **Collision** | Simplified shapes |\n\n### Layers\n\n| Layer | Content |\n|-------|---------|\n| Background | Non-interactive scenery |\n| Terrain | Walkable ground |\n| Props | Interactive objects |\n| Foreground | Parallax overlay |\n\n---\n\n## 3. 2D Physics\n\n### Collision Shapes\n\n| Shape | Use Case |\n|-------|----------|\n| Box | Rectangular objects |\n| Circle | Balls, rounded |\n| Capsule | Characters |\n| Polygon | Complex shapes |\n\n### Physics Considerations\n\n- Pixel-perfect vs physics-based\n- Fixed timestep for consistency\n- Layers for filtering\n\n---\n\n## 4. Camera Systems\n\n### Camera Types\n\n| Type | Use |\n|------|-----|\n| **Follow** | Track player |\n| **Look-ahead** | Anticipate movement |\n| **Multi-target** | Two-player |\n| **Room-based** | Metroidvania |\n\n### Screen Shake\n\n- Short duration (50-200ms)\n- Diminishing intensity\n- Use sparingly\n\n---\n\n## 5. Genre Patterns\n\n### Platformer\n\n- Coyote time (leniency after edge)\n- Jump buffering\n- Variable jump height\n\n### Top-down\n\n- 8-directional or free movement\n- Aim-based or auto-aim\n- Consider rotation or not\n\n---\n\n## 6. Anti-Patterns\n\n| ❌ Don't | ✅ Do |\n|----------|-------|\n| Separate textures | Use atlases |\n| Complex collision shapes | Simplified collision |\n| Jittery camera | Smooth following |\n| Pixel-perfect on physics | Choose one approach |\n\n---\n\n> **Remember:** 2D is about clarity. Every pixel should communicate.\n","# 2D Game Development\n\n> Principles for 2D game systems.\n\n---\n\n## 1. Sprite Systems\n\n### Sprite Organization\n\n| Component | Purpose |\n|-----------|---------|\n| **Atlas** | Combine textures, reduce draw calls |\n| **Animation** | Frame sequences |\n| **Pivot** | Rotation\u002Fscale origin |\n| **Layering** | Z-order control |\n\n### Animation Principles\n\n- Frame rate: 8-24 FPS typical\n- Squash and stretch for impact\n- Anticipation before action\n- Follow-through after action\n\n---\n\n## 2. Tilemap Design\n\n### Tile Considerations\n\n| Factor | Recommendation |\n|--------|----------------|\n| **Size** | 16x16, 32x32, 64x64 |\n| **Auto-tiling** | Use for terrain |\n| **Collision** | Simplified shapes |\n\n### Layers\n\n| Layer | Content |\n|-------|---------|\n| Background | Non-interactive scenery |\n| Terrain | Walkable ground |\n| Props | Interactive objects |\n| Foreground | Parallax overlay |\n\n---\n\n## 3. 2D Physics\n\n### Collision Shapes\n\n| Shape | Use Case |\n|-------|----------|\n| Box | Rectangular objects |\n| Circle | Balls, rounded |\n| Capsule | Characters |\n| Polygon | Complex shapes |\n\n### Physics Considerations\n\n- Pixel-perfect vs physics-based\n- Fixed timestep for consistency\n- Layers for filtering\n\n---\n\n## 4. Camera Systems\n\n### Camera Types\n\n| Type | Use |\n|------|-----|\n| **Follow** | Track player |\n| **Look-ahead** | Anticipate movement |\n| **Multi-target** | Two-player |\n| **Room-based** | Metroidvania |\n\n### Screen Shake\n\n- Short duration (50-200ms)\n- Diminishing intensity\n- Use sparingly\n\n---\n\n## 5. Genre Patterns\n\n### Platformer\n\n- Coyote time (leniency after edge)\n- Jump buffering\n- Variable jump height\n\n### Top-down\n\n- 8-directional or free movement\n- Aim-based or auto-aim\n- Consider rotation or not\n\n---\n\n## 6. Anti-Patterns\n\n| ❌ Don't | ✅ Do |\n|----------|-------|\n| Separate textures | Use atlases |\n| Complex collision shapes | Simplified collision |\n| Jittery camera | Smooth following |\n| Pixel-perfect on physics | Choose one approach |\n\n---\n\n> **Remember:** 2D is about clarity. Every pixel should communicate.\n",{"name":5,"description":7,"allowed-tools":39},"Read, Write, Edit, Glob, Grep","main","923c514d4d5e15bbfd65ec7eaf949a997679aa3e","src\u002Fskills\u002Fdomain\u002Fgame-development\u002F2d-games","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm","https:\u002F\u002Fgithub.com\u002Fyqecea","15 y.o Data Science,Student","2026-04-26 20:00:27",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add yqecea\u002Fgem-swarm --skill 2d-games",{"tool":53,"command":54},"bunx","bunx skills add yqecea\u002Fgem-swarm --skill 2d-games",{"tool":56,"command":57},"pnpm","pnpm dlx skills add yqecea\u002Fgem-swarm --skill 2d-games","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fdomain\u002Fgame-development\u002F2d-games\u002FSKILL.md",true,[],[62,76,90,101,113,138],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":34},"01M71C74XVPP23ST10E8MYJZA0","validation","Cross-cutting validation methodology for verifying phase outputs and project integrity","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fvalidation\u002FSKILL.md",[],[64,69,70,71,72,73,74,75],"validation methodology","for","project","outputs","phase","methodology","integrity",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":34},"01M71C72PTKRV481M975R3QDDE","session-management","Manages orchestration session state, tracking, and resumption","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fsession-management\u002FSKILL.md",[],[83,84,85,86,87,88,89],"session management","session","management","session state","orchestration","state","tracking",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":34},"01M71C6ZY1EGM4SGVYT4B2HHD7","implementation-planning","Generates detailed implementation plans from finalized designs","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fimplementation-planning\u002FSKILL.md",[],[97,98,99,100],"planning","implementation","implementation planning","plans",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":34},"01M71C6XQVGMDFJ50BP5SBDS76","execution","Phase execution methodology for orchestration workflows with error handling and completion protocols","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fexecution\u002FSKILL.md",[],[103,70,74,108,109,87,73,110,111,112],"error","workflows","protocols","error handling","with",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":129,"publishedAt":34},"01M71C6VY8APWMNK1XEJ3WP7A2","design-dialogue","Guides structured design conversations for complex engineering tasks","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fdesign-dialogue\u002FSKILL.md",[119,124],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[130,131,132,133,134,70,135,136,137],"dialogue","design","design dialogue","guides","conversations","tasks","engineering","structured",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":150,"publishedAt":34},"01M71C6R4RJWG3S2R26778TPD8","delegation","Agent delegation best practices for constructing effective subagent prompts with proper scoping","https:\u002F\u002Fgithub.com\u002Fyqecea\u002Fgem-swarm\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fshared\u002Fdelegation\u002FSKILL.md",[144,147],{"categoryNo":145,"categoryName":146,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":148,"categoryName":149,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000023","Skill与智能体开发",[140,151,152,70,153,112,154],"subagent","scoping","best practices","prompts"]