anchor.diff:        (+ (x (field-offset game)) (x (field-dim game)))
         (+ (y (field-offset game)) (y (field-dim game))))
       :color sdl:*green*)
  -  (draw (paddle game) (xform game)))
  +  (draw (paddle game) (xform game))
  +  (mapc (lambda (b) (draw b (xform game)))
  +        (balls game))
  +  )
   
   ;; (game-loop 'breaker)
  
positive.code:   (:use :cl :platform))
  (in-package :platform-example)
  
  (declaim (optimize (debug 3)))
  
  ;; interfaces
  (defgeneric draw (obj xform))
  
negative.code:   (setf (balls game) nil))
  
  (defmethod step-game ((game breaker) keys-down)
    ;; update paddle
    (with-accessors ((x-paddle x)) (location (paddle game))
      (dolist (key keys-down)
        (case key
          (:left (decf x-paddle *paddle-speed*))
          (:right (incf x-paddle *paddle-speed*))
          (:up (when (count-if #'attached (balls game))
                 (mapc (lambda (b)
                         (when (attached b)
                           (setf (attached b) nil)  
                           (setf (velocity b)
                                 *ball-init-velocity*)))
                       (balls game))))
          ))
      (setf x-paddle (max x-paddle 0))
      (setf x-paddle (min x-paddle (- (x (field-dim game))
                                      (x (dimensions (paddle game)))))))
    ;; update balls
    (when (null (balls game))
      (push (make-instance 'ball :radius *ball-radius*) (balls game)))
    (setf (balls game)
          (mapcar (lambda (b)
                    (if (attached b)
                      (progn
                        (setf (location b)
                              (add (location (paddle game))
                                  (vector-2d
                                    (floor (x (dimensions (paddle game))) 2)
                                    (* -1 (radius b)))))
                        b)
                      (progn
                        (setf (location b)
                              (add (location b)
                                   (velocity b)))
                        b)
                      ))
                  (balls game)))
    )
  
  (defmethod draw-game ((game breaker))
    (dolist (brick (bricks game))
  