Chapter 3. Building Our First Game – Breakout

So far, we have gone through some important basics of programming in Lua and applied some code to run in the Corona simulator. Knowing the terminology is a small part of learning how to create an application. We'll need to take a step further and get some hands-on experience of what it's like to structure a project from start to finish. We're going to accomplish this by creating our first game from scratch. This will push you further to understand larger chunks of code and apply some game logic to create a functional game.

By the end of this chapter, you will understand:

Let the fun begin!

You have probably seen many forms of the game Breakout in the past couple of decades, especially during the Atari days. To give you a good idea of what the game is about, here is a brief editorial by Big Fish Games about the history of Breakout: http://www.bigfishgames.com/blog/the-history-of-breakout/. The following screenshot is an example of Breakout:

Breakout – bringing back old-school gaming

On the game screen, there are several columns and rows of bricks placed near the top of the screen. A ball travels across the screen, bouncing off the top and side walls of the screen. When a brick is hit, the ball bounces away and the brick is destroyed. The player loses the round when the ball touches the bottom of the screen. To prevent this from happening, the player has a movable paddle to bounce the ball upward, keeping it in play.

We're going to create a clone using touch events and the accelerometer for the paddle movement that will be controlled by the player. We'll be adding some physics to the ball so that it can bounce around the screen.

In the next chapter, we'll be adding the movement of the game objects, collision detection, score keeping, and win/lose conditions. Right now, we're going to focus on how to set up the game template of Breakout.