protected void updateMovement(float deltaTime) {
		movementDirection.normalise();
		movementDirection.scale(speed * deltaTime / 1000f);
		Vector2f test = new Vector2f(location).add(movementDirection);
		float rightLimit = world.getWidth() * world.getTileWidth();
		float lowerLimit = world.getHeight() * world.getTileHeight();
		if (test.x < 100) {
			if (movementDirection.x < 0) {
				movementDirection.x *= (test.x - 30f) / 100f;
			}
		} else if (test.x > rightLimit - 100f) {
			if (movementDirection.x > 0) {
				movementDirection.x *= (rightLimit - (test.x + 30f)) / 100f;
			}
		}
		if (test.y < 100) {
			if (movementDirection.y < 0) {
				movementDirection.y *= (test.y - 30f) / 100f;
			}
		} else if (test.y > lowerLimit - 100f) {
			if (movementDirection.y > 0) {
				movementDirection.y *= (lowerLimit - (test.y + 30f)) / 100f;
			}
		}
		location.add(movementDirection);
	}