So, IOW, your dragon was within javelin range 100% of the time. Considering you're talking about 15th level characters, the fighters have five, possibly six, ASI's. Burn two for stat bumps, 1 for GWF, is it really unreasonable for the wizard to ask him to take Sharpshooter, thus negating range penalties? At that point, he's pretty effective as a ranged combatant.
We were 16th at the end of the campaign. Adult dragons were trivial with
fly at that time. At 16th level the fighter had enough hit points and could do ranged, but he was still far and away more effective in melee.
Fly was still the best option. Bard was handling that due to a magic item. I was casting
protection from energy. Tiamat has a lot of breath weapons.
We took on our first adult dragon at 8th level in that huge ice cave. 8th level, not 15th.
Considering Adult dragons have to get within 60 feet to hurt you, they are pretty much never not in javelin range. You're playing a dragon and flier heavy campaign. Why not take Sharpshooter? It makes sense for that campaign.
The players did not choose sharpshooter. Fighter took a couple of levels of barbarian for the DR because the dragons were hammering him. He had Heavy Armor Mastery, Great Weapon Mastery, and Tough with a couple of ability increases. He didn't feel like investing in Sharpshooter. He didn't like throwing javelins for 1d6+5 damage and changing circumstances due to opponent mobility.
On top of that, it was still far more effective to cast
fly on him to let him tank the thing, while doing great melee damage with his magic dragon slaying sword by that level. He had a javelin of lightining he threw on occasion.
It doesn't beat melee. Best option was still
fly.
This isn't about figuring out what works. It's about works best versus what would be more fun.
In a campaign that doesn't feature a lot of ranged combat, you don't need it, but, it sounds like this one was pretty heavy on ranged fighting. I would say it's up to the players to make their own characters valuable, rather than relying on someone else and hurting their fun (you did complain after all).
To us it's about winning as a group. Encounters are designed and played with the idea of challenging the efforts of a group of players working together. When we don't work together, we often die.
Just last week we almost wiped because of small mistakes by the players. That's all it takes in our encounters. You make one small mistake, a couple of party members go down, the party wipes.
Strangely enough it was this encounter where I found out the cleric is some kind of badass. Cast
spiritual guardians,
spiritual weapon, strap on the shield, and start hitting with
sacred flame while healing yourself on occasion. Holy crap can you take out a bunch of regular melee monsters.
Sure, the fighter types aren't as effective at range. Fair enough. That's the point. You're not supposed to be equally effective all the time.
In a group game, the other players help overcome each other's weaknesses. A fighter is better at taking damage and face tanking than the mage, so he does that. The mage can cast
fly on the fighter to get him into melee against fliers. The cleric can heal to keep people alive in tough fights. The striker does a lot of damage while the face tanker takes the damage. You cover the other guy.
It was never an issue until 5E. Concentration makes it so when I provide the fighter with a
fly spell to shore up his mobility weakness, suddenly I've limited myself from both a power and fun standpoint. First edition of D&D to do that. It kind of sucks from the perspective a caster wanting to use some of his nifty higher level concentration spells.
It's not a balance problem. We still win the fights. The game isn't broken because of it. I just find the designer choice damages my fun when I'm using my magic to buff up the melee martial to do his job better.
But, then, I'm not terribly convinced that melee heavy combatants are all that out of line anyway. To me, that's very campaign dependent. An Underdark campaign, or Undermountain, or World's Largest Dungeon campaign, or Return to the Temple of Elemental Evil, or even most of the "classic" modules don't necessitate ranged combat. They never did.
It is campaign dependent. There are more campaigns where ranged will have an advantage over melee than vice versa or where they are equal.
There are times when being good at melee helps. Sometimes the archer in our group has stuff in his face and he doesn't want the disadvantage from firing with stuff in his face. So he switches to a melee weapon and shield.
More often he has a great advantage being able to attack from range with no cover penalties. Even recently we fought at group hiding in a keep using arrow slits to attack us. +5 cover versus ranged attacks and no ability to attack as a melee. The enemy could not stay at the arrow slits because the Sharpshooter could shoot through them with no penalty. They moved back and forth behind cover. Archer had to use ready actions to hit them. That worked fine since he had positioned for great cover. The melee had to stay where they are and wait. Ranged characters rarely have to wait and almost never do melee get to run in while ranged have to wait. If melee can attack, ranged can usually hammer as well. But the same is not true the other way.
It's not an insurmountable obstacle. Damn did they make being a ranged character great in 5E. I thought they were tough in 3E with seven shots a round. Even 3E made sure to limit the ability to move, full attack, and move again for obvious reasons. 5E just said screw it. Let's give everyone the ability to move, shoot a full attack, and go behind full cover. It won't overshadow melee, no way. Well, it does in many situations.