In this section, we will dissect several popular categories of games. The goal of this section is not to make you an expert in any of the genres discussed — there is just too much information to cover here. Entire books can be written on any one of these games. The goal of this section is to make you look at the games that you play a little differently: as a developer, rather than as a player.
Chapter 13, Arcade Game
In chapter 13, you will develop a game based on the arcade classic, PONG, which supports two players. This is just about as simple as it gets when it comes to real-time interactive games, so it’s a great starting point for folks who don’t have any game programming experience or just want to see the XNA way of doing things.
Click here to: See the video.
Chapter 14, Brick Breaker
In chapter 14, you will develop a game based on the arcade classics, Arkanoid and Breakout. It may not look it, but this game is very similar in design to the game in the previous chapter. There are a few more bells and whistles, but the underlying game mechanics are nearly identical. When you’re done, keep the example code from this chapter handy. We’ll be developing a level editor for the game in Chapter 24, “Brick Breaker Level Editor”.
Click here to: See the video.
Chapter 15, Puzzle Game
In chapter 15, you will develop a game based one of my favorite puzzle game titles, Tetris Attack (based on Panel De Pon, and revisited as Pokemon Puzzle League). Puzzle games are one of those rare genres that cross gender and age boundaries, appealing to casual and hard core gamers alike. While the data structures and logic behind puzzle games are a little more complex than that found in the retro arcade examples found in the first two chapters of this section, they’re still relatively simple (in the greater realm of game programming). In fact, Tetris clones are often used as the “Hello, World” of game programming, serving as the introduction to game development for most programmers.
Click here to: See the video.
Chapter 16, Top-Down Scroller
In chapter 16, you will develop a game based on the many top-down scrolling shooter games like Xevious, 1942, Galaga, and Raiden, which supports two players. Players shoot enemy ships and collect power-ups that improve their weapons, shields, health, and score. While the code for this game is a little more complicated than the games in the first two chapters of this section, the basic concepts are the same, and you’ll be able to build on your knowledge from the earlier games as you work through this chapter.
Click here to: See the video.
Chapter 17, Card Game
In chapter 17, you will develop a game based on the popular Solitaire card game. For this game, we will build reusable data structures and logic for representing, shuffling, drawing, and animating playing cards.
Click here to: See the video.
Chapter 18, Board Game
In chapter 18, you will develop a game based on the popular Reversi and Othello board games. This game supports two players, and it provides a computer opponent for folks like me who don’t have any human friends to play with. Three variants of the computer opponent are implemented, and the base game code is written so that you can easily add more. The first AI randomly selects a move from all the available, legal moves — fast, but stupid. The second AI is a basic implementation of the MinMax algorithm — more thoughtful, but slower. The third AI is based on the second, but implements the standard AlphaBeta pruning for the MinMax routine — smart and (relatively) fast.
Click here to: See the video.
Source Code
Click the button to download the source code for these chapters.
