I believe this has been said before but I would like to try to fully explain the idea, so please hear me out.
In the final version of the game, there has to be some way to get booster packs without paying for them. The packs with codes are at no major retailers and not everyone lives close to a card shop. Plus, (if not already then definately by launch) the majority of players in this game are going to be too young to have jobs, and actually buy card packs on a regular basis (and would not even be able to buy online wiithout their parents help). If they can't get packs for free, then they lose 80% of their games, get angry/annoyed/bored and leave the game. Players who actually buy packs, either because they have jobs or their parents buy packs for them, will also be angry/annoyed/bored with the amount of people they are playing who only have the yellow starter deck and leave as well.
Now, im not saying that everyone will leave, but im saying a reasonable amount of people will. So here are my suggestions:
Decks: When someone new joins, allow them a choice of starter deck. The fire, water, lightning, and grass decks are already good, maybe throw in phsychic and fighting decks too. Now, they can look inside the decks, and pick one to be their starter deck, which the get for free, the rest would have to be purchased (through maybe an in game money that traslates to real money or however you want to do it). Theme decks (current and future) could not be obtained for free, they would have to be purchased.
Boosters: Now, ways to get free boosters, there are quite a few ways this could be done, im going to fully explain my favorite. I suggest a third currency system (next to tokens and gems) call it what you like, for now ill just refer to them as CT(card tokens). You could gain CT in a number of ways, but I suggest winning a ranked match gives you 1 CT (you could also get them as rewards for being a member for X weeks, or for acheivments, on top of winning ranked matches). You can buy 1 card pack of 10 cards for 10 CT(This could be higher or lower, but i suggest 10). Now, on to the packs and codes that people buy with real money. To keep this balanced with CT, how about a code that came with, for example, a black and white pack, would translate to 5 black and white packs in-game? Think about what the people who wants new cards say to themselves. "I can win 50 ranked matches, or i can go and spend $4". See? CT is an alternative for people who cant buy codes, but it does not replace buying them, because buying them is easier and faster. Maybe new packs could even cost more CT than older packs (The newest pack costs 20 instead of 10, until a newer pack comes out, then it costs 10 just like the others). This would encourages purchasing of packs with real money even further.
People who can't get codes for whatever reason can still thoroughly enjoy the game and are not at a huge disadvantage.
The game still makes money off of card packs and theme decks. When you think about it, the people who would buy codes if this wasn't implemented, probably still would even if it was. Collecting all of the cards in 1 booster set would take 150+ wins. So, please impliment some or all of the above idea, or come up with you own, but please allow some way of getting boosters with out money, it will give this game a much longer life than it would have otherwise.
Thoughts? Suggestions? Love it? Hate it?