# Game Feel Resources

Curated, high-trust sources for this workspace. Knowledge in lessons should be drawn from
here rather than from parametric guesses.

## Knowledge

### Foundational

- [Book: _Game Feel: A Game Designer's Guide to Virtual Sensation_ by Steve Swink](https://books.google.com/books/about/Game_Feel.html?id=3oFjDwAAQBAJ)
  The canonical text. Defines game feel as *"real-time control of virtual objects in a
  simulated space, with interactions emphasised by polish"* and gives the three building
  blocks (real-time control, simulated space, polish). Use for: definitions, the
  vocabulary of feel, the metrics framework for comparing games.
- [PDF: _Game Feel_ Chapter 1, "Defining Game Feel" (free)](http://mycours.es/gamedesign2014/files/2014/10/Game-Feel-Steve-Swink-chapter-1.pdf)
  The first chapter as a free PDF — the best single entry point if you read nothing else.
  Use for: the 100ms correction-cycle threshold, the three building blocks.
- [Paper: "Designing Game Feel: A Survey" — Pichlmair & Johansen (arXiv 2011.09201)](https://arxiv.org/pdf/2011.09201)
  Peer-reviewed survey systematising game-feel techniques across many games; useful as a
  neutral cross-check on Swink's more essayistic framing. Use for: taxonomy, citations,
  finding techniques you have not heard of.
- [Paper: "What Features Influence Impact Feel? A Study of Impact Feedback in Action Games" (arXiv 2208.06155)](https://arxiv.org/pdf/2208.06155)
  Empirical study of what actually makes hits land. Use for: the hitstop / screenshake /
  particle lessons, when you want evidence rather than folklore.

### Talks (watch these)

- [Talk: "The Art of Screenshake" — Jan Willem Nijman, Vlambeer (INDIGO 2013)](https://www.youtube.com/watch?v=AJdEqssNZ-U)
  Live-codes a flat prototype into a thrilling one via ~30 discrete tricks: hit
  animation, gun kickback, permanence of corpses, one-frame pauses on death, dynamic
  camera, shells and smoke. Use for: a checklist of polish techniques, and for
  calibrating *how much* is too much.
- [Talk: "Juice It or Lose It" — Martin Jonasson & Petri Purho (GDC Europe 2012)](https://www.youtube.com/watch?v=Fy0aCDmgnxg)
  Cranks a plain Breakout up to eleven, live. Best demonstration anywhere that juice is
  additive and cheap. Use for: tweening, squash & stretch, particles, escalation.
  ([GDC Vault mirror](https://www.gdcvault.com/play/1016487/Juice-It-or-Lose))

### Implementation

- [Article: "Celeste and TowerFall Physics" — Maddy Thorson](https://maddythorson.medium.com/celeste-and-towerfall-physics-d24bd2ae0fc5)
  How Celeste's collision actually works: Solids and Actors, `MoveX` / `MoveY` with
  collision callbacks, integer pixel positions. Use for: building a character controller
  that does not fight its physics engine.
- [Article: "Celeste & Forgiveness" — Maddy Thorson](https://www.maddymakesgames.com/articles/celeste_and_forgiveness/index.html)
  The forgiveness catalogue from the designer of the best-feeling platformer of its
  generation: late-jump grace, buffered jumps, retroactive walljump conversion. The
  principle is *widen every timing and positioning window in the player's favour*.
  Use for: the forgiveness lesson, and for the philosophy behind it.
- [Reference: Godot 4 Recipes — Platform Character (KidsCanCode)](https://kidscancode.org/godot_recipes/4.x/2d/platform_character/index.html)
  Solid, maintained Godot-specific reference for `CharacterBody2D` movement. Use for:
  translating Unity-centric techniques into Godot idiom.
- [Godot 4 Docs — `CharacterBody2D`](https://docs.godotengine.org/en/stable/classes/class_characterbody2d.html)
  Primary source for `move_and_slide`, `is_on_floor`, `velocity`. Use for: API truth.
- [Tutorial: "Game Juice in Godot 4" — Coding Quests](https://codingquests.io/blog/godot-4-game-juice-platformer)
  Practical Godot 4 walkthrough of coyote time, squash & stretch, screenshake, hitstop,
  with a downloadable project. Use for: a working reference implementation to compare
  yours against. *(Lower trust than the sources above — verify against the docs.)*

## Wisdom (Communities)

- [r/gamedev](https://reddit.com/r/gamedev)
  Broad, high-traffic. Use for: general questions, but expect noise.
- [r/godot](https://reddit.com/r/godot)
  Engine-specific, active, friendly to beginners. Use for: Godot 4 idiom questions and
  "does this feel right?" video posts. Posting a 10-second clip of your jump and asking
  *"what feels wrong here?"* is the single highest-value use of this community.
- [Godot Forum](https://forum.godotengine.org/)
  Official, better-moderated and more durable than Reddit. Use for: questions worth
  keeping findable.
- [Godot Community Discord](https://discord.gg/4JBkykG)
  Real-time help. Use for: fast unblocking mid-session.
- [Ludum Dare](https://ldjam.com/) / [itch.io game jams](https://itch.io/jams)
  Feel is a skill of iteration under time pressure, and a jam forces you to ship something
  playable and get strangers' reactions. Use for: the real-world test that turns knowledge
  into wisdom. *Not urgent* — mission is craft, not shipping — but the fastest path to
  honest feedback when you want it.

## Gaps

- **No high-trust Godot-native game-feel text exists.** Almost all the literature is
  Unity- or engine-agnostic. Lessons must do the translation; treat Godot tutorial videos
  with suspicion and verify against the official docs.
- **Camera feel** is under-covered by the sources above. Need a good primary source before
  teaching lesson 6 (camera lookahead / damping / deadzones).
- **Audio and feel** is the weakest area in this list. Nothing here is a strong source on
  layered impact sound, pitch variation, or the role of silence.

## Community preference

Not yet stated by the user. Communities are listed but none have been pushed. Ask before
recommending a jam.
