public static void main(String[] args) throws Exception {
        currentGameState = GameStates.IN_LEVEL;
        for (String str : args) {
            if (str.equalsIgnoreCase("--fullscreen")) {
                isFullscreen = true;
            }
            if (str.equalsIgnoreCase("--menu")){
                currentGameState = GameStates.MAIN_MENU;
            }
        }
        initDisplay();
        GameTick.init();

        while (!Display.isCloseRequested()) {

            glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
            switch (currentGameState){
                case MAIN_MENU:
                    GameTick.tickMainMenu();
                    break;
                case LEVEL_SELCET:
                    GameTick.tickLevelSelect();
                    break;
                case IN_LEVEL:
                    GameTick.tickGame();
                    break;
                case GAME_OVER:
                    GameTick.tickGameOver();
                    break;
                case PAUSED:
                    GameTick.tickPaused();
                    break;
            }
            Display.update();
            Display.sync(60);
        }
        Display.destroy();
    }