Author Topic: Is rogue frequency already keyed off strategic difficulty?  (Read 1668 times)

Offline nas1m

  • Master Member
  • *****
  • Posts: 1,268
Is rogue frequency already keyed off strategic difficulty?
« on: June 08, 2015, 03:15:06 am »
I just started my first game using another difficulty than Normal (on Nightmare and using the Boarines just for the heck of it) and was (happily) surprised to have been attacked by rogues within the first 100 turns multiple times.

Is monster/rogue frequency already influenced/set by strategic difficulty?
The strategic difficulty tooltip does say nothing in that regard. The fact it only mentions the available crowns and population at game start never made me try something else than the default.

Had I known that I could make the early game much more interesting simply by selecting a higher difficulty I would have done this - a long time ago :-\.

So, is this just a clarity/tooltip issue?
Or did I stumble over a bug/something working as intended ;D?

EDIT: Mantised here.
« Last Edit: June 08, 2015, 06:39:16 am by nas1m »
Craving some more color and variety in your next Bionic run? Grab a boost and a couple of custom floors!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #1 on: June 08, 2015, 09:10:33 am »
Yep, it is changed by that.  There are about 40 undocumented things that change between difficulties.  All that stuff is going to be broken out into a new way of setting difficulties (including custom ones) coming up later.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline nas1m

  • Master Member
  • *****
  • Posts: 1,268
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #2 on: June 08, 2015, 09:16:04 am »
Yep, it is changed by that.  There are about 40 undocumented things that change between difficulties.  All that stuff is going to be broken out into a new way of setting difficulties (including custom ones) coming up later.
Would it be reasonable to just list the major factors in the current tooltip in the meantime?
Could enable some more diverse testing until we get there...

All this assuming that you have bigger fish to fry than the New game screen for the next one or two weeks ;).
Craving some more color and variety in your next Bionic run? Grab a boost and a couple of custom floors!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #3 on: June 08, 2015, 09:20:46 am »
Listing all the factors that go in would be pretty tough, but here are the variables if you want them:

Code: [Select]
    public int StartingCrowns;
    public int StartingPopulation;
    public int GracePeriodNumberOfTurnsBeforeRaids = 5;
    public int MinTurnsBetweenRogues_Human;
    public int MaxTurnsBetweenRogues_Human;
    public int MinTurnsBetweenRogues_AI;
    public int MaxTurnsBetweenRogues_AI;
    public int MinTurnsBetweenRaidsByRaces;
    public int MaxTurnsBetweenRaidsByRaces;
    public float AttitudeGainedPerTurnFromDiplomat;
    public float AddedForRogueLevelRagePerTurn_Players;
    public float AddedForRogueLevelRagePerTurn_AIs;
    public float AddedForRogueLevelRagePerTempAbove1000_Players;
    public float AddedForRogueLevelRagePerTempAbove3000_Players;
    public float AddedForRogueLevelRagePerTempAbove6000_Players;
    public float AddedForRogueLevelRagePerTempAbove8000_Players;
    public float AddedForRogueLevelRagePerTempAbove9000_Players;
    public float BaseRogueGrowthRatePerCity;
    public float RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity;
    public float BaseRaidGrowthRatePerCity;
    public float RaidGrowthRatePerCity_MultiplierForBadAttitude;

    public int MaxNormalIncidentsAtOnce = 4;
    public int MinTurnNormalIncidentsCanHappenInGame = 50;
    public int MinBufferTurnsBetweenIncidentsPerNormalQueue = 30;
    public int MaxBufferTurnsBetweenIncidentsPerNormalQueue = 60;

    public int MinTurnsBetweenAIRaidAgainstHuman = 20;
    public int MinTurnsBetweenAIRaidAgainstAnotherAI = 10;
    public int MinTurnsBetweenAIRaidsInGeneral = 5;

    public int TurnsForHolographicBuildingsToAppear = 5;

    #region Thief Stuff
    public int ChanceOfThiefBeingCaught;
    public float AttitudeLostOnThiefCaught;
    public float TrustLostOnThiefCaught;
    public int ChanceOfThiefCrownsTheft;
    public int ChanceOfThiefMilitaryAndWishingTheft;
    public int ThiefCrownGainRangeMin;
    public int ThiefCrownGainRangeMax;
    #endregion

    #region Attitude From Attacks
    public float AttitudeLostFromAttackingBuilding;
    public float AttitudeLostFromDestroyingBuilding;
    public float AttitudeGainedFromInterceptingIncomingAttack;
    public float AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy;
    public float AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy;
    #endregion

    #region Disease Stuff
    public int MinTurnsBetweenDiseases_Human;
    public int MaxTurnsBetweenDiseases_Human;
    public int MinTurnsBetweenDiseases_AI;
    public int MaxTurnsBetweenDiseases_AI;

    public float ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human;
    public float ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human;
    public float ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human;

    public int DiseaseTurnStartPhaseIn = 0;
    public int DiseaseTurnEndPhaseIn;
    #endregion

    public StrategicDifficultyTypeData( StrategicDifficultyType Difficulty )
    {
        this.Difficulty = Difficulty;

        switch ( this.Difficulty )
        {
            case StrategicDifficultyType.Length:
                return;
            #region Easy
            case StrategicDifficultyType.Easy:
                this.StartingCrowns = 50000;
                this.StartingPopulation = 78;

                this.GracePeriodNumberOfTurnsBeforeRaids = 20;

                this.MinTurnsBetweenRogues_Human = 20;
                this.MaxTurnsBetweenRogues_Human = 40;

                this.MinTurnsBetweenRogues_AI = 10;
                this.MaxTurnsBetweenRogues_AI = 30;

                this.MinTurnsBetweenRaidsByRaces = 20;
                this.MaxTurnsBetweenRaidsByRaces = 24;

                this.AttitudeGainedPerTurnFromDiplomat = 1f;

                this.ChanceOfThiefBeingCaught = 5;
                this.AttitudeLostOnThiefCaught = 3;
                this.TrustLostOnThiefCaught = 3;
                this.ChanceOfThiefCrownsTheft = 90;
                this.ChanceOfThiefMilitaryAndWishingTheft = 15;
                this.ThiefCrownGainRangeMin = 700;
                this.ThiefCrownGainRangeMax = 1200;

                this.AttitudeLostFromAttackingBuilding = 0.05f;
                this.AttitudeLostFromDestroyingBuilding = 2f;
                this.AttitudeGainedFromInterceptingIncomingAttack = 3f;
                this.AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy = 0.08f;
                this.AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy = 2f;

                this.MinTurnsBetweenDiseases_Human = 150;
                this.MaxTurnsBetweenDiseases_Human = 230;
                this.MinTurnsBetweenDiseases_AI = 45;
                this.MaxTurnsBetweenDiseases_AI = 65;

                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human = 0.0005f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human = 0.0001f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human = 0.005f;

                this.AddedForRogueLevelRagePerTurn_Players = 0.5f;
                this.AddedForRogueLevelRagePerTurn_AIs = 0.5f;

                this.AddedForRogueLevelRagePerTempAbove1000_Players = 0.05f;
                this.AddedForRogueLevelRagePerTempAbove3000_Players = 0.05f;
                this.AddedForRogueLevelRagePerTempAbove6000_Players = 0.1f;
                this.AddedForRogueLevelRagePerTempAbove8000_Players = 0.15f;
                this.AddedForRogueLevelRagePerTempAbove9000_Players = 0.15f;

                this.BaseRogueGrowthRatePerCity = 0.003f;
                this.RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity = 0.0002f;

                this.BaseRaidGrowthRatePerCity = 0.003f;
                this.RaidGrowthRatePerCity_MultiplierForBadAttitude = 0.0002f;

                this.DiseaseTurnStartPhaseIn = 30;
                this.DiseaseTurnEndPhaseIn = 70;
                break;
            #endregion
            #region Normal
            case StrategicDifficultyType.Normal:
                this.StartingCrowns = 25000;
                this.StartingPopulation = 42;

                this.GracePeriodNumberOfTurnsBeforeRaids = 15;

                this.MinTurnsBetweenRogues_Human = 10;
                this.MaxTurnsBetweenRogues_Human = 30;

                this.MinTurnsBetweenRogues_AI = 8;
                this.MaxTurnsBetweenRogues_AI = 20;

                this.MinTurnsBetweenRaidsByRaces = 17;
                this.MaxTurnsBetweenRaidsByRaces = 21;

                this.AttitudeGainedPerTurnFromDiplomat = 0.5f;

                this.ChanceOfThiefBeingCaught = 10;
                this.AttitudeLostOnThiefCaught = 5;
                this.TrustLostOnThiefCaught = 5;
                this.ChanceOfThiefCrownsTheft = 80;
                this.ChanceOfThiefMilitaryAndWishingTheft = 5;
                this.ThiefCrownGainRangeMin = 400;
                this.ThiefCrownGainRangeMax = 800;

                this.AttitudeLostFromAttackingBuilding = 0.1f;
                this.AttitudeLostFromDestroyingBuilding = 3f;
                this.AttitudeGainedFromInterceptingIncomingAttack = 2f;
                this.AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy = 0.05f;
                this.AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy = 1.5f;
               
                this.MinTurnsBetweenDiseases_Human = 140;
                this.MaxTurnsBetweenDiseases_Human = 220;
                this.MinTurnsBetweenDiseases_AI = 40;
                this.MaxTurnsBetweenDiseases_AI = 60;

                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human = 0.001f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human = 0.0005f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human = 0.01f;

                this.AddedForRogueLevelRagePerTurn_Players = 1f;
                this.AddedForRogueLevelRagePerTurn_AIs = 0.5f;

                this.AddedForRogueLevelRagePerTempAbove1000_Players = 0.1f;
                this.AddedForRogueLevelRagePerTempAbove3000_Players = 0.1f;
                this.AddedForRogueLevelRagePerTempAbove6000_Players = 0.2f;
                this.AddedForRogueLevelRagePerTempAbove8000_Players = 0.3f;
                this.AddedForRogueLevelRagePerTempAbove9000_Players = 0.3f;

                this.BaseRogueGrowthRatePerCity = 0.006f;
                this.RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity = 0.0004f;

                this.BaseRaidGrowthRatePerCity = 0.006f;
                this.RaidGrowthRatePerCity_MultiplierForBadAttitude = 0.0004f;

                this.DiseaseTurnStartPhaseIn = 25;
                this.DiseaseTurnEndPhaseIn = 70;
                break;
            #endregion
            #region Hard
            case StrategicDifficultyType.Hard:
                this.StartingCrowns = 17500;
                this.StartingPopulation = 31;

                this.GracePeriodNumberOfTurnsBeforeRaids = 10;

                this.MinTurnsBetweenRogues_Human = 8;
                this.MaxTurnsBetweenRogues_Human = 20;

                this.MinTurnsBetweenRogues_AI = 5;
                this.MaxTurnsBetweenRogues_AI = 15;

                this.MinTurnsBetweenRaidsByRaces = 14;
                this.MaxTurnsBetweenRaidsByRaces = 17;

                this.AttitudeGainedPerTurnFromDiplomat = 0.4f;

                this.ChanceOfThiefBeingCaught = 20;
                this.AttitudeLostOnThiefCaught = 6;
                this.TrustLostOnThiefCaught = 6;
                this.ChanceOfThiefCrownsTheft = 75;
                this.ChanceOfThiefMilitaryAndWishingTheft = 4;
                this.ThiefCrownGainRangeMin = 400;
                this.ThiefCrownGainRangeMax = 800;

                this.AttitudeLostFromAttackingBuilding = 0.2f;
                this.AttitudeLostFromDestroyingBuilding = 4f;
                this.AttitudeGainedFromInterceptingIncomingAttack = 1.9f;
                this.AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy = 0.04f;
                this.AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy = 1.4f;

                this.MinTurnsBetweenDiseases_Human = 140;
                this.MaxTurnsBetweenDiseases_Human = 220;
                this.MinTurnsBetweenDiseases_AI = 40;
                this.MaxTurnsBetweenDiseases_AI = 60;

                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human = 0.001f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human = 0.0006f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human = 0.02f;

                this.AddedForRogueLevelRagePerTurn_Players = 1.5f;
                this.AddedForRogueLevelRagePerTurn_AIs = 0.5f;

                this.AddedForRogueLevelRagePerTempAbove1000_Players = 0.1f;
                this.AddedForRogueLevelRagePerTempAbove3000_Players = 0.15f;
                this.AddedForRogueLevelRagePerTempAbove6000_Players = 0.2f;
                this.AddedForRogueLevelRagePerTempAbove8000_Players = 0.3f;
                this.AddedForRogueLevelRagePerTempAbove9000_Players = 0.35f;

                this.BaseRogueGrowthRatePerCity = 0.009f;
                this.RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity = 0.0006f;

                this.BaseRaidGrowthRatePerCity = 0.009f;
                this.RaidGrowthRatePerCity_MultiplierForBadAttitude = 0.0006f;

                this.DiseaseTurnStartPhaseIn = 20;
                this.DiseaseTurnEndPhaseIn = 65;
                break;
            #endregion
            #region Harder
            case StrategicDifficultyType.Harder:
                this.StartingCrowns = 14000;
                this.StartingPopulation = 25;

                this.GracePeriodNumberOfTurnsBeforeRaids = 7;

                this.MinTurnsBetweenRogues_Human = 5;
                this.MaxTurnsBetweenRogues_Human = 15;

                this.MinTurnsBetweenRogues_AI = 4;
                this.MaxTurnsBetweenRogues_AI = 12;

                this.MinTurnsBetweenRaidsByRaces = 11;
                this.MaxTurnsBetweenRaidsByRaces = 14;

                this.AttitudeGainedPerTurnFromDiplomat = 0.3f;

                this.ChanceOfThiefBeingCaught = 25;
                this.AttitudeLostOnThiefCaught = 10;
                this.TrustLostOnThiefCaught = 10;
                this.ChanceOfThiefCrownsTheft = 70;
                this.ChanceOfThiefMilitaryAndWishingTheft = 3;
                this.ThiefCrownGainRangeMin = 400;
                this.ThiefCrownGainRangeMax = 800;

                this.AttitudeLostFromAttackingBuilding = 0.3f;
                this.AttitudeLostFromDestroyingBuilding = 5f;
                this.AttitudeGainedFromInterceptingIncomingAttack = 1.8f;
                this.AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy = 0.03f;
                this.AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy = 1.3f;

                this.MinTurnsBetweenDiseases_Human = 140;
                this.MaxTurnsBetweenDiseases_Human = 220;
                this.MinTurnsBetweenDiseases_AI = 40;
                this.MaxTurnsBetweenDiseases_AI = 60;

                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human = 0.0012f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human = 0.0008f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human = 0.03f;

                this.AddedForRogueLevelRagePerTurn_Players = 1.75f;
                this.AddedForRogueLevelRagePerTurn_AIs = 0.75f;

                this.AddedForRogueLevelRagePerTempAbove1000_Players = 0.15f;
                this.AddedForRogueLevelRagePerTempAbove3000_Players = 0.2f;
                this.AddedForRogueLevelRagePerTempAbove6000_Players = 0.25f;
                this.AddedForRogueLevelRagePerTempAbove8000_Players = 0.35f;
                this.AddedForRogueLevelRagePerTempAbove9000_Players = 0.4f;

                this.BaseRogueGrowthRatePerCity = 0.015f;
                this.RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity = 0.0011f;

                this.BaseRaidGrowthRatePerCity = 0.015f;
                this.RaidGrowthRatePerCity_MultiplierForBadAttitude = 0.0011f;

                this.DiseaseTurnStartPhaseIn = 20;
                this.DiseaseTurnEndPhaseIn = 50;
                break;
            #endregion
            #region Nightmare
            case StrategicDifficultyType.Nightmare:
                this.StartingCrowns = 10000;
                this.StartingPopulation = 11;

                this.GracePeriodNumberOfTurnsBeforeRaids = 4;

                this.MinTurnsBetweenRogues_Human = 4;
                this.MaxTurnsBetweenRogues_Human = 12;

                this.MinTurnsBetweenRogues_AI = 3;
                this.MaxTurnsBetweenRogues_AI = 8;

                this.MinTurnsBetweenRaidsByRaces = 8;
                this.MaxTurnsBetweenRaidsByRaces = 11;

                this.AttitudeGainedPerTurnFromDiplomat = 0.3f;

                this.ChanceOfThiefBeingCaught = 30;
                this.AttitudeLostOnThiefCaught = 15;
                this.TrustLostOnThiefCaught = 15;
                this.ChanceOfThiefCrownsTheft = 65;
                this.ChanceOfThiefMilitaryAndWishingTheft = 2;
                this.ThiefCrownGainRangeMin = 400;
                this.ThiefCrownGainRangeMax = 800;

                this.AttitudeLostFromAttackingBuilding = 0.5f;
                this.AttitudeLostFromDestroyingBuilding = 8f;
                this.AttitudeGainedFromInterceptingIncomingAttack = 1.5f;
                this.AttitudeGainedFromAttackingBuildingOfNearbyMutualEnemy = 0.02f;
                this.AttitudeGainedFromDestroyingBuildingOfNearbyMutualEnemy = 1f;

                this.MinTurnsBetweenDiseases_Human = 140;
                this.MaxTurnsBetweenDiseases_Human = 220;
                this.MinTurnsBetweenDiseases_AI = 40;
                this.MaxTurnsBetweenDiseases_AI = 60;

                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByPopulation_Human = 0.002f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByTrash_Human = 0.001f;
                this.ForDiseases_AmountTimeToNextDiseaseSubtractedByUnclaimedBodies_Human = 0.04f;

                this.AddedForRogueLevelRagePerTurn_Players = 3f;
                this.AddedForRogueLevelRagePerTurn_AIs = 1f;

                this.AddedForRogueLevelRagePerTempAbove1000_Players = 0.2f;
                this.AddedForRogueLevelRagePerTempAbove3000_Players = 0.25f;
                this.AddedForRogueLevelRagePerTempAbove6000_Players = 0.3f;
                this.AddedForRogueLevelRagePerTempAbove8000_Players = 0.4f;
                this.AddedForRogueLevelRagePerTempAbove9000_Players = 0.45f;

                this.BaseRogueGrowthRatePerCity = 0.022f;
                this.RogueGrowthRatePerCity_MultiplierForPlanetRageAtCity = 0.0022f;

                this.BaseRaidGrowthRatePerCity = 0.022f;
                this.RaidGrowthRatePerCity_MultiplierForBadAttitude = 0.0022f;

                this.DiseaseTurnStartPhaseIn = 15;
                this.DiseaseTurnEndPhaseIn = 40;
                break;
            #endregion
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline nas1m

  • Master Member
  • *****
  • Posts: 1,268
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #4 on: June 08, 2015, 09:25:43 am »
I see the problem now ;).
But the info is in there nonetheless.

Thanks for sharing :D!
Craving some more color and variety in your next Bionic run? Grab a boost and a couple of custom floors!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #5 on: June 08, 2015, 09:37:05 am »
You bet!  And once I do get time to do the new screen for that, it will be a lot more clear, which will be nice. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline crazyroosterman

  • Master Member Mark II
  • *****
  • Posts: 1,558
  • Cluck.
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #6 on: June 08, 2015, 11:28:10 am »
I guess ill have to try out a higher difficulty now(for testing purposes) I assumed before I read all this it was literally just what it says on the toltips this should be interesting.
c.r

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Is rogue frequency already keyed off strategic difficulty?
« Reply #7 on: June 08, 2015, 11:29:00 am »
Ah yeah, sorry about that.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!