OK if any of you guys are going to be playing around with C# and are looking for some ideas. I drew up a list of game programming 101 topics. I'm having a hard time making any headway with C#. I think if someone could just break it up into individual files that each do a simple thing, then from those basic building blocks you can pretty much do most any game application:


Make a dot

Make dot move every time you hit the enter key using a simple loop

1. Draw new dot each time refreshing the screen

2. Keep adding dots to existing canvas

Make a game loop which exits when you hit the Esc key

Make dot move using arrow keys

Make it so when dot exits on right side of screen it enters again on the left

Make it so dot cannot go beyond edge of screen

Make a square room for dot

Make dot move around at 45 degree angles and bounce off walls like in Pong

Make a rectangle paddle and make it move left and right using mouse

Add collision to paddle

Make game fill screen

OK now let's think Space Invaders:
Change the paddle to a 2D sprite of a spaceship

Change the dot to 2D animated sprite monster

Make the ship fire dots every time you click the mouse or hit the spacebar

Make it so when dot hit's monster,it adds a point to score displayed on screen

Make monster display an explosion graphic and disappear when hit

Now think Pac Man:
Player has 3 lives. Every time a monster touches player, the game halts and you have to start over. After 3 fails, display the end screen with final score and give the option to play again.

Now, make level 1 with 1 monster, level 2 has 2 monsters, level 3 etc...
each time you complete a level you get a congratulations screen.

Add sounds. Exploding monster, firing gun, looping soundtrack.

Create a high scores list. Allow user to enter their name if they make the top 10.

Now let's think 3D:

Make a cube

1. Rotate cube in x or y using mouse

2. Rotate camera around cube using mouse

Make a 3D room with the camera positioned above the room looking down.
Add textures to walls.
Add tiled texture to floor.

Add a teapot and apply a generic color

Now think Tanks:
Make the teapot rotate using the left and right arrow keys and move forward using the up arrow key.
Make the teapot fire a ball when you hit a mouse button or hit the space bar
Create explosion effect when ball hits wall or object.
Draw graphic on wall where ball hits.
Add parablic curve to ball trajectory to simulate gravity.
Add colored cube Ammo Pickup and give the teapot an Ammo Limit.
Make pickups appear periodically in random locations.
Add assorted color obstacles using various DirectX primitives.

Basic AI
Make a colored cone with the point facing forward to indicate the front.
Make the cone a zombie: randomly wandering about, bumping into walls.
Make a different color zombie. This one still wanders aimlessly, but avoids walls and obstacles.
Make another color cone which follows you wherever you go.
Make another color cone which will follow you only if you are within it's field of vision.
Make another which will only attack if you are within a certain range.
Make an enemy that shoots back at you.

Make enemies which will spawn duplicates of themselves if you don't shoot them within a certain amount of time.

Replace teapot with mesh model
Make model play an animation when moving forward / shooting

Make the camera follow the model
Make objects which get between camera and model transparent
Make option to switch between First Person and camera views