public void updateSelf() {
		myAccel = 0.0005 * 40/GameBattle.FPS;

		if (myHealth == 0) die();
		// Boat can't move if there is no crew
		if (myNumCrew == 0) mySpeed = 0;

		if (myReloadRightProgress > 0) {
			myReloadRightProgress--;
			//System.out.println("Reload progress right: " + reloadRightProgress);
		}
		if (myReloadLeftProgress > 0) {
			myReloadLeftProgress--;
			//System.out.println("Reload progress left: " + reloadLeftProgress);
		}
		
		updatePosition();
		
		checkCollideWithIslands();
		
		visualize();
		move();
		
		updateHUD();
		
		if (shouldFireLeft()) {
			fireLeftGuns(); 
		}
		if (shouldFireRight()) {
			fireRightGuns();
		}
	}