public boolean startGame()
	{
		boolean crashed = true;
		
		try
		{
			log("Creating game thread");
			this.gameThread = new GameThread(this, "Game Thread");
			this.gameThread.run();
			while (this.gameThread.isAlive())
			{
				//TODO Add stuff.
			}
			
			if (this.gameThread.didEncounterError())
			{
				throw this.gameThread.getException();
			}
			
			this.dParent.getParent().setVisible(false);
			log("Shutting down");
			crashed = false;
			
		}
		catch (Exception e)
		{
			String message = "";
			if (e.getMessage() != null) message = ": " + e.getMessage();
			
			String stackTrace = "Game Crashed! Error log:\n" + e.toString() + message;
			
			for (StackTraceElement ste : e.getStackTrace())
			{
				stackTrace += "\nat " + ste.toString();
				
			}
			
			log(stackTrace);
			
			try
			{
				shutdownOpenGL();
				
			}
			catch (Exception ee)
			{
				
			}
			
		}
		
		return crashed;
	}