;   Step 3

    ;   Imagine a huge world, 300 screens wide, 300 screens high.
    ;   When the screen is in the middle of this world, you'd have this:
    ;
    ;   +----------------------------------------------------------------+
    ;   |                                                                |
    ;   |  (world)                                                       |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                           (screen)                             |
    ;   |                                                                |
    ;   |                               O---+                            |
    ;   |                               |   |                            |
    ;   |                               |   |                            |
    ;   |                               +---+                            |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   |                                                                |
    ;   +----------------------------------------------------------------+
    ;
    ;   The point marked 'O', being the upperleft corner of the screen
    ;    is indeed coordinate (0,0) with screen orientation.
    ;   But in world orientation, it is definitely not :)
    ;
    ;   This is the same with our background scenario.
    ;   Suppose our background has the same size as the screen as before.
    ;   Now let's move the background a bit and see how our orientation changes.
    ;
    ;              +-------------+
    ;              |             | - Background
    ;              |             |
    ;              |             |
    ;              |      O-------------+
    ;              |      |      |      | - Screen
    ;              |      |             |
    ;              |      |      |      |
    ;              +------|- - - +      |
    ;                     |             |
    ;                     |             |
    ;                     |             |
    ;                     +-------------+
    ;
    ;   Point marked 'O' is in the middle of the background.
    ;   So upperleft of background is half the size of background further.
    ;   If we were to draw the background on the screen,
    ;    we'd have to find out exactly where this is.
    ;
    ;   Let's recap.
    ;   In our original scenario the background was on position (0,0)
    ;    being placed exactly within screen boundaries.
    ;   In the picture above the background is actually moved half the
    ;    size of the background towards the upperleft corner.
    ;
    ;   Suppose we use variables Back_SizeX and Back_SizeY as the
    ;    background size.
    ;   If the background is moved left and up half the size of the
    ;    background, the coordinate would be:
    ;
    ;       ( -Back_SizeX / 2 , -Back_SizeY / 2 )
    ;
    ;   Suppose we can move the screen, like a camera, over the background.
    ;   So if we move the screen right, the background will move left.
    ;   Let's use variables Back_PosX and Back_PosY to know
    ;    where to draw the background *on screen*.

    Back_PosX = 0
    Back_PosY = 0

    Back_SizeX = GraphicsWidth ()
    Back_SizeY = GraphicsHeight ()

    SetBuffer BackBuffer ()
    Repeat

        ;   The movement of background is reversed of the screen movement.

        If KeyDown ( 200 ) Then Back_PosY = Back_PosY + 2
        If KeyDown ( 208 ) Then Back_PosY = Back_PosY - 2
        If KeyDown ( 203 ) Then Back_PosX = Back_PosX + 2
        If KeyDown ( 205 ) Then Back_PosX = Back_PosX - 2

        Rect Back_PosX , Back_PosY , Back_SizeX , Back_SizeY , False

        Flip
        Cls

    Until KeyHit ( 1 )
    End