public void generatePlayField()
    {
        fieldAreas = new FieldArea[FIELDAREAY][FIELDAREAX];

        for(int y = 0; y < FIELDAREAY; y++)
        {
            for(int x = 0; x < FIELDAREAX; x++)
            {
                int height = y * FIELDAREAHEIGHT;
                int width = x * FIELDAREAWIDTH;

                FieldArea newArea = new FieldArea(height , width);

                if(x!= 0)
                {
                    FieldArea leftNeighbour = fieldAreas[y][x - 1];
                    leftNeighbour.setNeighbour(Direction.RIGHT, newArea);

                    newArea.setNeighbour(Direction.LEFT, leftNeighbour);
                }

                if(y != 0)
                {
                    FieldArea upNeighbour = fieldAreas[y - 1][x];
                    upNeighbour.setNeighbour(Direction.DOWN, newArea);

                    newArea.setNeighbour(Direction.UP, upNeighbour);
                }

                fieldAreas[y][x] = newArea;
            }
        }

        FieldArea playerStartingLocation = fieldAreas[0][0];
        player.setCurrentArea(playerStartingLocation); // In this basic engine, player always starts top left
        chosenFieldAreas.add(playerStartingLocation); // We give the field to the arrayList so that it is known that in future generating functions, this area can't be chosen to put another pawn on

        repaint();
    }