Собственно реализовал несколько уровней в игре (костыльно, но хоть как-то). На локалке работает, а вот в браузере получается какая-то дичь.
private static int SIDE = 20;
   private static final String MINE = "\uD83D\uDCA3";
   private static final String FLAG = "\uD83D\uDEA9";

   private GameObject[][] gameField = new GameObject[SIDE][SIDE]; <- ПОЛЕ ИЗНАЧАЛЬНО 20х20

   private int countMinesOnField = 0;
   private int countFlags = 0;
   private int countClosedTiles = 0;
   private int score = 0;
   private int level = 1;

   private boolean isGameStopped;
   private boolean isFirstClick;
   private boolean isEndGame;

   @Override
   public void initialize() {
       setScreenSize(SIDE, SIDE);
       createGame();
       countMineNeighbors();
   }

   private void createGame() {
       isFirstClick = true;
       if(level == 1) {
           SIDE = 9;
       } else if(level == 2) {
           SIDE = 15;
       } else {
           SIDE = 20;
       }
       countClosedTiles = SIDE * SIDE;
       for (int y = 0; y < SIDE; y++) {  <- ГЕНЕРИМ АКТИВНОЕ ПОЛЕ В ЗАВИСИМОСТИ ОТ УРОВНЯ
           for (int x = 0; x < SIDE; x++) {
               int rnd = getRandomNumber(10);
               if (rnd == 1 || (level == 3 && rnd == 2)) {
                   gameField[y][x] = new GameObject(x, y, true);
                   countMinesOnField++;
               } else {
                   gameField[y][x] = new GameObject(x, y, false);
               }
               setCellColor(x, y, Color.LIGHTGRAY);
               setCellValue(x,y, "");
           }
       }
       countFlags = countMinesOnField;
       countMineNeighbors();
       for (int y = SIDE; y < 20; y++) {  <- ОСТАЛЬНОЕ ЗАПОЛНЯЕМ ЧЕРНЫМ ЦВЕТОМ
           for (int x = SIDE; x < 20; x++) {
               setCellColor(x, y, Color.BLACK);
               setCellValue(x, y, "");
           }
       }
   }
Уровень 2 на локалке Уровень 2 в браузере (чи шо?)