I've coached at the high school level. I always choose captains based on how hard they work, maturity, leadership and so on. It's also changeable during the year. Doesn't have to be a starter, but is helpful. Using a different sport, if my point guard or center midfielder isn't such a leader, they aren't playing those positions. Not all captains need be those positions. With baseball it's the catcher position that must be a leader and unselfish. They have to see the field. Popularity doesn't matter to me. It's their popularity with me. I've been quite successful with doing that. I want a kid that will get in someone's face, including mine and the official if need be (and done correctly) and is respectable on and off the field. Popularity contests don't always do that. I rarely have issues with motivation. My teams typically overachieve, though coaching a lot of talent is really fun. I want a kid who is willing to take them self out if it is better for the team. I've had a captain say he couldn't keep up with the speed and suggested another player.