i believe it is very important to capture the theme of dota2 and translate it into a card game. I started with one of the most iconic characters in Dota Crystal maiden. she is the typical wizard type hero with a weak physique. these translate into low base health and attack, and powerful character ability cards.
Another concept is to separate ability from attacks, much like in a real game of dota. casting ability is much safer but costs resources. attacking your enemy directly is risky, whomever you attack will retaliate. So I created 2 specific keywords for these two situations: "deal damage" and "attack an enemy"
Full set of ability card for crystal maiden
Designing card system
card effects are separated into 3 categories: effects come in play on draw, effects come in play on play and effect come in play on discard. within each category there are sub-categories like apply buff/debuff, dealing/attack enemies and gaining resources.
The result is a system that i can quickly implement new cards without scripting individual card.
The next thing is to create a combat system that can interpret the keywords on the cards. in the current iteration, cards can have effects that deal damage/attack/apply buff and debuff to one or several enemies, either chosen by the player or randomly. and a card can have any combinations of these effects. On top of that, the buff and debuff system is implemented and cards can check for specific debuff for amplification effects.
To be continued