Is it okay to charge for access for a Free-2-Play game?
Blizzard is offering a $40 bonus pack for Heroes of the Storm. It has some heroes, some skins, and most importantly, Beta Access. If you didn't get an Alpha invite, this is pretty much the only way to get into Heroes of the Storm.
I got an Alpha invite, and I've played a little bit of Heroes. MOBAs are not really my cup of tea. I've never actually played League of Legends or similar. So I can't really tell you much about the gameplay.
But in my opinion, the label "Beta" is a misnomer. Heroes is pretty much ready for launch. Any company other than Blizzard would have launched already. I'm sure they're going to add more heroes, and do the occasional balance tweak. But that's par for the course for a modern online game.
One could say that Heroes is launching. It's just going to cost $40 for the first couple months and then go free. Essentially, you're paying to play it at "launch". If you're willing to wait, the game will eventually become free.
I don't think this is a bad thing. The Old Republic does this with early access for features for subscribers. Books have traditionally done it with expensive hardcovers coming before cheap paperbacks. Heck, one could say that games do it with sales, especially the eventual Steam sale. The only real difference is that at the end, the company offers the game for free, instead of a nominal $5 or whatever the Steam sale price is.
I also think these types of schemes have other benefits. It rations everyone into the game slowly. Rather than have a massive rush of players at launch, you have several generations. New blood comes in to refresh the community as people start to leave.
In fact, consider a scheme like the following: For the first month after launch, the game costs $60. The second month, the game costs $50. The third month, $40. In the seventh month, the game becomes fully Free-2-Play. I think such a scheme would be straightforward and beneficial, rather than masking the current state by calling Launch "Beta".