Realism Invictus

You can open the save itself from within the mod folder, using Notepad as the application. From there, you can manually edit the save to include new or different civs, as you prefer.
 
Hi. Is there a way to play this Mod in MP? Didn't find informations about it ...

Yes, it works, I've tried it; Pitboss doesn't work, it goes OOS, but if you don't mind playing direct IP I've been able to reach modern era (I still have to finish a game properly in MP though).

While on the subject @Walter Hawkwood , any experience with Pitboss? Pity it doesn't work properly. From some test that I've run on my LAN at home, the game is losing sync after a few turns (around 50 turns at Rollercoaster speed). It doesn't show the typical OOS message, which is even worse, because you can notice that the score on the connected pc and on the pitboss server is different for some civs after a while. So if you disconnect and reconnect each turn it's not an issue as the game gets synchronized every time; but if you play more turns in a row the game will progressi in different ways on the pitboss server and on your pc. I've tried with a single player connected on the pitboss server and after 50 turns I quit the game from my pc, I reconnect to the pitboss server, and the game was completely different. Of course it sync'd with the pitboss server, but the situation was totally different that what I left (different number of cities, wars that I didn't start and so on). I tried loading on the pitboss server the save I had on my pc and all was as I remembered. So for some reason the server and the local pc are not synchronized. Any idea?
 
Hm, Pitboss used to work a couple of versions ago. You're the first to report that. I don't know what changed; I'll try investigating, but TBH my understanding of it is rather limited.

Do you mean like ver 3.5 or something before? I can try that I suppose. At least I'd like to see if there's any difference with the current behaviour.
 
Well, I know the last pitboss-related SVN commit was in 2018 and back then everything worked. I honestly can't tell when it stopped. Anyway, I can easily reproduce and test it on my side, so I may well catch and fix the culprit.

That would be awesome! When I have time I'll try a revision before that just to double check it's not something on my end (and in case, I'll let you know). (Although it might be something different that broke pitboss; I understand it's a very fragile system: if I'm not mistaken the pitboss server is seen kind of a "special" player, so something that might impact all players but not the pitboss server might cause the problem, even if there's no pitboss code involved - or better, exactly for the reason that the code for pitboss was forgotten).
Thanks again!
 
After a lot of testing going way back, I got instant OOS with Pitboss on all major versions, including those I knew were working before. It feels like there's something fundamentally wrong with it, maybe on OS level or something like that. It is the same on the exact revision that restored its functionality way back... 🤷‍♂️
 
After a lot of testing going way back, I got instant OOS with Pitboss on all major versions, including those I knew were working before. It feels like there's something fundamentally wrong with it, maybe on OS level or something like that. It is the same on the exact revision that restored its functionality way back... 🤷‍♂️

I was part of a large multiplayer game hosted by 45 Degrees for much of last year which had pretty persistent OOS problems. I thought it might have had to do with my configuration somehow (since I don't have a Steam install, still having and using the original boxed CD from the late 2000s when BtS was still retailed). It was fairly sporadic, but the anticipated plausible triggers were war declarations and successful combats, which basically amounted to the game being unplayable.
 
That's sad but not entirely surprising to hear - given that I'm not very good at coding, I suspect a lot of the culprits are bits of my new code, as I wouldn't know how to code in an MP-friendly way.
 
That's sad but not entirely surprising to hear - given that I'm not very good at coding, I suspect a lot of the culprits are bits of my new code, as I wouldn't know how to code in an MP-friendly way.

I had some experience with it when I was coding Rise of Mankind - A New Dawn; the mod wasn't working in MP when I started working on it after Afforess left: I was able to make it work with Direct IP, but not with Pitboss. With the latest revision of RI, 3.61, pitboss looks like it's working for 50 turns or so (rollercoaster speed, if it matters, which I'm not sure), but after that it starts displaying different scores on the player pc and on the pitboss server. It doesn't go OOS though: it might happen way later during the game, which implies that when you reload you get the game that the pitboss think it's running, not what was actually running on the player's pc (hence different diplo situations, different cities and so on, hence totally unplayable). To tell the truth I think I only tested with Simultaneous Turns option, but testing requires time. It might also depend on a single option to tell the truth.
As Aspiring said, we played for a while, 7-8 players. We started a pitboss game, then switched to a Direct IP and the started having OOS all the time. It might be because we switched from Pitboss to Direct IP, although I tested it on my LAN before, and it worked for quite a while, or it might be because a player left the game and we let AI control his civ for a while before assigning it to a new player. Too many variables. Moreover, I never checked the scores in that game, if they were matching on my pc and the pitboss server, as I wasn't aware of this problem; so maybe we were OOS from turn 50 but noticed only way later.
Unfortunately, testing MP is not easy. It looks like Direct IP works pretty good, but I'd really like to make it work with Pitboss.
 
Hi, could someone send me a copy of the code for the siege engine that uses ranged attacks for AI? I think I may have over-modified my version, and now the AI doesn't use the ranged attack at all, despite trying several combinations. The only thing the AI does is a standard attack with battering rams, limited to the damage dealt. I also accidentally left that option on catapults, so the AI uses it for attacks instead of the ranged attack.

Edit:
I also noticed that Rome's AI doesnt built UU Balistass

Code:
        <UnitInfo>
            <Class>UNITCLASS_CATAPULT</Class>
            <Type>UNIT_CATAPULT_ROME</Type>
            <UniqueNames/>
            <Special>NONE</Special>
            <Capture>NONE</Capture>
            <Combat>UNITCOMBAT_SIEGE</Combat>
            <Domain>DOMAIN_LAND</Domain>
            <DefaultUnitAI>UNITAI_ATTACK_CITY</DefaultUnitAI>
            <Invisible>NONE</Invisible>
            <SeeInvisible>NONE</SeeInvisible>
            <Description>TXT_KEY_UNIT_CATAPULT_ROME</Description>
            <Civilopedia>TXT_KEY_UNIT_CATAPULT_ROME_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_UNIT_CATAPULT_STRATEGY</Strategy>
            <Advisor>ADVISOR_MILITARY</Advisor>
            <bAnimal>0</bAnimal>
            <bUniqueUnit>0</bUniqueUnit>
            <bFood>0</bFood>
            <bNoBadGoodies>0</bNoBadGoodies>
            <bOnlyDefensive>0</bOnlyDefensive>
            <bNoCapture>1</bNoCapture>
            <bQuickCombat>0</bQuickCombat>
            <bRivalTerritory>0</bRivalTerritory>
            <bMilitaryHappiness>1</bMilitaryHappiness>
            <bMilitarySupport>1</bMilitarySupport>
            <bMilitaryProduction>1</bMilitaryProduction>
            <bPillage>1</bPillage>
            <bSpy>0</bSpy>
            <bSabotage>0</bSabotage>
            <bDestroy>0</bDestroy>
            <bStealPlans>0</bStealPlans>
            <bInvestigate>0</bInvestigate>
            <bCounterSpy>0</bCounterSpy>
            <bFound>0</bFound>
            <bGoldenAge>0</bGoldenAge>
            <bInvisible>0</bInvisible>
            <bFirstStrikeImmune>0</bFirstStrikeImmune>
            <bNoDefensiveBonus>1</bNoDefensiveBonus>
            <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense>
            <bCanMoveImpassable>0</bCanMoveImpassable>
            <bCanMoveAllTerrain>0</bCanMoveAllTerrain>
            <bFlatMovementCost>0</bFlatMovementCost>
            <bIgnoreTerrainCost>0</bIgnoreTerrainCost>
            <bNoTransport>0</bNoTransport>
            <bNukeImmune>0</bNukeImmune>
            <bPrereqBonuses>0</bPrereqBonuses>
            <bPrereqReligion>0</bPrereqReligion>
            <bMechanized>1</bMechanized>
            <bSuicide>0</bSuicide>
            <bHiddenNationality>0</bHiddenNationality>
            <bAlwaysHostile>0</bAlwaysHostile>
            <UnitClassUpgrades>
                <UnitClassUpgrade>
                    <UnitClassUpgradeType>UNITCLASS_TREBUCHET</UnitClassUpgradeType>
                    <bUnitClassUpgrade>1</bUnitClassUpgrade>
                </UnitClassUpgrade>
            </UnitClassUpgrades>
            <UnitClassTargets/>
            <UnitCombatTargets/>
            <UnitClassDefenders/>
            <UnitCombatDefenders/>
            <FlankingStrikes/>
            <UnitAIs>
                <UnitAI>
                    <UnitAIType>UNITAI_ATTACK_CITY</UnitAIType>
                    <bUnitAI>1</bUnitAI>
                </UnitAI>
                <UnitAI>
                    <UnitAIType>UNITAI_RESERVE</UnitAIType>
                    <bUnitAI>1</bUnitAI>
                </UnitAI>
            </UnitAIs>
            <NotUnitAIs/>
            <Builds/>
            <ReligionSpreads/>
            <CorporationSpreads/>
            <GreatPeoples/>
            <Buildings/>
            <ForceBuildings/>
            <HolyCity>NONE</HolyCity>
            <ReligionType>NONE</ReligionType>
            <StateReligion>NONE</StateReligion>
            <PrereqReligion>NONE</PrereqReligion>
            <PrereqCorporation>NONE</PrereqCorporation>
            <PrereqCivic>NONE</PrereqCivic>
            <PrereqAndBuildings/>
            <PrereqOrBuildings/>
            <PrereqTechs>
                <TechType>TECH_SIEGECRAFT</TechType>
            </PrereqTechs>
            <PrereqAndBonuses/>
            <PrereqOrBonuses/>
            <ProductionTraits/>
            <Flavors/>
            <iAIWeight>20</iAIWeight>
            <iCost>90</iCost>
            <iHurryCostModifier>0</iHurryCostModifier>
            <iAdvancedStartCost>100</iAdvancedStartCost>
            <iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease>
            <iMinAreaSize>-1</iMinAreaSize>
            <iMoves>1</iMoves>
            <bNoRevealMap>0</bNoRevealMap>
            <iAirRange>1</iAirRange>
            <iAirUnitCap>0</iAirUnitCap>
            <iDropRange>0</iDropRange>
            <iNukeRange>-1</iNukeRange>
            <iWorkRate>0</iWorkRate>
            <iBaseDiscover>0</iBaseDiscover>
            <iDiscoverMultiplier>0</iDiscoverMultiplier>
            <iBaseHurry>0</iBaseHurry>
            <iHurryMultiplier>0</iHurryMultiplier>
            <iBaseTrade>0</iBaseTrade>
            <iTradeMultiplier>0</iTradeMultiplier>
            <iGreatWorkCulture>0</iGreatWorkCulture>
            <iEspionagePoints>0</iEspionagePoints>
            <TerrainImpassables/>
            <FeatureImpassables/>
            <FeatureDamageImmunities/>
            <TerrainPassableTechs/>
            <FeaturePassableTechs/>
            <iCombat>4</iCombat>
            <iCombatLimit>10</iCombatLimit>
            <iAirCombat>4</iAirCombat>
            <iAirCombatLimit>10</iAirCombatLimit>
            <iXPValueAttack>4</iXPValueAttack>
            <iXPValueDefense>2</iXPValueDefense>
            <iFirstStrikes>0</iFirstStrikes>
            <iChanceFirstStrikes>0</iChanceFirstStrikes>
            <iInterceptionProbability>0</iInterceptionProbability>
            <iEvasionProbability>0</iEvasionProbability>
            <iWithdrawalProb>0</iWithdrawalProb>
            <iCollateralDamage>40</iCollateralDamage>
            <iCollateralDamageLimit>10</iCollateralDamageLimit>
            <iCollateralDamageMaxUnits>1</iCollateralDamageMaxUnits>
            <iCityAttack>30</iCityAttack>
            <iCityDefense>30</iCityDefense>
            <iAnimalCombat>0</iAnimalCombat>
            <iHillsAttack>0</iHillsAttack>
            <iHillsDefense>0</iHillsDefense>
            <TerrainNatives/>
            <FeatureNatives/>
            <TerrainAttacks/>
            <TerrainDefenses/>
            <FeatureAttacks/>
            <FeatureDefenses/>
            <UnitClassAttackMods/>
            <UnitClassDefenseMods/>
            <UnitCombatAttackMods/>
            <UnitCombatDefenseMods/>
                        <UnitCombatMods>
                <UnitCombatMod>
                    <UnitCombatType>UNITCOMBAT_MOUNTED_LIGHT</UnitCombatType>
                    <iUnitCombatMod>-35</iUnitCombatMod>
                </UnitCombatMod>
                <UnitCombatMod>
                    <UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
                    <iUnitCombatMod>-25</iUnitCombatMod>
                </UnitCombatMod>
                <UnitCombatMod>
                    <UnitCombatType>UNITCOMBAT_ARMOR</UnitCombatType>
                    <iUnitCombatMod>25</iUnitCombatMod>
                </UnitCombatMod>
                <UnitCombatMod>
                    <UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
                    <iUnitCombatMod>50</iUnitCombatMod>
                </UnitCombatMod>
            </UnitCombatMods>
            <UnitCombatCollateralImmunes/>
            <DomainMods/>
            <BonusProductionModifiers>
                 <BonusProductionModifier>
                    <BonusType>BONUS_TIMBER</BonusType>
                    <iProductonModifier>25</iProductonModifier>
                 </BonusProductionModifier>
            </BonusProductionModifiers>
            <iBombRate>0</iBombRate>
            <iBombardRate>6</iBombardRate>
            <SpecialCargo>NONE</SpecialCargo>
            <DomainCargo>NONE</DomainCargo>
            <iCargo>0</iCargo>
            <iConscription>0</iConscription>
            <iCultureGarrison>4</iCultureGarrison>
            <iExtraCost>2</iExtraCost>
            <iAsset>2</iAsset>
            <iPower>3</iPower>
            <UnitMeshGroups>
                <iGroupSize>2</iGroupSize>
                <fMaxSpeed>1.25</fMaxSpeed>
                <fPadTime>1</fPadTime>
                <iMeleeWaveSize>2</iMeleeWaveSize>
                <iRangedWaveSize>2</iRangedWaveSize>
                <UnitMeshGroup>
                    <iRequired>1</iRequired>
                    <EarlyArtDefineTag>ART_DEF_UNIT_CATAPULT_ROME</EarlyArtDefineTag>
                </UnitMeshGroup>
                <UnitMeshGroup>
                    <iRequired>1</iRequired>
                    <EarlyArtDefineTag>ART_DEF_UNIT_CATAPULT_ROME</EarlyArtDefineTag>
                </UnitMeshGroup>
            </UnitMeshGroups>
            <FormationType>FORMATION_TYPE_MACHINE</FormationType>
            <HotKey/>
            <bAltDown>0</bAltDown>
            <bShiftDown>0</bShiftDown>
            <bCtrlDown>0</bCtrlDown>
            <iHotKeyPriority>0</iHotKeyPriority>
            <FreePromotions/>
            <LeaderPromotion>NONE</LeaderPromotion>
            <iLeaderExperience>0</iLeaderExperience>
        </UnitInfo>
 
Last edited:
With the latest revision of RI, 3.61, pitboss looks like it's working for 50 turns or so (rollercoaster speed, if it matters, which I'm not sure), but after that it starts displaying different scores on the player pc and on the pitboss server. It doesn't go OOS though: it might happen way later during the game, which implies that when you reload you get the game that the pitboss think it's running, not what was actually running on the player's pc (hence different diplo situations, different cities and so on, hence totally unplayable). To tell the truth I think I only tested with Simultaneous Turns option, but testing requires time. It might also depend on a single option to tell the truth.
As Aspiring said, we played for a while, 7-8 players. We started a pitboss game, then switched to a Direct IP and the started having OOS all the time. It might be because we switched from Pitboss to Direct IP, although I tested it on my LAN before, and it worked for quite a while, or it might be because a player left the game and we let AI control his civ for a while before assigning it to a new player. Too many variables. Moreover, I never checked the scores in that game, if they were matching on my pc and the pitboss server, as I wasn't aware of this problem; so maybe we were OOS from turn 50 but noticed only way later.
Unfortunately, testing MP is not easy. It looks like Direct IP works pretty good, but I'd really like to make it work with Pitboss.
That sounds really surprising for me, as yesterday I went over a number of SVN revisions, including matching 3.61 and other release versions, and tried hosting myself via Pitboss - and got OOS turn 1 on every revision I tried. So to hear that Pitboss worked at least for some time is quite surprising for me, as it didn't on my side.
Hi, could someone send me a copy of the code for the siege engine that uses ranged attacks for AI? I think I may have over-modified my version, and now the AI doesn't use the ranged attack at all, despite trying several combinations. The only thing the AI does is a standard attack with battering rams, limited to the damage dealt. I also accidentally left that option on catapults, so the AI uses it for attacks instead of the ranged attack.
I don't understand what kind of help you want.
 
Also, while not immediately relevant to identifying and fixing what's wrong with Pitboss, I am currently somewhat regularly playing the official release with DirectIP with just one other player on the huge world map scenario without any issues. With only one other player, DirectIP seems quite stable, even when "load tested" on that massive scenario.
 
Back
Top Bottom