I learned English by playing games when I was young and as I learn other languages I use games as a way of practicing and acquiring vocabulary. I've also worked on some Language Learning Programs for kids using Software to help them learn.
I've found that the most important thing about using a game to help them learn is that the game must be fun and engaging to them even if they don't understand what is happening.
For example, in a "simple" game like Pokemon, once they understand the game basics they will go through the game barely following the story but catching Pokemon and battling because it's as easy as "Pick an attack and see how much it damages the opponent". While they play, they will pick up vocabulary here and there and may even search for words they don't understand because they want to learn what do to, what else can they do and what's going on in their language so they can tell others about it.
But if they are not interested, they'll get bored and will not be willing to continue, especially if they don't understand what's going on in the game.
I mentioned Pokemon because it's a great option for kids in the 7-12 age group. Most kids like Pokemon, catching them, discovering new Pokemon and making them battle. Newer Pokemon games like X/Y or ORAS are especially good because of the range of activities and locales in them and their graphics and simplicity are appealing to most kids.
Something else I found is that the game should be slow. Kids should be able to pause and see the words clearly, and be able to have a chance to ask and/or search for their meaning, especially if they can explain the context in which the word appears. Once again, Pokemon is great for this, as the game doesn't continue unless you press a button and most words will be repeated through the game.