omegatheknight - Like the previous posters have said, there isn't an easy way to jump into making full-fledged games without a good amount of experience. However, a trick I used when I was first starting out(and even today when I'm doing things I've never done before), is to not think about your game in terms of classes and variables, but in terms of features and components.
For instance, say you want to get a ship moving around on the screen. Don't let your first thought go immediately to what a ship class should have in it, but rather all of the things the ship will be able to do. If it can accelearate,brake, and shoot, then you can take each of those items and decide what will be necessary to make them happen. Now, from what you say, it sounds like you can already code functionailty like this, but the same principles can be applied to more complex tasks.
Making an asteroids game, might seem like a daunting task, but as you've already said, you understand classes, inheritance and encapsulation, so the next step is to use the method above to break down the seemingly complex task, of making an asteroids game into steps of:
What Objects will be in the game?
What are they able to do?
What functionailty do they share?(inheritance)
What controls are supported?
What information needs to be displayed to the user?
what type of game states need to be made available?(Start menu, difficulty select, game, death screen, credits, high score, etc)
Each of these questions is a complex task in their own right, so applying the method above you can break down each complex problem into a simple one. Then you can easily research the problem at hand, and discover your solution. Don't be afraid to come to the forums if you don't have a solution, but try to break down the problem into as small a piece as possible.
Joshua Foss Programmer / Writer
XNA Documentation Team
Blog - Game Development Theory