Collisions

Rebound & Bank Physics

Every collision in the rink throws away energy and changes direction. Learn how the boards cushion a puck, how to solve the mirror geometry of a bank shot, and why a puck that touches the boards forces the goaltender to read the play all over again.

The two numbers that define a board bounce

When a puck strikes the side boards, the engine splits its velocity into two parts: the normal component, pointing straight into the boards, and the tangential component, running along them. Each is treated differently:

v_x' = −e · v_x        e = 0.62  (coefficient of restitution)
v_z' =  t · v_z        t = 0.90  (tangential retention)

The coefficient of restitution e describes how much of the normal speed survives the impact. A perfectly elastic wall would give e = 1; a pillow would give e ≈ 0. Rink boards combine a polyethylene face, a flexible frame and a slight give where they meet the glass, so a puck comes back at 62% of the speed it went in. The tangential term represents rubber-on-plastic friction and the brief scrub as the puck slides along the board face during contact, which removes 10% of the along-board speed.

In energy terms, the normal component keeps only e² ≈ 38% of its kinetic energy, while the tangential component keeps t² = 81%. Shallow, glancing contacts therefore preserve far more speed than steep ones.

Why the exit angle is not the entry angle

Textbook reflection says the angle out equals the angle in. That only holds when e and t are equal. Because the boards absorb more of the normal component than the tangential one, the puck leaves the boards flatter than it arrived, hugging the wall more closely:

tan(θ_out) = (e / t) · tan(θ_in)
e / t = 0.62 / 0.90 ≈ 0.689

Measured from the length of the rink, a puck that hits the boards at 54° leaves at about 43.5°. Players who aim a bank shot using pure mirror reflection will consistently overshoot toward the middle of the ice. The simulator accounts for this automatically when you select Bank Shot.

Solving the bank shot

Bank Shot mode places the target on the ice (0.06 m high) and asks one question: where along the side boards must the puck strike so that its rebound finishes at your chosen x-coordinate on the goal line? Let b be the board position (6 m lane half-width minus the puck radius, so b ≈ 5.96 m), D the shooting distance and x_t the target:

k    = (b − x_t) / ((e / t) · b)
z_hit = D / (1 + k)

The first leg runs from the shooter to (b, z_hit). The second leg leaves the boards at the flattened angle and travels the remaining distance D − z_hit to the target. For a 10 m shot aimed at x_t = 0.50 m, k ≈ 1.33 and the puck must meet the boards 4.29 m in front of the shooter. The dashed crimson guide drawn in the arena while you aim is exactly this solution.

Worked bank shot: 10 m, target x = 0.50 m, full geometry
QuantityValueNotes
Board contact pointz = 4.29 mFrom z_hit = D / (1 + k)
Entry angle54.3°Measured from the rink's long axis
Exit angle43.6°Flattened by e / t
Speed kept at impact≈ 73%Combined normal and tangential loss
Total path length≈ 15.2 m7.3 m in, 7.9 m out

Bank shots and the ice

Bank shots are the only shot type that stays on the ice for its entire flight. That means kinetic friction acts for the whole 15 m path, and the puck arrives having already lost roughly a quarter of its speed at the boards. On chopped ice (μk = 0.011) the Ice Friction Loss readout for a bank shot is typically several times larger than for a straight wrister over the same distance. Slower arrival means a longer goalie movement window, so bank shots reward speed and surprise over precision.

The re-read delay: why banks work

The goaltender AI predicts where the puck will cross its plane by extrapolating the current trajectory. The instant the puck touches the boards, that prediction is worthless. The engine models this by imposing a 100 ms re-read delay after any board contact, and by redrawing the goalie's read error at 1.5 times its normal size. A Pro goalie's lateral read error jumps from σ = 0.10 m to 0.15 m, and an Elite goalie's from 0.05 m to 0.075 m.

If the board contact happens late in the shot, the goalie may never complete a fresh read before the puck arrives. That is why the most effective bank shots strike the boards close to the net, even though this demands a sharper, harder first leg.

Goaltender rebounds

A save does not stop the puck dead. When the puck crosses the goalie's plane inside a covered region, the engine ejects it back toward the shooter:

v_z' = −0.22 · |v_z|
v_x' = 0.2 · v_x + 3 · (x_hit − x_goalie) + N(0, 1.2)
v_y' = 0.2 · |v_y| + 1.2 + U(0, 1.5)

The lateral term pushes the rebound away from the goalie's centre line, so shots that hit the edge of a pad squirt out wide, while shots into the chest drop close to the crease. The vertical term pops the puck up off the equipment before gravity brings it back to the ice.

Posts, crossbar and the ice itself

  • Goalposts: the puck rebounds at 55% of its incoming forward speed with a 3 m/s lateral kick away from the post, inward or outward depending on which side of the iron it struck.
  • Crossbar: a strike above the bar's centre deflects upward and out; below the centre it is driven down onto the ice.
  • Ice bounces: an airborne puck landing faster than 1.2 m/s downward bounces back at 22% of its vertical speed, throwing a small spray of ice. Slower landings simply settle and begin sliding.
  • End boards and net mesh: the back boards return 50% of forward speed; the net mesh absorbs almost everything, keeping only 8% so a goal stays in the net.

Try this: pick Bank Shot against the Elite goalie at 8 m, target the far post, and fire at 85% power. Then repeat at 14 m. The closer shot strikes the boards later in its flight and leaves the goalie less time to recover from the re-read.