anchor.diff:                                (p2dm:scaled-vector (reduce #'p2dm:add-vectors boids :key #'entity-velocity)
                                                     (/ 1.0 boids-cnt))
                                 :alignment)
  -                         0.5)
  +                         0.4)
           (p2dm:make-vector-2d))))
   
   (defun separate (boid all-boids)
  
positive.code: 
  ;;; Conf
  
  (defparameter +max-boid-steering+ 30.0)
  (defparameter +max-boid-speed+ 30.0)
  (defparameter +max-boid-separation+ 50)
  (defparameter +min-boid-separation+ 20)
  
  (defparameter +boid-perception-range+ 100)
  
  
  
negative.code:                               :separation)
                           1.0)
          (p2dm:make-vector-2d))))
  
  (defun avoid-walls (boid)
    "Behaviour to limit `BOID' to gameplay area."
    (let* ((position (entity-position boid))
           (xpos (p2dm:vec-x position))
           (ypos (p2dm:vec-y position)))
  
      (p2dm:make-vector-2d (or
                            (when (< xpos +min-boid-distance-to-game-area-boundary+) 1.0)
                            (when (< (- p2d:*canvas-width* xpos) +min-boid-distance-to-game-area-boundary+) -1.0)
                            0.0)
                           (or
                            (when (< ypos +min-boid-distance-to-game-area-boundary+) 1.0)
                            (when (< (- p2d:*canvas-height* ypos) +min-boid-distance-to-game-area-boundary+) -1.0)
                            0.0))))
  
  
  