public void run() {
        long currentTime = System.currentTimeMillis();
        long lastTime;
        long deltaMs;
        
        options.save();
        
        fpsCounter = 0;
        elapsed = 0;
        //resManager.getAudioManager().play();
        while(!quitting && !Display.isCloseRequested()) {
            lastTime = currentTime;
            currentTime = System.currentTimeMillis();
            deltaMs = currentTime - lastTime;
            
            lifetime += deltaMs;
            elapsed += deltaMs;
            fpsCounter++;
            if(elapsed >= 1000) {
                //System.out.println(fpsCounter);
                fps = fpsCounter;
                fpsCounter = 0;
                elapsed = 0;
            }
            
            // If the window was resized, we need to update our projection
            if (Display.wasResized()) {
                    resize();
            }
            
            logic.update(deltaMs);
            humanView.update(deltaMs);
            eventManager.update();
            
            Display.update();
        }
        
        resManager.destroy();
        Display.destroy();
    }