public void render(GameContainer gc, StateBasedGame arg1, Graphics g)
			throws SlickException {
		
		Input input = gc.getInput();
		Vector2 mousePos = new Vector2(input.getMouseX(), input.getMouseY());
		Vector2 paintPos = GridGraphicTranslator.PixelsToGridPixels(mousePos);
		
		camera.centerOn((int)player.getPixelPosition().getX(), (int)player.getPixelPosition().getY());
		camera.drawMap();
		
		camera.translateGraphics();
		if(destinationTile != null && destinationTile != player.getGridPosition()) {
			g.setColor(new Color(0, 0, 255, 64));
			g.fillRect(destinationTile.getX() * 16, destinationTile.getY() * 16, Constants.TILE_WIDTH, Constants.TILE_HEIGHT);
		}
		player.render(gc, g);
		camera.untranslateGraphics();
		
		g.setColor(Color.black);
		g.drawRect(paintPos.getX(), paintPos.getY(), Constants.TILE_WIDTH, Constants.TILE_HEIGHT);
		if(GameInfo.SHOW_DEBUG_INFO) {
			StateMachine stateMachine = player.getFollower().getStateMachine();
			if(stateMachine.getState() != null) {
				g.setColor(Color.white);
				g.drawString("Pokemon state: " + stateMachine.getState().getName(), 10, 50);
			}
		}
		super.render(gc, arg1, g);
	}