protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { ProjectileSpeed = genomeWrapper.GetScaledNumber(ProjectileSpeed); RandomSpeed = genomeWrapper.GetScaledNumber(ProjectileSpeed * 0.25f, RandomSpeed); LoadTime = genomeWrapper.GetScaledNumber(LoadTime * 10, LoadTime, 0.1f); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { ShootAngle = genomeWrapper.GetScaledNumber(180); TorqueMultiplier = genomeWrapper.GetScaledNumber(TorqueMultiplier); LocationAimWeighting = genomeWrapper.GetScaledNumber(16); TimeToTargetForDetonation = genomeWrapper.GetScaledNumber(2, 0, 0.1f); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { Multiplier = genomeWrapper.GetScaledNumber(Multiplier * 2, AllowNegative ? -Multiplier * 2 : 0); Threshold = genomeWrapper.GetScaledNumber(Threshold * 2); FlatBoost = genomeWrapper.GetScaledNumber(FlatBoost * 2, AllowNegative ? -FlatBoost * 2 : 0); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { TranslateFireAngle = genomeWrapper.GetScaledNumber(MaxShootAngle); TorqueFireAngle = genomeWrapper.GetScaledNumber(MaxShootAngle); FullThrottleTranslateFireAngle = genomeWrapper.GetScaledNumber(MaxShootAngle); EngineForce2 = genomeWrapper.GetScaledNumber(EngineForce2); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { RocketGenome = genomeWrapper.Genome.Substring(genomeWrapper.GetGeneAsInt() ?? 0); Velocity *= genomeWrapper.GetScaledNumber(1); RandomStartTime = genomeWrapper.GetScaledNumber(RandomStartTime * 2); MinStartTime = genomeWrapper.GetScaledNumber(MinStartTime * 2); RandomSpeed = genomeWrapper.GetScaledNumber(RandomSpeed * 2, RandomSpeed, 0.1f); LoadTime = genomeWrapper.GetScaledNumber(LoadTime * 2, LoadTime, 0.1f); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { const float MaxVelociyTollerance = 100; const float DefaultVelociyTolleranceProportion = 0.1f; ShootAngle = genomeWrapper.GetScaledNumber(180); LocationAimWeighting = genomeWrapper.GetScaledNumber(2); SlowdownWeighting = genomeWrapper.GetScaledNumber(70); MaxRange = genomeWrapper.GetScaledNumber(5000, 0, 0.1f); MinRange = genomeWrapper.GetScaledNumber(1000, 0, 0.1f); MaxTangentialVelocity = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); MinTangentialVelocity = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); TangentialSpeedWeighting = genomeWrapper.GetScaledNumber(70); AngularDragForTorquers = genomeWrapper.GetScaledNumber(2, 0, 0.2f); RadialSpeedThreshold = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { const float MaxShootAngle = 180; const float DefaultShootAngleProportion = 0.5f; const float MaxLocationAimWeighting = 2; const float DefaultLocationAimWeightingProportion = 0.5f; const float MaxSlowdownWeighting = 70; const float DefaultSlowdownWeightingProportion = 0.5f; const float MaxTangentialVelosityWeighting = 70; const float DefaultTangentialVelosityWeightingProportion = 0.5f; const float MaxMaxAndMinRange = 1000; const float DefaultMaxAndMinRangeProportion = 0.1f; const float MaxVelociyTollerance = 100; const float DefaultVelociyTolleranceProportion = 0.1f; const float MaxAngularDragForTorquers = 2; const float DefaultAngularDragForTorquersProportion = 0.2f; ShootAngle = genomeWrapper.GetScaledNumber(MaxShootAngle, 0, DefaultShootAngleProportion); LocationAimWeighting = genomeWrapper.GetScaledNumber(MaxLocationAimWeighting, 0, DefaultLocationAimWeightingProportion); SlowdownWeighting = genomeWrapper.GetScaledNumber(MaxSlowdownWeighting, 0, DefaultSlowdownWeightingProportion); MaxRange = genomeWrapper.GetScaledNumber(MaxMaxAndMinRange, 0, DefaultMaxAndMinRangeProportion); MinRange = genomeWrapper.GetScaledNumber(MaxMaxAndMinRange, 0, DefaultMaxAndMinRangeProportion); MaxTangentialVelocity = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); MinTangentialVelocity = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); TangentialSpeedWeighting = genomeWrapper.GetScaledNumber(MaxTangentialVelosityWeighting, 0, DefaultTangentialVelosityWeightingProportion); AngularDragForTorquers = genomeWrapper.GetScaledNumber(MaxAngularDragForTorquers, 0, DefaultAngularDragForTorquersProportion); RadialSpeedThreshold = genomeWrapper.GetScaledNumber(MaxVelociyTollerance, 0, DefaultVelociyTolleranceProportion); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { TurnTableMotorFoce = genomeWrapper.GetScaledNumber(TurnTableMotorFoce); TurnTableMotorSpeedMultiplier = genomeWrapper.GetScaledNumber(TurnTableMotorSpeedMultiplier * 2); TurnTableMotorSpeedCap = genomeWrapper.GetScaledNumber(TurnTableMotorSpeedCap * 2); ElevationHubMotorFoce = genomeWrapper.GetScaledNumber(ElevationHubMotorFoce); ElevationHubMotorSpeedMultiplier = genomeWrapper.GetScaledNumber(ElevationHubMotorSpeedMultiplier * 2); ElevationHubMotorSpeedCap = genomeWrapper.GetScaledNumber(ElevationHubMotorSpeedCap * 2); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { Friction = genomeWrapper.GetScaledNumber(Friction * 2); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { Fuel = genomeWrapper.GetScaledNumber(Fuel, 0, 0.9f); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { MotorForce = genomeWrapper.GetScaledNumber(MotorForce * 2); return(genomeWrapper); }
//private void LogTargetChange(Target old, PotentialTarget newTarget, bool oldWasInvalid) //{ // var log = transform.name + " has started targeting "; // if (newTarget != null) // { // log += newTarget.Transform.name + " (score=" + newTarget.Score + ") at " + newTarget.Transform.position; // } else // { // log += "nothing"; // } // if (oldWasInvalid) // { // log += " because the previous target was invalid"; // } else if (old != null) // { // log += ". Previously " + old.Transform.name + " at " + old.Transform.position; // Debug.Log(log); //log only retargets. // return; // } // //Debug.Log(log); //} protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { PollInterval = genomeWrapper.GetScaledNumber(10, 1); return(genomeWrapper); }
protected override GenomeWrapper SubConfigure(GenomeWrapper genomeWrapper) { ShootAngle = genomeWrapper.GetScaledNumber(20, 0, 0.01f); return(genomeWrapper); }