Double strike does not compress everything into one step. Instead, it grants the creature participation in two distinct combat damage steps: the first strike combat damage step and the regular combat damage step. This is defined in CR 702.4b, which states that a creature with double strike assigns damage in the first strike combat damage step and again in the regular combat damage step.
The first strike combat damage step (CR 510) occurs before the regular combat damage step (CR 511). In the first strike step, only creatures with first strike or double strike assign and deal damage. Then, assuming the game continues, a second combat damage step occurs in which creatures without first strike — plus those with double strike — assign and deal damage again.
This matters enormously for game play. A creature with double strike that is lethal enough to kill a blocker in the first strike step may destroy that blocker before the blocker can deal damage back in the regular step. Meanwhile, a creature with only first strike participates exclusively in the first strike damage step and skips the regular step entirely (CR 702.7b).
Concrete example: You attack with a 2/2 creature with double strike. Your opponent blocks with a 2/2 creature with no special abilities. In the first strike combat damage step, your 2/2 deals 2 damage, reducing the blocker to 0 toughness; it dies immediately after that step. In the regular combat damage step, your 2/2 swings again for 2 more damage — but since the blocker is already gone, that damage hits an empty slot (no creature to deal it to, so it's simply not dealt to a creature). Your creature survives with no damage marked on it.
So the key takeaway: double strike means two separate damage steps, not one combined step. The creature is a participant in both CR 510 and CR 511 combat damage steps.
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.