public void create(){
		super.create();
		ptclsToRemove = new ArrayList<>();
		displayText = new ArrayDeque<>();
		bodiesToRemove = new Array<>();
		ptclsToAdd = new ArrayList<>();
		particles = new ArrayList<>();
		objsToAdd = new ArrayList<>();
		healthBars = new HashMap<>();
		objects = new ArrayList<>();
		lights = new ArrayList<>();
		sounds = new ArrayList<>();
		paths = new ArrayList<>();
		warps = new HashMap<>();
		history = new History();
		evaluator = new Evaluator(this);
		world = new World(new Vector2 (0, Vars.GRAVITY), true);
		b2dr = new Box2DDebugRenderer();
		rayHandler = new RayHandler(world);
		lightBuffer = new FrameBuffer(Format.RGBA8888, Vars.PowerOf2(Game.width), 
				Vars.PowerOf2(Game.height), false);
		//lightBufferRegion = new TextureRegion(Game.res.getTexture("lightMap"));
		
		Scene.clearEntityMapping();
		Entity.clearMapping();
		speakText = null;
		currentScript = null;
		pixel = Game.res.getTexture("pixel");
		stateType = prevStateType = InputState.MOVE;
		currentEmotion = Mob.NORMAL;
		paused=analyzing=choosing=waiting=warping=warped=speaking=false;
		waitTime=totalWait=speakTime=0;
		
//		if(debugging){
//			dayTime = NIGHT_TIME;
//			dayState = NIGHT;
//		} else {
			dayTime = DAY_TIME+TRANSITION_INTERVAL;
			dayState = DAY;
//		}
		
		cam.reset();
		b2dCam.reset();
		rayHandler.setShadows(false);
		rayHandler.setBlur(false);
		RayHandler.setGammaCorrection(true);
		RayHandler.useDiffuseLight(false);
		rayHandler.setAmbientLight(1);
		world.setContactListener(cl);
		b2dr.setDrawVelocities(true);

		boolean loadwarps = cwarps && this.gameFile.equals("newgame");
		if(loadwarps)
			System.out.println("Don't Panic! The game is just linking levels together!");
		//drawString(sb, "Loading...", Game.width/4, Game.height/4);

		if(document){
			documentVariables();
		}
		if(loadwarps) {
			catalogueWarps();
		}
		load();
		hud = new HUD(this, hudCam);
		handleDayCycle(Vars.DT);
		handleWeather();
		hud.showLocation();
	}