'use strict';

var coinFlip = function () {
    return Math.random() < 0.5;
}

var plusOrMinus = function (value) {
    return coinFlip() ? value : -value;
}

var plusOrMinusMax = function (value) {
    return (Math.random() * value * 2) - value;
}

var Config = {
    Brain: {
        MinHiddenLayers: 1,
        MaxHiddenLayers: 2,
        MinNodesPerHiddenLayer: 3,
        MaxAdditionalNodesPerHiddenLayer: 0,
    },
    ChanceOf: {
        ActivationFunctionChange: .01,
        ConnectionWeightChange: .05,
        ScanRadiusChange: .03,
    },
    Creature: {
        AngularMaxSpeed: Math.PI / 3,
        LinearMaxSpeed: 10,
        MaxRadius: 10,
        StartingScanRadius: 50,
        MaxStartingParts: 5,
        MaxRadialChange: .5,
        Part: {
            MaxRadius: 7,
            MaxDistanceFromCreature: 25,
            MaxExtendContractSpeed: 5,
            MaxAngularSpeed: Math.PI / 25,
            MinRadiusForConsumption: 1,
        },
    },
    Fluxuation: {
        RandomConnectionWeightChange: () => plusOrMinusMax(.1),
        RandomScanRadiusChange: () => plusOrMinusMax(5),
    },
    Mutation: {
        GlobalMutationRate: .5,
    },
    World: {
        FoodDensity: .0002,
        GenerationLengthInSec: 10,
        MaxCreatures: 50,
        TickIntervalInMs: 10,
        ReproductionPercentile: .5,
    }
};

module.exports = Config;

@@ -12,152 +12,8 @@
 ';%0A%0A
-var coinFlip = function () %7B%0A    return Math.random() %3C 0.5;%0A%7D%0A%0Avar plusOrMinus = function (value) %7B%0A    return coinFlip() ? value : -value;%0A%7D%0A%0A
 var 
@@ -48,16 +48,16 @@
 alue) %7B%0A
+
     retu
@@ -180,17 +180,17 @@
 Layers: 
-2
+1
 ,%0A      
@@ -260,17 +260,17 @@
 nLayer: 
-0
+3
 ,%0A    %7D,
@@ -478,18 +478,18 @@
 xSpeed: 
-10
+25
 ,%0A      
@@ -896,17 +896,17 @@
 nusMax(.
-1
+3
 ),%0A     
@@ -1057,17 +1057,18 @@
 ty: .000
-2
+15
 ,%0A      
@@ -1181,25 +1181,25 @@
 ercentile: .
-5
+3
 ,%0A    %7D%0A%7D;%0A%0A

Tweak some config with no real rhyme or reason