   defaultGenes: ->
     @mergeGenes super(), {
       auditoryRange: [ Math.min( @universe.maxDistance / 3, 20 ), 10, @universe.maxDistance / 2 ]
-      visualAngle: [ .45, .1, 1 ]
+      visualAngle: [ .45, .1, .8 ]
       visualRange: [ Math.min( @universe.maxDistance / 2 , 30 ), 20, @universe.maxDistance ]
       g: [ 250, 1, 5000 ]
       jitter: [ .05, 0.01, 1 ]

    @radius = options.radius || 4
    @type = Plant
  gain: -> .5
  dispersalStart: -> 15
class Animal extends Organism
  constructor: ( location, options = {} ) ->
    super location, options

      babyCost: [ 1, 1, (t) -> t.health() / 2 ]
      babyThreshold: [ .5, .1, .9 ]
      babyTries: [ 2, 1, (t) -> Math.min( 100, t.babyTries() * 2 ) ]
      mutationRate: [ .1, 0.01, 1 ]
      mutationRange: [ .1, 0.01, 1 ]
    }
  # how far away from its mother a baby can be "born"
  dispersalRadius: -> 3 * @radius
  # utility function for extending default genes
  mergeGenes: ( base, ext ) ->
    genes = {}
