@Override
	public void render(Graphics g) {
		if (slomoEffect > 0) {
			g.setColor(new Color(0.0F, 0.0F, 0.0F, 0.051F));
		} else {
			g.setColor(defaultBackground);
		}
		g.fillRect(0, 0, Game.WIDTH, Game.HEIGHT);

		g.setColor(defaultColor);
		g.setFont(new Font("Courier New, Courier", 12, 12));

		if (firstRun) {
			g.drawString("Use WASD to move", 40, 60);
			g.drawString("Use SPACE to shoot", 40, 76);
			g.drawString("Shoot as many blocks as possible", 40, 92);
			g.drawString("Boxes with a star contain special stuff", 40, 108);
			g.drawString("Avoid getting hit by anything!", 40, 124);
		} else {
			if (gameOver) {
				g.drawString(
						"GAME OVER",
						Game.WIDTH
								/ 2
								- (int) g
										.getFont()
										.getStringBounds(
												"GAME OVER",
												new FontRenderContext(null,
														false, false))
										.getWidth() / 2, Game.HEIGHT / 2 - 50);
				g.drawString(
						"Final score: " + score,
						Game.WIDTH
								/ 2
								- (int) g
										.getFont()
										.getStringBounds(
												"Final score " + score,
												new FontRenderContext(null,
														false, false))
										.getWidth() / 2, Game.HEIGHT / 2 - 30);
				if (display) {
					g.drawString(
							"Press SPACE to continue",
							Game.WIDTH
									/ 2
									- (int) g
											.getFont()
											.getStringBounds(
													"Spress SPACE to continue",
													new FontRenderContext(null,
															false, false))
											.getWidth() / 2, Game.HEIGHT / 2);
				}
			} else {
				g.drawString("Score: " + score, 20, 20);
			}
		}

		for (int i = 0; i < entities.size(); i++) {
			entities.get(i).render(g);
		}
	}