@Override
	public Entity createEntity() {
		Entity enemyEntity = new Entity(entityManager,
				entityManager.createEntity(), new Spatial(0, 0,
						enemyGraphic.getWidth(), enemyGraphic.getHeight()),
				new Draw(enemyGraphic, DrawOrder.ENEMY),
				new MinimapDrawn(0xFFFFFF),
				// random AI, just for testing
				new NameTag("enemy"), new AI("player",
						Math.random() > 0.5 ? AI.AIState.FLEE : AI.AIState.ROAM, AI.AIState.ROAM, AI.AIState.SEEK),
				new Collide(),
				new Velocity(5, 2),
				new Shoot(new BulletTemplate(), 0, 0, 7,
						5000, 1, 1000),
				new Health(500),
				new HealthBar());

		// Randomly add a shield to an enemy
		if (Math.random() > 0.5) {
			Entity shield = new TankShieldTemplate().createEntity();
			enemyEntity.addComponentNoRefresh(new Children(shield));
		}
		return enemyEntity;
	}