본문으로 건너뛰기
cccskills
무료GitHub에 공개

godot-genre-card-game

Expert blueprint for digital card games (CCG/Deckbuilders) including card data structures (Resource-based), deck management (draw/discard/reshuffle), turn logic, hand layout (arcing), drag-and-drop UI, effect resolution (Command pattern), and visual polish (godot-tweening, shaders). Use for CCG, deckbuilders, or tactical card games. Trigger keywords: card_game, deck_manager, card_data, hand_layout, drag_drop_cards, effect_resolution, command_pattern, draw_pile, discard_pile.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(17)

  • SKILL.md12.0 KB
  • references/expert-card-patterns.md5.5 KB
  • references/migration-notes.md3.5 KB
  • scripts/board_query_filter.gd1.2 KB
  • scripts/board_state_dictionary.gd1.3 KB
  • scripts/card_data_resource.gd1.4 KB
  • scripts/card_data.gd1.9 KB
  • scripts/card_drag_drop.gd1.4 KB
  • scripts/card_effect_resolution.gd3.0 KB
  • scripts/card_history_logger.gd418 B
  • scripts/card_tween_manager.gd1.3 KB
  • scripts/deck_builder_validator.gd1.4 KB
  • scripts/deck_shuffle_bag.gd1.4 KB
  • scripts/hand_manager.gd457 B
  • scripts/match_state_resetter.gd1.2 KB
  • scripts/reactive_card_ui.gd1.2 KB
  • scripts/turn_state_machine.gd1.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

NEVER Do (Expert Anti-Patterns)

Logic & Architecture

  • NEVER hardcode card logic inside UI scripts; strictly encapsulate gameplay effects in Callable objects or Command resources pushed to a LIFO stack.
  • NEVER perform board-state calculations (Power/Toughness) in _process(); strictly use Signal-driven triggers or a centralized EffectStack resolver.
  • NEVER forget LIFO Stack Resolution; strictly use Array.push_back() and Array.pop_back() to resolve reactions from top-to-bottom.

UX & Animation

  • NEVER skip Z-Index management during drag-and-drop; strictly raise the card to the front on click to prevent it sliding under other cards.
  • NEVER allow instant card "teleportation" between piles; strictly use create_tween() / tween_property chains (0.2s+) for pile moves.
  • NEVER use global_position for cards in hand; strictly position them using a Curve2D layout with sample_baked() for smooth arcs.

Deck & State Management

  • NEVER forget to handle Empty Deck scenarios; strictly implement auto-reshuffle of the discard pile to prevent soft-locks.
  • NEVER use floating point numbers for discrete card stats; strictly use int for Costs, Attack, and Health to avoid precision drift.
  • NEVER use standard Control nodes for mass tokens/battlefields; strictly use _draw() custom drawing to bypass SceneTree overhead when rendering 100+ cards or map icons.
  • NEVER rely on SceneTree order for hand logic; strictly manage logical order in an Array and update visuals via queue_redraw().
  • NEVER erase array elements during a standard for loop; strictly iterate in reverse or use filter() to avoid indexing errors.
  • NEVER forget to provide parameterless constructors in _init(); otherwise, Resources will fail to load in the Inspector.

🛠 Expert Components (scripts/)

MANDATORY reads before implementing the matching system:

  1. card_effect_resolution.gd — LIFO effect stack (push_back / pop_back)
  2. card_tween_manager.gd — interruptible pile/hand Tweens (no teleports)
  3. card_data_resource.gd — Inspector-safe Resource card definitions

Original Expert Patterns

Modular Components


Core Loop

  1. Draw → 2. Evaluate → 3. Play → 4. Resolve (LIFO stack) → 5. Discard/End

Decision Trees

Effect stack

NeedAction
Nested reactions / countersMANDATORY card_effect_resolution.gd — LIFO only (pop_back)
FIFO sequential animations onlyRare; keep a separate queue — do not reuse the reaction stack

Hand & board

NeedAction
Arc hand layoutCurve2D.sample_baked + card_tween_manager.gd
Drag targetingcard_drag_drop.gd
Dense boards (100+ icons)_draw() / board_state_dictionary.gd — not Control-per-token

Data

NeedAction
Card definitionsMANDATORY card_data_resource.gd (parameterless _init)
Deck RNGdeck_shuffle_bag.gd
Turn phasesturn_state_machine.gd

Skill Chain

PhaseSkillsPurpose
1. Dataresources, custom-resourcesCard properties (Cost, Type, Effect)
2. UIcontrol-nodes, layout-containersHand layout, tooltips
3. Inputdrag-and-drop, state-machinesTargeting, hovering
4. Logiccommand-pattern, signalsLIFO stack, turn phases
5. Polishgodot-tweening, shadersDraw juice, foils

Common Pitfalls

PitfallSolution
FIFO pop_front on reaction stackUse LIFO pop_back in card_effect_resolution.gd
Instant pile snapsTween via card_tween_manager.gd
Float ATK/HPUse int stats on Resources

Elite notes (optional polish)

  • Holographic foil: UV scroll shader on card Control — not required for stack correctness.
  • Card history: signal bus logger for replay/debug; keep off the hot resolve path.

Expert knowledge (on demand)

LLM-ignorance rule: If a general agent would not know it before reading, load the reference — never delete expert deltas.

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

  • Resources — CardData as .tres Resources so designers edit cost/stats without touching UI scripts.
  • GDScript exports — @export / @export_group patterns that drive Inspector-authored card definitions.
  • Control — _get_drag_data / _can_drop_data / _drop_data and set_drag_preview for native card drag-and-drop.
  • Custom GUI controls — building interactive card faces with _gui_input, mouse_filter, and _draw for dense boards.
  • Size and anchors — anchoring hand/board zones so layouts survive resolution changes.
  • Using Containers — when HBox/Grid help deck-builder grids vs manual hand arcing.
  • Tween — interruptible create_tween() / tween_property juice for draw, play, and discard moves.
  • Beziers, curves and paths — math behind arcing hand layouts instead of circular fudge factors.
  • Curve2D — sample_baked() for smooth non-circular fan positions and rotations.
  • Random number generation — seeded RNG and shuffle-bag fairness for draw piles.
  • Using signals — Resource changed and effect-stack signals that keep UI reactive without _process polling.
  • Your first 2D shader — canvas_item foil/rarity shaders on card faces.

Related Skills

Prerequisites

  • godot-project-foundations — scene tree, Autoloads, and import basics before wiring DeckManager and card scenes.
  • godot-resource-data-patterns — .tres ownership, duplication, and emit_changed so match buffs never leak into authored card files.
  • godot-gdscript-mastery — typed Arrays, Callables/Commands, and match phases used by effect stacks and turn machines.
  • godot-ui-containers — Control layout, anchors, and mouse_filter habits required for hand/board hit-testing.

Complements

  • godot-tweening — kill/parallel Tween patterns so rapid plays do not teleport or stack dead tweens.
  • godot-signal-architecture — bus/signal graphs for draw, play, resolve, and discard without UI owning game rules.
  • godot-input-handling — pointer vs action maps when cards share the viewport with keyboard shortcuts and accessibility drag.
  • godot-turn-system — Draw/Main/Combat/End phase ownership that this skill's turn state machine plugs into.
  • godot-shaders-basics — canvas_item rarity foils and highlight materials beyond the skill's starter hologram snippet.

Downstream / consumers

  • godot-monte-carlo-balancer — simulate mulligans, mana curves, and win-rate vs cost/power so card stats stay fair under RNG.
  • godot-genre-roguelike — run-based deckbuilders that consume CardData, shops, and per-act draft pools.
  • godot-inventory-system — collection/deck-builder UIs that persist owned cards separately from the in-match piles.
  • godot-ability-system — keyword/status effects (Poison, Taunt, Shield) resolved as reusable ability resources on the stack.

Master

  • godot-master — library router and mirrored module entry for cross-skill discovery.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

Spawn and tune Bevy 0.20 directional, point, and spot lights, cascade shadows, distance fog, and a nearest-light shadow budget. Use when a 3D scene needs a sun, local lights, or fog on the camera. Keywords: DirectionalLight, PointLight, SpotLight, CascadeShadowConfig, DistanceFog, bevy_light.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

Rewrite Bevy 2D actors and cameras into 3D meshes and Camera3d while keeping gameplay components. Use when a Bevy 2D game should gain a perspective camera, mesh draw, and a planar velocity lifted onto XZ. Keywords: Camera2d, Camera3d, Sprite, Mesh3d, StandardMaterial, WishVelocity.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

thedivergentai/Game-Dev-Agentic-Skills8872026년 10월 17일 업데이트

thedivergentai의 스킬 모두 보기

이 스킬의 문제 신고