Language junkies like me often face a dilemma: when learning a new programming language for one's own amusement, what's a good first individual project? It's not as if you're going to make up requirements for a payroll application or anything. So why not make a game? You can go with the old standbys, like TicTacToe or a guess-the-number variant, but those are too simple. You can try making the GameOfChess, but making the computer play isn't something everyone knows how to do (and it gets tiring after the third time). Ideally, you want a one-player game that has reasonably mindless opponents, but is still fun to play when done right, and can be programmed a piece at a time.
It is my belief that CentipedeGame provides just the right balance for this purpose.
My first games (for microcomputers running BASIC) were always on the "Dodge the Meteors" theme. Pretty simple: you print random numbers of spaces followed by an asterisk, repeat this, and the screen scrolls as a result. Then you use POKE and PEEK into video memory to put a block at the top of the screen. Use INKEY$ to let the player move left and right. If PEEK shows that the player hit an asterisk, the player dies.
Later I wrote a Turbo Pascal program which I called "Invasion of the Killer Pound Signs." It looked a bit like Space Invaders, but it ran on the DOS text screen, and it had a couple of interesting twists. But it is unplayable on fast CPUs. I still wonder from time to time if I should try to rewrite it for the Win32 console or something.
Today's modern GUI systems seem to encourage you to write dialog-box programs, and you can't do stuff like this anymore. -- EdwardKiser
Today's modern GUI systems seem also to discourage character-mapped and bit-mapped graphics as well, so the race-car game probably isn't a good idea, either. And too bad about bitmapped graphics, since LittleSimulations? would probably make good first projects as well. --NickBensema
I would recommend (TestFirst, natch) a VirtualPet?. Less synchronization issues during the animation. --PhlIp
A friend of mine who is both a game coder and who has experience in teaching people to write code recommends the game of Simon as a good first project. Apparently, people have problems even trying to write a clone of Pong in his experience. I'm not sure that I believe that, but he swears by it. --SamuelFalvo?