public void script() {
    time += Main.delay / 1000f;
    integerTime = (int) time;
    if (oldTime == integerTime) {
      nowNewSecond = false;
      //            return;
    } else {
      nowNewSecond = true;
      oldTime = integerTime;
    }

    if (integerTime % 6 == 0 && nowNewSecond) {
      level++;
    }
    moveOnStep = gameConfiguration.moveOnStep;
    freakChanger = gameConfiguration.freakChanger;
    timeToPrism = gameConfiguration.timeToPrism;
    timeToObst = gameConfiguration.timeToObst;
    if (time - timeCfCreationBonus >= timeToPrism
        && (Main.game.gameConfiguration.playersAmount + Main.game.gameConfiguration.isBot <= 1)) {
      if (!obstacles.isEmpty()) {
        bonuses.add(new GOPrism());
        while (Physics.checkCollisions(
            obstacles.get(obstacles.size() - 1), bonuses.get(bonuses.size() - 1))) {
          bonuses.remove(bonuses.size() - 1);
          bonuses.add(new GOPrism());
        }
      } else bonuses.add(new GOPrism());
      timeCfCreationBonus = time;
    }

    if (level > 7) {
      if (time - timeCfCreationObstacle >= timeToObst) {
        obstacles.add(new GOObstacle());
        timeCfCreationObstacle = time;
      }
    } else {
      if (time - timeCfCreationObstacle >= timeToObst && time - timeCfCreationBonus > 0.2f) {
        obstacles.add(new GOObstacle());
        timeCfCreationObstacle = time;
      }
    }
  }