# 17. Tutorial: Breakout
This chapter builds a complete game from an empty file: three lives, six rows of bricks,
three level layouts, a score, a high score, sound, and a title screen that plays itself.
Nothing is loaded from disk — the ball and the paddle are drawn from numbers in the
listing, and the wall, the HUD and the messages are characters written into the text grid.
This is what you are building:

The finished listing is
[`examples/breakout/characters/breakout.bas`](../examples/breakout/characters/breakout.bas).
You do not need it to follow along, but it is the same program assembled, and it is worth