---
key: lesson/game-feel
type: lesson
id: game-feel
lang: en
title: 'Game feel: making actions readable'
summary: >-
  Tune response, emphasis, and effects so players understand an action while
  staying in control.
updatedAt: '2026-10-20'
status: active
url: 'https://gamemechanics.pro/en/lessons/game-feel/'
jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/lesson/game-feel.json'
markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/lesson/game-feel.md'
aliases:
  - gamefeel
  - juiciness
  - сочность
  - отклик
tags:
  - game-feel
  - feedback
  - accessibility
sourceIds:
  - source-3a3188da5bc1e4be
  - source-126631d0c2e67fef
sources:
  - id: source-3a3188da5bc1e4be
    title: 'GDC: Juice It or Lose It'
    url: 'https://www.gdcvault.com/play/1016487/juice-it-or-lose'
    verifiedAt: null
  - id: source-126631d0c2e67fef
    title: Xbox Accessibility Guideline 117
    url: >-
      https://learn.microsoft.com/en-us/xbox/accessibility/xbox-accessibility-guidelines/117
    verifiedAt: null
relations:
  - type: requires
    direction: outgoing
    label: Before you start
    key: lesson/input-and-feedback
    title: Input and feedback
    url: 'https://gamemechanics.pro/en/lessons/input-and-feedback/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/lesson/input-and-feedback.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/lesson/input-and-feedback.md
  - type: requires
    direction: incoming
    label: Continue learning
    key: lesson/game-accessibility
    title: Basic accessibility across a play session
    url: 'https://gamemechanics.pro/en/lessons/game-accessibility/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/lesson/game-accessibility.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/lesson/game-accessibility.md
  - type: explains
    direction: outgoing
    label: Apply the principle
    key: mechanic/game-mechanics--gm-low-health-feedback
    title: Low health feedback
    url: >-
      https://gamemechanics.pro/en/knowledge/mechanic/game-mechanics--gm-low-health-feedback/
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/mechanic/game-mechanics--gm-low-health-feedback.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/mechanic/game-mechanics--gm-low-health-feedback.md
  - type: practices
    direction: outgoing
    label: Put it into practice
    key: practice/rhythm-without-hurry
    title: Rhythm without rushing
    url: 'https://gamemechanics.pro/en/knowledge/practice/rhythm-without-hurry/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/practice/rhythm-without-hurry.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/practice/rhythm-without-hurry.md
  - type: contains
    direction: incoming
    label: Learning paths
    key: path/first-prototype
    title: Your first verifiable prototype
    url: 'https://gamemechanics.pro/en/learn/first-prototype/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/path/first-prototype.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/path/first-prototype.md'
  - type: uses
    direction: outgoing
    label: Sources in the selection
    key: resource/accessible-motion
    title: 'Xbox: accessible motion settings'
    url: 'https://gamemechanics.pro/en/resources/#resource-accessible-motion'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/resource/accessible-motion.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/resource/accessible-motion.md
placements: []
supersededBy: []
attributes:
  category: design
  level: beginner
  minutes: 6
endsAt: null
provenance: >-
  Original gamemechanics.pro material. Check illustrative examples in your own
  project.
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
---
# Game feel: making actions readable

id: game-feel
type: lesson
key: lesson/game-feel
lang: en
status: active
url: https://gamemechanics.pro/en/lessons/game-feel/

Tune response, emphasis, and effects so players understand an action while staying in control.

## Prerequisites

Begin with a mechanic that already follows its rules: jumping lands correctly, hits cause damage, or collected items enter the inventory. If the result is wrong, effects make diagnosis harder. Choose one action and keep a baseline version for comparison.

## The principle

Game feel depends on the relationship between player intent, control response, and the perceived result. It helps to distinguish preparation, confirmation, and recovery. Preparation makes an upcoming action understandable. Confirmation communicates an accepted result. Recovery returns the player to their next decision.

Give each effect a specific question to answer. A brief silhouette change confirms a hit. Particles identify the contact position. A sound distinguishes a block from damage. If you cannot explain what information an effect adds, first compare the action with that effect disabled.

The talk [Juice It or Lose It](https://www.gdcvault.com/play/1016487/juice-it-or-lose) is a useful starting point for studying expressive game reactions. The exercise and comparison criteria below are original practice material for this portal.

<span id="example-hitting-a-training-target"></span>

## Practical example

### Hitting a training target

Create a stationary target with three health points. Each accepted hit removes one point. Start by showing only the counter, then introduce confirmation effects one at a time.

```text
onDamageAccepted(event):
    updateHealthDisplay(event.remainingHealth)
    playImpactSound(event.surface)
    showHitShape(event.position)
    if settings.cameraShake > 0:
        addCameraImpulse(settings.cameraShake)
```

Game logic emits this event after accepting damage. A miss must not trigger hit confirmation. A block can trigger a separate cue. When several hits arrive together, cap the combined effect intensity and number of simultaneous sounds.

Add switches for sound, visual confirmation, and camera movement. Play the same sequence with different combinations. Record concrete observations: “I could not tell whether the third hit connected” is more useful than “needs more juice.” A small personal comparison is not evidence of every player's preferences.

## Common mistakes

Strong shake can hide the next threat. A long recovery can make a powerful hit feel like losing control. A fullscreen effect can make interface text harder to read. Define limits for amplitude and duration, then tune within those limits while playing.

Players should be able to disable camera movement without losing essential information. [Xbox Accessibility Guideline 117](https://learn.microsoft.com/en-us/xbox/accessibility/xbox-accessibility-guidelines/117) recommends avoiding these additional movements or offering a way to turn them off. Preserve another confirmation channel, such as a shape around the target and an updated health display.

Do not make a decorative particle responsible for applying damage. Do not change the collision shape just to stretch the visible sprite. If you add a brief action freeze, define which systems it affects: the world, animations, input, interface, and audio may need different treatment.

## Verify it

- Hits, misses, and blocks are distinguishable.
- Confirmation follows an accepted gameplay event.
- Disabling shake keeps the action understandable.
- Combined effects do not obscure hazards or essential text.
- Effect parameters can change without changing damage rules.
- Comparison with the baseline records observations, not just the author's taste.

## Prompt for an AI agent

> Break one gameplay action into preparation, confirmation, and recovery. Locate the event that confirms its result. Suggest two independently switchable effects and explain what information each adds. Check a miss, repeated hits, and disabled camera shake. Preserve the existing rules and provide a repeatable comparison scenario.

## Connected materials

- Before you start: [Input and feedback](https://gamemechanics.pro/en/lessons/input-and-feedback/) (key: lesson/input-and-feedback)
- Continue learning: [Basic accessibility across a play session](https://gamemechanics.pro/en/lessons/game-accessibility/) (key: lesson/game-accessibility)
- Apply the principle: [Low health feedback](https://gamemechanics.pro/en/knowledge/mechanic/game-mechanics--gm-low-health-feedback/) (key: mechanic/game-mechanics--gm-low-health-feedback)
- Put it into practice: [Rhythm without rushing](https://gamemechanics.pro/en/knowledge/practice/rhythm-without-hurry/) (key: practice/rhythm-without-hurry)
- Learning paths: [Your first verifiable prototype](https://gamemechanics.pro/en/learn/first-prototype/) (key: path/first-prototype)
- Sources in the selection: [Xbox: accessible motion settings](https://gamemechanics.pro/en/resources/#resource-accessible-motion) (key: resource/accessible-motion)

## Sources and provenance

Original gamemechanics.pro material. Check illustrative examples in your own project.

- [GDC: Juice It or Lose It](https://www.gdcvault.com/play/1016487/juice-it-or-lose) (id: source-3a3188da5bc1e4be)
- [Xbox Accessibility Guideline 117](https://learn.microsoft.com/en-us/xbox/accessibility/xbox-accessibility-guidelines/117) (id: source-126631d0c2e67fef)

CC-BY-4.0 · gamemechanics.pro contributors
