Simulation(WorldDescriptor descr, long stepDelay) {
		generation = 0;
		WDStack = new Vector<WorldDescriptor>();
		logger.info("Creating new simulation");
		WDStack.add(descr);
		delay = stepDelay;
		try {
			logger.info("Creating game world");
			world = new GameWorld(descr);
		} catch (WeigthNumberNotMatchException e) {
			logger.error("Error while loading world descriptor: world descriptor file is possibliy corrupted");
			logger.info("Number of genes in the container not match with the one described in the world configuration");
			Game.getInstance().getUI().error("Invalid world descriptor.");
		}
	}