public static void main(String[] args) {
		try{
			Display.setDisplayMode(new DisplayMode(Standards.W_WIDTH, Standards.W_HEIGHT));
			Display.setTitle("Generic Zombie Apocalypse");
			Display.create();
		} catch (LWJGLException e){
			e.printStackTrace();
		}


		//TODO add a check to see if the save directory already exists
		File dir = new File(Standards.WORLD_SAVE_LOCATION);
		dir.mkdirs();
		dir = new File("data");
		dir.mkdir();

		//TODO put this initialization code in its own block somewhere
		registry.initializeRegistry();

		//Initialization code OpenGL
		glMatrixMode(GL_PROJECTION);
		glLoadIdentity();
		glOrtho(0, Standards.W_WIDTH, Standards.W_HEIGHT, 0, 1, -1);
		glMatrixMode(GL_MODELVIEW);
		glEnable(GL_TEXTURE_2D);
		glEnable(GL_BLEND);
		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

		setupTextureHandler();

		player = new Player(14, 14, 0, 100);
		worldObj = new Map();
		worldObj.Generate(0, 0);
		timer.init();


		Keyboard.enableRepeatEvents(true);

		while (!Display.isCloseRequested()){

			int deltaTime = timer.getDelta();

			tick += deltaTime;

			draw();
			worldObj.update();
			guihandler.mouseInput();


			input(deltaTime);



			if (tick >= TICKRATE){
				guihandler.updateWindows();
				player._update(deltaTime);
				npclist.update(deltaTime);
				tick -= TICKRATE;
			}


			Display.update();
			Display.sync(60);
		}


		//Remember to release the texture when done
		shutdownGracefully();
	}