How to Design a Dota Hero
Listed according to importance. If you are just starting to design heroes I recommend you stick to the rules for a while and only start breaking them after you have gotten used to what they mean.
What does a well designed Dota hero need?
Individual synergy between abilities. Heroes shouldn't just be a collection of random abilities.
Multiple access points for synergies. A common mistake to make is to tie all synergies to a single point. For example: 3 abilities that do X, an ultimate that does Y when X happens. The abilities aren't actually synergistic with each other, only with a single one. Synergies should still exist even when an ability is eliminated.
Make the synergy be natural synergy, not forced synergy. Synergy doesn't mean that abilities should reference themselves or other abilities. There are more elegant ways to do it. For example: Q does magic damage. You want the E to do more damage when used after Q. Instead of saying "E does more damage when used after Q" say "Q gives spell amp after use".
Not every skill has to have synergy with other skills but they shouldn’t be anti-synergistic. In fact it's better when not every spell is super tied into the others. But be careful that you don't accidently create anti-synergy. For example: E does AOE damage around your hero. W pushes enemy heroes away. Now you don't want to use the W when you are near someone or the E does nothing. This effectively makes one of your spells useless.
A broken spell. Something that defines the hero that would be absurd if paired with a different skillset. Think Slark with Essence Shift, Lifestealers Rage or Broodmothers Webs.
A spell that's just good and solid and usable. Something that can be used in every situation. It doesn't have to be at it's peak potential in every situation but it should be unconditionally impactful.
Keep it simple. You should be able to explain your ability in very few sentences.
Don’t force downsides or overly complicated mechanics. A common mistake I see is people giving their heroes huge downsides on abilities that don't need them. Think about how many abilities in Dota come with downsides. There is a reason for that. Downsides should only exist in the rarest circumstance and only with strong justification.
The hero should enable its own gameplay. If you're building a core, give them a tool to make money with. If you are building a support, give them something strong early.
The hero shouldn't be good at everything, it needs limitations. People often make heroes that are jacks of all trades but masters of none. That archetype doesn't work for heroes, it has never worked for heroes and you have to stop building them. Give your hero an identity. A good way to do that is by giving them limitations and asking players to solve the problems caused by those limitations.
Isn’t just a gimmick. "This heroes spells do damage to themselves" isn't a hero, it's a gimmick. I'm not saying your hero can't be that but that you have to justify it. Unless you can give me an explanation as to why this hero needs the gimmick, your hero probably shouldn't have it.
Serves a purpose in a team. Think about the role and purpose your hero would have on a team.
Slots into a niche that doesn’t exist. If that exact role and purpose is already occupied by a different hero, maybe you should change your design.
Has an item build that’s unique. This is less required and more bonus points, but I really don't think we need another BF carry, so try to avoid creating one.