Nice, i think the failure condition when you start are way to short though.
If you were to ask me one small change to make, I'd say instead of spawning the target on the outer area always, spawn them in place of one of the people who already exist.
The player bounces when they go to the edge, Also i think you use a kinematic body for player movement, you could try raycasting first before you move and then only moving as far as your raycast, (infact for this game you are raycasting you can just remove the player's physics body all together, just use the height of the building they are on as their Z and raycast the directional keys and move as far as the raycast was). Let me know if you need help with this.