Question: I was just curious as to what exactly Sprite Kit Restitution actually configures? I know that it configures some behavior about an SKPhysicsBody's parameters, but how does the behavior differ?

Answer: 
A look at the description of the `restitution` property of `SKPhysicsBody` in the Apple Documentation says:

> 
> This property is used to determine how much energy the physics body
>  loses when it bounces off another object. The property must be a value
>  between 0.0 and 1.0.
> 
> 
> 

Restitution affects the 'bounciness' of a physicsBody. For instance, a node collides with a velocity of (0,-100) with the floor (for which you have defined a physicsBody). Its reaction to the collision will depend upon the resitution property. So, if restitution is set to 1.0, the velocity will become (0,100), if restitution is 0.9, velocity will become (0,90), and so on...
The **restitution** , in Sprite-kit as in real life, is a value that can be obtained by dividing the relative velocity between two objects after the collision with the relative speed between the two objects before the collision

```
e = relative speed after collision / relative speed before collision

```

This value is able to let us know the level of bounce or elasticity of the collision.

We can distinguish three specific situations that differentiate this value.

* The first when there is no dispersion of kinetic energy, we can also call
this situation as a "perfectly elastic collision" where there is a
very high percentage of rebound, and we can measure the restitution with
the value **e = 1**
* The second happen when the maximum movement (kinetic energy) is lost
completely, then we have "an inelastic collision" where colliding
objects remain stuck and move together. The value **e = 0**
* The last case concerns the majority of collisions or all those
situations in which the value is **e between 0 and 1**, or in the
middle. It is essentially an inelastic collision, where a bit of
kinetic energy is dispersed. In fact the Sprite-kit `physicsBody` restitution **default** value is **0.2**