public void init(int numPlayerBoats, int numAiBoats, boolean withIsland) throws IOException {
		long seed = (long) StdRandom.uniform(0.0, Double.MAX_VALUE);
		if (myOnline && myOnlineBoatId == 0) {
			myOut.writeLong(seed);
			System.out.println("Sent seed: " + seed);
			StdRandom.setSeed(seed);
		} else if (myOnline) {
			seed = myIn.readLong();
			System.out.println("Received seed: " + seed);
			StdRandom.setSeed(seed);
		}
		
		// Contains all sprites to be updated on loop
		sprites = new ArrayList<Sprite>();
		myBoats = new ArrayList<Boat>();

		zoom = 1.0;
		zoom = 1.0;

		int i = 0;

		// Create Player Boats
		for (i = 0; i < numPlayerBoats; i++) {
			Boat boat = new PlayerBoat(myDraw, i);
			myBoats.add(boat);
			sprites.add(boat);

		}

		// Create AI Boats
		for (; i < numAiBoats + numPlayerBoats; i++) {
			Boat boat = new AIBoat(myDraw, i, "Resources/boat2.png");
			myBoats.add(boat);
			sprites.add(boat);
		}
		
		if (withIsland) {
			// Create islands
			for (int c = 0; c < 20; c++) {
				Island il = new Island(myDraw, seed);
				sprites.add(il);
			}
		}
	}