godot-genre-fighting

Installation
SKILL.md

NEVER Do (Expert Anti-Patterns)

Frame-Data & Logic

  • NEVER use variable framerates; strictly lock logic to a Deterministic Fixed Loop (using _physics_process with a frame-counter) and call reset_physics_interpolation() on teleport.
  • NEVER use standard Physics for hit detection; strictly use PhysicsDirectSpaceState.intersect_shape() to query hitboxes instantly without Area2D signal lag.
  • NEVER skip Damage Scaling; strictly apply 10% reduction per hit in a combo to prevent infinite matches.
  • NEVER make all moves safe on block; strictly ensure high-reward moves have Recovery Windows where the attacker is punishable.
  • NEVER rely on Area2D.get_overlapping_areas(); strictly use intersect_shape() for immediate, frame-perfect resolution.
  • NEVER forget Hitbox Proximity (Proximity Guard); strictly trigger guard states when a hitbox enters a nearby zone, even if it hasn't landed.

Character & Animation

  • NEVER use simple parenting (scale.x = -1) for character flip; strictly adjust the dedicated Visuals node while managing hitbox offsets programmatically.
  • NEVER use string-based animation triggers; strictly use AnimationMixer with ADVANCE_MANUAL for frame-synced playback.
  • NEVER use yield or await for frame-critical logic; strictly use Integer Frame Counting within state machines to manage recovery/startup windows perfectly.
  • NEVER store frame data in raw scripts; strictly use Resource files (.tres) with delegated logic for damage scaling, cancels, and combo-state tracking.
  • NEVER use deep node hierarchies for character parts; strictly keep skeletons shallow to reduce transformation overhead.
Installs
178
GitHub Stars
600
First Seen
Feb 10, 2026
godot-genre-fighting — thedivergentai/gd-agentic-skills