public void init() {
        //INITIALIZES all the variables

        SingleBG = new ImageIcon(Player.PATHWAY + "2D Fighter Quade Folder (Sprites and Shit)\\Maps\\singlemap2.jpg").getImage();
        heart = new ImageIcon(Player.PATHWAY + "2D Fighter Quade Folder (Sprites and Shit)\\Random Game Things\\heart.png").getImage();
        princess = new ImageIcon(Player.PATHWAY + "2DFighter 1.4\\res\\princess.jpg").getImage();

        stageCleared = false;
        fallOff = false;
        gameOff = false;
        mapLoaded = false;
        bossDead = false;

        Floors = new ArrayList();
        FloorsX = new ArrayList();
        FloorsY = new ArrayList();
        FloorsHB = new ArrayList();
        Fireballs = new ArrayList();
        Fireballs2 = new ArrayList();
        Coins = new ArrayList();
        bossMissiles = new ArrayList();
        alien = new ArrayList();
        timer = 0;
        points = 0;



        if (Menu.isSingle()) {
            p = new Player(PlayerPick.getPlayer1Type());
            loadSingleMap1();
            mapLoaded = true;
            time = new Timer(25, this);
        } else {
            p = new Player(PlayerPick.getPlayer1Type(), PlayerPick.getPlayer2Type());
            loadMultiMap1();
            mapLoaded = true;
            time = new Timer(30, this);
            if (PlayerPick.getPlayer1Type() == 1) {
                p.setX(300);
                p.setX2(600);
            } else {
                p.setX(600);
                p.setX2(300);
            }
        }

        //the camera is the object that follows the player around in single player.
        if (PlayerPick.getPlayer1Type() == 1) {
            camera = new Camera(p.getX() - 500, p.getY() - 600, 1);
        } else {
            camera = new Camera(p.getX2() - 500, p.getY2() - 600, 2);
        }

        addKeyListener(new TAdapter());
        setFocusable(true);
        grabFocus();
        requestFocusInWindow();
        setDoubleBuffered(true);



        time.start();

    }