 		 */
 		protected function setup():void
 		{
+			/* Set default. */
+			_drawDistance = 300;
+			_hazeDensity = 10;
+			_hazeColor = 0x333333;
+			_playerX = _playerY = _playerZ = 0;
+			
 			_renderBuffer = new SoftwareRenderBuffer(_width, _height, false, 0xFF00FF);
 			_bufferBitmap = new Bitmap(_renderBuffer);
 			_bgScroller = new ParallaxScroller(_width, _sprites.BG_SKY.height, bgLayers);

				basePercent:Number = percentRemaining(_position, _segmentLength),
				playerSegment:Segment = findSegment(_position + _playerZ),
				playerPercent:Number = percentRemaining(_position + _playerZ, _segmentLength),
				playerY:int = interpolate(playerSegment.p1.world.y, playerSegment.p2.world.y, playerPercent),
				s:Segment,
				car:Car,
				sprite:SSprite,

				s.haze = 1 / (Math.pow(2.718281828459045, ((i / _drawDistance) * (i / _drawDistance) * _hazeDensity)));
				s.clip = maxY;

				project(s.p1, (_playerX * _roadWidth) - x, _playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));
				project(s.p2, (_playerX * _roadWidth) - x - dx, _playerY + _cameraHeight, _position - (s.looped ? _trackLength : 0));

				x = x + dx;
				dx = dx + s.curve;
