public void start() {
        if (graphics == null) {
            throw new SystemMissingException("The game's graphics system has not yet been initialized");
        }
        if (scenemanager == null) {
            throw new SystemMissingException("The game's scene management system has not yet been initialized");
        }
        if (input == null) {
            throw new SystemMissingException("The game's input monitoring system has not yet been initialized");
        }
        if (scenemanager.size() <= 0) {
            throw new SystemMissingException("The game requires at least one scene to run");
        }
        timer.start();
        graphics.getWindow().setVisible(true);
    }