Resolvi alguns null pojnters quando o usuário clica num lugar que não dava pra ir( num obstaculo, nele mesmo, ou num lugar impossivel de ir), criei uma função nova chama getNearestFreeSquare que devolve o square mais perto e livre de um square ocupado... vai ser importante caso o usuário clique em um square.

Nessa nova função fiz uma espécie de algoritmo de busca espiral, pois ele pega uma posição no vetor e começa a percorrer tdo mundo em volta dele num caminho espiral.

Tentei um primeiro posionamento da camera.