---
key: mechanic/melee-combat--t012
type: mechanic
id: melee-combat--t012
lang: en
title: Fighting games and duels
summary: >-
  A duel turns range, startup and recovery into exchanges of advantage: the
  player provokes an action and selects a response.
updatedAt: '2026-10-22'
status: active
url: 'https://gamemechanics.pro/en/knowledge/mechanic/melee-combat--t012/'
jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/mechanic/melee-combat--t012.json'
markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/mechanic/melee-combat--t012.md'
aliases: []
tags:
  - Melee and combat systems
  - Mechanics and variants
sourceIds:
  - source-3817d420df0baa92
  - source-e7703f0b61e1f579
  - source-b67a8fdac5557e73
sources:
  - id: source-3817d420df0baa92
    title: 'Robert Nystrom: State'
    url: >-
      https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown
    verifiedAt: null
  - id: source-e7703f0b61e1f579
    title: 'Godot: AnimationTree'
    url: >-
      https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html
    verifiedAt: null
  - id: source-b67a8fdac5557e73
    title: Street Fighter™ 6
    url: 'https://store.steampowered.com/app/1364780/'
    verifiedAt: null
relations:
  - type: uses
    direction: outgoing
    label: Sources in the selection
    key: resource/state-pattern
    title: 'State: Game Programming Patterns'
    url: 'https://gamemechanics.pro/en/resources/#resource-state-pattern'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/resource/state-pattern.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/resource/state-pattern.md'
placements:
  - catalogId: melee-combat
    id: t012
    title: Melee and combat systems
    url: 'https://gamemechanics.pro/en/mechanics/melee-combat/#t012'
    categoryIds:
      - mechanics
supersededBy: []
attributes:
  preview:
    updatedAt: '2026-10-22'
    title: Fighting games and duels
    description: >-
      A duel turns range, startup and recovery into exchanges of advantage: the
      player provokes an action and selects a response.
    image:
      src: images/mechanics/priority-street-fighter6-09.webp
      width: 1440
      height: 810
      game: Street Fighter™ 6
      sourceUrl: 'https://store.steampowered.com/app/1364780/'
      originalUrl: >-
        https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1364780/ss_201488fc9f1aa5e29e2fc6d96ef2b66e41ddf32e.1920x1080.jpg?t=1791866175
      credit: 'CAPCOM Co., Ltd.'
      rights: >-
        Game imagery © its respective rights holders. Publisher-distributed
        Steam screenshot; all rights reserved. Excluded from MIT and CC BY 4.0.
      caption: An airborne attack meets a low opponent position
      alt: An airborne attack meets a low opponent position
      markers:
        - x: 53
          'y': 50
          label: Attacking fighter in the air
        - x: 77
          'y': 74
          label: Second fighter’s low position
    tips:
      - 'Make range, startup and recovery distinguishable.'
    examples:
      - title: Street Fighter™ 6
        url: 'https://store.steampowered.com/app/1364780/'
endsAt: null
provenance: >-
  Original bilingual editorial overviews authored for gamemechanics.pro on
  2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design
  examples; prototype checks describe work to perform, not completed playtests.
  Primary sources support the stated techniques and implementation context, not
  every proposed variant.
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
catalogKey: catalog/melee-combat
---
# Fighting games and duels

id: melee-combat--t012
type: mechanic
key: mechanic/melee-combat--t012
lang: en
status: active
url: https://gamemechanics.pro/en/knowledge/mechanic/melee-combat--t012/

A duel turns range, startup and recovery into exchanges of advantage: the player provokes an action and selects a response.

## At a glance

![An airborne attack meets a low opponent position](https://gamemechanics.pro/images/mechanics/priority-street-fighter6-09.webp)

[Street Fighter™ 6](https://store.steampowered.com/app/1364780/) · Game imagery © its respective rights holders. Publisher-distributed Steam screenshot; all rights reserved. Excluded from MIT and CC BY 4.0.

1. Attacking fighter in the air
2. Second fighter’s low position

- Make range, startup and recovery distinguishable.

- [Street Fighter™ 6](https://store.steampowered.com/app/1364780/)

## How it works

A duel turns range, startup and recovery into exchanges of advantage: the player provokes an action and selects a response.

## Variants

### Mechanic variants

<a id="t012-variants"></a>

- Attack height: different target zones require different defenses or stance changes. <a id="t012-v1"></a>
- Whiff punishment: leaving an attack's reach opens a response during recovery. <a id="t012-v2"></a>
- Move canceling: a permitted transition reduces commitment at a resource or condition cost. <a id="t012-v3"></a>
- Defense breaking: passive blocking loses to throws, accumulated pressure or a changed angle. <a id="t012-v4"></a>

## Design example

In a training duel, a long lunge catches retreating movement but lets the opponent approach and answer with a short sequence after a miss.

Prototype check: Test a hit, a block and a miss for each move separately; resulting advantages should follow the permitted state transitions.

## Context and limits

Melee combat revolves around distance and the moment of commitment. Starting an action can temporarily remove the ability to defend, so opponents need readable preparation, reach and contact results. These overviews separate decisions about targets, continuing a sequence, choosing a defense and escaping a bad position. Start by testing one attack and one response without decorative effects. The dedicated boss reference remains available in the direction map; this catalog covers the other contact-combat topics. Sources illustrate state and animation-transition models rather than prescribing a universal combat formula.

## Connected materials

- Sources in the selection: [State: Game Programming Patterns](https://gamemechanics.pro/en/resources/#resource-state-pattern) (key: resource/state-pattern)

## Sources and provenance

Original bilingual editorial overviews authored for gamemechanics.pro on 2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design examples; prototype checks describe work to perform, not completed playtests. Primary sources support the stated techniques and implementation context, not every proposed variant.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown) (id: source-3817d420df0baa92)
- [Godot: AnimationTree](https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html) (id: source-e7703f0b61e1f579)
- [Street Fighter™ 6](https://store.steampowered.com/app/1364780/) (id: source-b67a8fdac5557e73)

CC-BY-4.0 · gamemechanics.pro contributors
