public void startEngine(){
		try {
			// Default localhost host and default port 1099 is used by RMI
			Registry engineRegistry = LocateRegistry.createRegistry(1100);
			Registry generatorRegistry = LocateRegistry.getRegistry(1099);

			// Getting the RMI object to interact with map on generator server
			IEngineRMIObject iEngineRMIObject = (IEngineRMIObject) generatorRegistry.lookup("IEngineRMIObject");

			// Callback doesn't not need to be exported because it extends UnicastRemoteObject
			IEngineRMICallback iEngineRMICallback = new EngineRMICallback();
			engineRegistry.rebind("IEngineRMICallback", iEngineRMICallback);

			// Wait for the client to start and sending a message
			byte[] b = new byte[2000];
			DatagramPacket datagramPacket = new DatagramPacket(b, b.length);
			try {
				DatagramSocket datagramSocket = new DatagramSocket(8080);
				datagramSocket.receive(datagramPacket);
				System.out.println("New message from client : " + new String(datagramPacket.getData()));
				datagramSocket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}

			MAP_SIZE = iEngineRMIObject.getRemoteMap().getMapParameters().get(ParameterEnum.MAP_SIZE_INTEGER);
			if (MAP_SIZE == null) {
				MAP_SIZE = 10;
			}
			while (!iEngineRMIObject.isGameOver()) {
				try {
					Thread.sleep(5000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}

				Position deplacement = null;
				do {
					deplacement = new Position();
					deplacement.setPosition(Utils.generateRandomPosition(MAP_SIZE - 1), Utils.generateRandomPosition(MAP_SIZE - 1));
				} while (iEngineRMIObject.getRemoteMap().isVisitedPosition(deplacement));

				String notification = iEngineRMIObject.moveCharacter(deplacement);
				((EngineRMICallback) iEngineRMICallback).getClient().sendNotifications(notification);
			}

			// Game is now over 
			((EngineRMICallback) iEngineRMICallback).getClient().sendNotifications("GAME OVER");
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (NotBoundException e) {
			e.printStackTrace();
		}
	}