For this reason, I like the Triple Triad game they have in the FF Portal app. If I win a match, I can choose which of the opponent's cards to add to my collection. Mind you, they have nearly 400 cards and the NPC has to USE the card in order for it to be available upon victory. This also means they have many decks per NPC and they do have some decks they use rarely. So you have to play them over and over again to get them to use the card, then actually win that match, to get what you want. If there are 4-5 cards in that same rare deck, it's going to take a while.

Mind you that you're also limited to 5 matches in a row that refresh at a rate of 30 minutes per match unless you buy more, so that's what keeps me from farming all cards in a couple of days. Perhaps some balance of this could be worked in. The timers on NPCs does this, to an extent, but mostly it's just frustrating because if you can only play a short time each day, and that NPC window is closed, you're beyond out of luck.