XNA 4.0 Game Development by Example Beginner's Guide(Visual Basic Edition)
上QQ阅读APP看书,第一时间看更新

Designing a puzzle game

The Puzzler has always been a popular game genre. From old standbys such as Tetris, to modern crazes such as Bejeweled, puzzle games are attractive to players because they do not require a long-term time investment or a steep learning curve.

The game mechanic is the heart of any good puzzle game. This mechanic is usually very simple, with perhaps a few twists to keep the players on their toes.

In Flood Control, the player will be faced with a board containing 80 interactive pieces of pipe (the rows on the left and right are built into the background image, since they always stay the same). Some will be straight pipes and some will be curved. The objective of the game is to rotate the pipes to form a continuous line, to pump water from the left-side of the board to the right-side of the board.

Completing a section of pipe drains water out of the base and scores points for the player, but destroys the pipes used. New pipes will fall into place for the player to begin another row.

Flood Control focuses on the following concepts:

  • Using the Content Pipeline to load textures from disk
  • Creating classes to divide code into logical units
  • Recursively evaluating the status of the game board to locate scoring chains
  • Drawing textures using the SpriteBatch.Draw() method
  • Utilizing some of the various .NET Collection classes (List, Dictionary, and Queue)
  • Managing simple game states