public void load()	{
		player = new Player(this);
		
		if(!gameFile.equals("newgame")){
			JsonSerializer.loadGameState(gameFile);

			scene.setRayHandler(rayHandler);
			setSong(scene.DEFAULT_SONG[dayState]);
			music.pause();
			scene.create();

			narrator = (Mob)Entity.getMapping(Vars.NARRATOR_SCENE_ID);
			character = (Mob)Entity.getMapping(Vars.PLAYER_SCENE_ID);
			createPlayer(character.getPixelPosition().add(new Vector2(0, -character.rh)));	//TODO normalize dealing with height offset
		} else {
			//TODO normalize narrator reference (should exist regardless of what level the player's on)
			if(debugging) scene= new Scene(world,this, debugLoadLoc);
			else scene= new Scene(world,this,"Residential District N");
			setSong(scene.DEFAULT_SONG[dayState]);
			scene.setRayHandler(rayHandler);
			scene.create();
			dayTime = history.playTime % DAY_TIME;

			narrator = new Mob("Narrator", "narrator1", Vars.NARRATOR_SCENE_ID, 0, 0, Vars.BIT_LAYER1);
			if(debugging){
//				character = new Mob("'Normal' person with a name (YOU)", "maleplayer2", Vars.PLAYER_SCENE_ID, scene.getSpawnPoint() , Vars.BIT_PLAYER_LAYER);
				character = new Mob("My Name is 6teen", debugPlayerType, Vars.PLAYER_SCENE_ID, scene.getSpawnPoint() , Vars.BIT_PLAYER_LAYER);
				createPlayer(scene.getSpawnPoint());
//				createEmptyPlayer(scene.getSpawnPoint());
				DamageType[] dm = {DamageType.ELECTRO, DamageType.FIRE, DamageType.DARKMAGIC, DamageType.ICE, DamageType.ROCK};
				int j = (int)(Math.random() * ((dm.length-1) + 1));
				character.setPowerType(dm[j]);
			} else {
				//this spawns a camBot at its special location to take the place of 
				//the player before it has been created by the introduction
				if(scene.getCBSP()!=null)
					createEmptyPlayer(scene.getCBSP());
				else
					createEmptyPlayer(scene.getSpawnPoint());
				triggerScript("intro");
			}
		}

		
		prevLoc = Menu.locToIMG.get(scene.ID);
		initEntities();
		cam.bind(scene, false);
		b2dCam.bind(scene, true);
		world.setGravity(scene.getGravity());
	}