 			force = new Three.Euler().setFromQuaternion(forceQuaternion)
 			@addAngularForce(force)
 
-			# Add thrust straight downward from the player.
+			# Add thrust straight downward from the player. If the player's boosting,
+			# the thrust will be significantly higher than then she's not.
 			thrustVector = new Three.Vector3(0, 1, 0).applyQuaternion(rotationQuaternion)
 
 			if @boost

			
			# Update physics.
			super(dt, not @landed)
			
			# Make the ufo bounce upward a bit when landed.
			if @landed
				targetPosition = @landedPosition.clone().add(@landedPosition.clone().setLength(.8))
				@position.lerp(targetPosition, dt * 8)

			# Retract or extend the base
			if @baseExtended
				@_ufoBase.position.lerp(new Three.Vector3(0, 0, 0), dt * 8)
				@_ufoBase.scale.lerp(new Three.Vector3(1, 2, 1), dt * 8)

				@addAngularForce(new Three.Euler(19 * @flyRight * dt, 0, 0, 'YXZ'))

			# Attract player to a straight position with relation to the planet surface.
			# The normal is determined in the previous step: when the player's close to
			# the surface, the normal will be calculated from the surface normal. Else,
			# the normal will be perpendicular to the planet sphere.
			levelRotation = @calculateLevelRotation(surfaceNormal)
			levelRotationQuaternion = new Three.Quaternion().setFromEuler(levelRotation)

