---
id: shooting-projectiles
status: active
supersededBy: []
lang: en
title: Shooting and projectiles
description: >-
  Aiming, range, movement, ammunition and risk across ten forms of shooting
  games.
intro: >-
  Shooting connects position selection to the moment of firing. Distinguish view
  direction, weapon direction and the actual hit query: the camera may see a
  target while a wall blocks the muzzle. Traveling projectiles need readable
  trajectories and flight time; immediate hits need clear feedback and a
  consistent reticle. These overviews propose original rules and hypothetical
  scenarios. Godot's documentation explains ray intersection queries, not
  network lag compensation or a universal weapon model.
updatedAt: '2026-10-21'
sources:
  - title: 'Godot: Ray-casting'
    url: 'https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html'
    description: >-
      Primary documentation of 2D and 3D ray intersection queries;
      implementation context for hit and line-of-sight checks.
counts:
  families: 10
  branches: 10
  variants: 40
url: 'https://gamemechanics.pro/en/mechanics/shooting-projectiles/'
markdownUrl: 'https://gamemechanics.pro/content/mechanics/en/shooting-projectiles.md'
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
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.
---
# Shooting and projectiles

Shooting connects position selection to the moment of firing. Distinguish view direction, weapon direction and the actual hit query: the camera may see a target while a wall blocks the muzzle. Traveling projectiles need readable trajectories and flight time; immediate hits need clear feedback and a consistent reticle. These overviews propose original rules and hypothetical scenarios. Godot's documentation explains ray intersection queries, not network lag compensation or a universal weapon model.

## Mechanics and variants

<a id="mechanics"></a>

### 1. First-person shooters

<a id="t021"></a>
id: t021
canonicalId: shooting-projectiles--t021
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t021

The player controls a first-person view and weapon, trading precision against speed and exposure.

#### Mechanic variants

<a id="t021-variants"></a>
- Aim down sights: zoom trades awareness for precision. <a id="t021-v1"></a>
- Hip fire: movement increases the spread of shots. <a id="t021-v2"></a>
- Leading shots: slow projectiles require prediction. <a id="t021-v3"></a>
- Reloading: an empty magazine creates vulnerability. <a id="t021-v4"></a>

Design example: A fast corridor enemy forces a choice between a shotgun and a precise shot through a doorway.

Prototype check: Test shots beside a wall: camera and muzzle lines must not produce an unexplained hit result.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 2. Third-person shooters and cover

<a id="t022"></a>
id: t022
canonicalId: shooting-projectiles--t022
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t022

A camera behind the character exposes surrounding space, while cover changes firing angles and movement options.

#### Mechanic variants

<a id="t022-variants"></a>
- Cover snapping: the character occupies a cover edge. <a id="t022-v1"></a>
- Peeking: firing temporarily exposes the body. <a id="t022-v2"></a>
- Shoulder swapping: the camera changes the visible angle. <a id="t022-v3"></a>
- Destruction: repeated hits remove cover protection. <a id="t022-v4"></a>

Design example: A flanking route forces the player to leave cover while a partner suppresses the opponent.

Prototype check: Test both sides of an obstacle: seeing a target must not permit firing through geometry blocking the muzzle.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 3. Arena shooters

<a id="t023"></a>
id: t023
canonicalId: shooting-projectiles--t023
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t023

An arena turns weapons, elevation and respawning resources into a route of continuous movement and control.

#### Mechanic variants

<a id="t023-variants"></a>
- Control: strong weapons spawn in exposed locations. <a id="t023-v1"></a>
- Verticality: jump pads open an elevated route. <a id="t023-v2"></a>
- Duels: resource timers determine encounter timing. <a id="t023-v3"></a>
- Splash fire: explosions deny an escape route. <a id="t023-v4"></a>

Design example: Armor spawns on a lower platform while an opponent above can already cover the approach.

Prototype check: Map resource routes and test whether one stationary position can control every important spawn.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 4. Tactical shooters

<a id="t024"></a>
id: t024
canonicalId: shooting-projectiles--t024
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t024

A short elimination window makes information, positional discipline and coordinated entry central decisions.

#### Mechanic variants

<a id="t024-variants"></a>
- Angle clearing: sequential checks limit simultaneous threats. <a id="t024-v1"></a>
- Suppression: fire denies safe movement through a lane. <a id="t024-v2"></a>
- Loadouts: equipment trades movement against protection. <a id="t024-v3"></a>
- Rounds: limited lives increase the value of reconnaissance. <a id="t024-v4"></a>

Design example: A team clears two doorways while one player watches a possible flanking route.

Prototype check: Test whether players understand an elimination and can counter a defended choke point.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 5. Hero shooters

<a id="t025"></a>
id: t025
canonicalId: shooting-projectiles--t025
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t025

Distinct hero abilities modify shared shooting rules and create dependencies between team roles.

#### Mechanic variants

<a id="t025-variants"></a>
- Roles: a defender creates an opening for an attacker. <a id="t025-v1"></a>
- Cooldowns: powerful skills appear in separate windows. <a id="t025-v2"></a>
- Combos: an ally's mark strengthens a following attack. <a id="t025-v3"></a>
- Counterpicks: changing heroes answers a specific threat. <a id="t025-v4"></a>

Design example: A shield enables moving a stationary turret while temporarily exposing another team lane.

Prototype check: Test a roster missing one hero: the core objective should remain solvable without a compulsory pick.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 6. Looter shooters

<a id="t026"></a>
id: t026
canonicalId: shooting-projectiles--t026
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t026

Shooting produces equipment whose properties reshape later combat and target selection.

#### Mechanic variants

<a id="t026-variants"></a>
- Affixes: conditional bonuses change preferred range. <a id="t026-v1"></a>
- Rarity: an unusual item introduces a new action. <a id="t026-v2"></a>
- Sets: several items connect separate abilities. <a id="t026-v3"></a>
- Comparison: item stats explain a practical role change. <a id="t026-v4"></a>

Design example: A rifle restores charge after a precision hit, favoring deliberate fire over sustained bursts.

Prototype check: Compare items on the same target and separate increased damage numbers from genuinely new decisions.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 7. Extraction shooters

<a id="t027"></a>
id: t027
canonicalId: shooting-projectiles--t027
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t027

A sortie ends only upon extraction; acquired loot raises both the value of leaving and the risk of continuing.

#### Mechanic variants

<a id="t027-variants"></a>
- Exits: different extraction points impose different conditions. <a id="t027-v1"></a>
- Noise: combat reveals position to other participants. <a id="t027-v2"></a>
- Insurance: a stated rule recovers part of a loss. <a id="t027-v3"></a>
- Cargo: valuable loads hinder speed and stealth. <a id="t027-v4"></a>

Design example: A recovered engine slows movement, and the nearest exit requires waiting for a noisy lift.

Prototype check: Test extracting early with modest loot: it should be a meaningful strategy rather than a disguised failure.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 8. Rail and light-gun shooters

<a id="t028"></a>
id: t028
canonicalId: shooting-projectiles--t028
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t028

The system fixes the camera route while the player allocates attention among targets, threats and firing windows.

#### Mechanic variants

<a id="t028-variants"></a>
- Priority: a dangerous target interrupts score collection. <a id="t028-v1"></a>
- Reloading: a firing pause requires deliberate timing. <a id="t028-v2"></a>
- Branches: hitting a switch changes the route. <a id="t028-v3"></a>
- Cover: a separate command interrupts aiming to defend. <a id="t028-v4"></a>

Design example: A train passes three towers; shooting a track switch opens a safer route.

Prototype check: Replay with slower aiming and ensure threats appear before their mandatory response window begins.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 9. Twin-stick and multidirectional shooters

<a id="t029"></a>
id: t029
canonicalId: shooting-projectiles--t029
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t029

Movement and firing direction are independent, enabling retreating attacks and deliberate range control.

#### Mechanic variants

<a id="t029-variants"></a>
- Circling: movement routes around a group's center. <a id="t029-v1"></a>
- Aim lock: holding direction supports sustained fire. <a id="t029-v2"></a>
- Overheat: firing requires periodic cooling breaks. <a id="t029-v3"></a>
- Recoil: shots assist or obstruct character movement. <a id="t029-v4"></a>

Design example: The hero retreats along a spiral while shooting into a swarm and preserving an outer safety lane.

Prototype check: Test independent axes and sensitivity settings: stopping movement must not unexpectedly change aim.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

### 10. Shoot ’em ups, bullet hell and bullet grazing

<a id="t030"></a>
id: t030
canonicalId: shooting-projectiles--t030
url: https://gamemechanics.pro/en/mechanics/shooting-projectiles/#t030

The player reads projectile patterns and chooses safe paths; near misses can optionally grant a reward.

#### Mechanic variants

<a id="t030-variants"></a>
- Lanes: a pattern leaves predictable safe corridors. <a id="t030-v1"></a>
- Aimed volleys: movement draws a stream away. <a id="t030-v2"></a>
- Grazing: passing near a bullet earns a separate resource. <a id="t030-v3"></a>
- Bombs: a limited stock clears a dangerous field. <a id="t030-v4"></a>

Design example: Slow rings intersect an aimed stream that the player can draw toward the screen edge.

Prototype check: Display the hitbox and graze region; verify safe gaps without unreadable projectile overlaps.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html)

## Sources and examples

Sources support particular techniques or methodology, not every family variant. Design examples and mechanic combinations are illustrative.

- [Godot: Ray-casting](https://docs.godotengine.org/en/stable/tutorials/physics/ray-casting.html): Primary documentation of 2D and 3D ray intersection queries; implementation context for hit and line-of-sight checks.
