public Main() {
		Dimension d = new Dimension(width * scale, height * scale);
		setPreferredSize(d);

		ImageLoader loader = new ImageLoader();
		try {
			ss = loader.loadImage("/spritesheets/spritesheet.png");
			background = loader.loadImage("/backgrounds/space.png");
			pauseScreen = loader.loadImage("/backgrounds/PauseBackground.png");
			controls = loader.loadImage("/misc/Controls.png");
		} catch (Exception e) {
			e.printStackTrace();
		}

		frame = new JFrame();
		mouse = new Mouse();
		key = new Keyboard();
		tex = new Texture(this);
		c = new Controller(this, tex);
		p = new Player(width / 2 + 100, (height * scale) - 70, this, tex, c, speed);
		p2 = new Player2(width / 2 + 100, (height * scale) - 70, this, tex, c, speed);
		menu = new Menu(width * scale, height * scale);
		up = new PowerUp(100, 0, tex, this, 2);
		down = new PowerDown(200, 0, tex, this, 2);
		writer = new WriteFiles();

		c.addEnemy(enemyCount);
		ea = c.getEntityA();
		eb = c.getEntityB();
		ea.add(p);
		if (players == 2) {
			ea.add(p2);
		}

		addMouseListener(mouse);
		addMouseMotionListener(mouse);
		addKeyListener(key);
	}