/// <summary> /// Performs the actual initialization logic. /// </summary> protected void setupVariables() { substrateDescription = new SubstrateDescription(substrateDescriptionFilename); agentBrain = new AgentBrain(homogeneousTeam, numberRobots, substrateDescription, genome != null ? genome.Decode(null) : null, normalizeWeights, adaptableANN, modulatoryANN, multibrain, evolveSubstrate, neatBrain, useCTRNNS); loadEnvironments(this); initializeRobots(agentBrain, environment, headingNoise, sensorNoise, effectorNoise, null); setFitnessFunction(fitnessFunctionName); setBehavioralCharacterization(behaviorCharacterizationName); collisionManager = new StandardCollision(); collisionManager.initialize(environment, this, this.robots); timeSteps = 0; elapsedTime = 0; }