Add random initial position and movable area
Add joined and leaved event
Update sample