public GameImpl(HotCivFactory factory) 
	{
		worldStrategy = factory.createWorldStrategy();
		winningStrategy = factory.createWinningStrategy();
		conquerCityStrategy = factory.createConquerCityStrategy();
		attackStrategy = factory.createAttackingStrategy();
		attacksWonStrategy = factory.createAttacksWonStrategy();
		ageStrategy = factory.createAgeStrategy();
		unitActionStrategy = factory.createUnitActionStrategy();
		
		world = new WorldImpl(GameConstants.WORLDSIZE, GameConstants.WORLDSIZE, this);
		world.createTerrain(worldStrategy);
		world.placeInitialCities(worldStrategy);
		world.placeInitialUnits(worldStrategy);
		
		playersInGame.add(Player.RED);
		playersInGame.add(Player.BLUE);
		activePlayer = 0;
		gameAge = -4000;
		this.observers = new HashSet<GameObserver>();

	}