civIV Rise and Fall of the Roman Empire (RFRE)

Cheered to soon maybe, now my game crashes the turn to An alliance with the Burgundians I, 345AD (turn 411).
Same story as the previous alliance :( Any ideas Primordial Stew?

I don't look forward to the next alliances :)
 
Attached is file. Crashing at same place as others--Alliance with Visigoth. Its at turn 406
 

Attachments

  • Consol AD-0335 Crash.CivWarlordsSave
    1,021.2 KB · Views: 170
> dromon
Woo-hoo, flames!

> alliance-goths
Apparently the latest rfre.py was used, but the tech counter part didn't take.... ummm.. Will try again tonight.

Try this one. It will add 32 turns when turn 405 ends. This will bring it past the division of Theodoseus on turn 435. It also caps gold at 12000 instead of 20000.
 

Attachments

  • rfre.7z
    41.7 KB · Views: 170
The new rfre.py stops the crashing, but it doesn't proceed to the next turn. The interval between the 2 turns just goes on and on, sorry Stew
 
Ok, I finally understand this, and likely the whole problem with techs getting out of sync :hammer2:

The thing I've been overlooking is the divisor variable, and instead only concentrating on turnsToNextTech variable. My thinking was that setHasTech was being used (which is only controlled by turnsToNextTech), but actually when setResearchProgress is updated, and the value is >= getResearchCost, the tech is given (from within the setResearchProgress function apparently). ResearchProgress is what is displayed by the research bar (ie the green tech progress bar), and turnsToNextTech is the usual text inside the bar.

Anyway, here is the simplified code:

current = eTeam.getResearchProgress(iTechType)
progress = (eTeam.getResearchCost(iTechType) / divisor)
status = current + progress
eTeam.setResearchProgress(iTechType, status, 0)

We get the progress to date, and add in 1 turns worth more.

The problem being that divisor isn't stored, instead it gets set based on a if/elif decoder, which needs to stay in sync with what turnsToNextTech is. The last patch reset progress to 0, but divisor gets set to 6 for an "alliance with" tech, so 6 turns later CTD again.......

A much better approach is to store divisor, and set it when turnsToNextTech gets set (so it is the max). This way it is always in sync, and this is what will be done for p11.

I'll post code later tonight. errr.. when it's ready. Currently working on the divisionOfTheodoseus. The behavior is different in that the cities are captured instead of simply transferred, so war breaks out. War can be squashed, but still get the city captured messages.... Should be Wednesday.


Till then, what are suggestions for p11 changes? There is some new artwork. The Dromon now shoots flames! In PIE there is an actual Port of Carthage, and Alter of Pergamum. The Alter is new. It wasn't very exciting at the time, but is worthwhile to include. There is more Bakuel art too. Other than those cosmetic changes, the important changes will hopefully be in the DLL. Really this is beyond my current abilities, but it might happen anyway. My 3 objectives are:
1. speed up some by getting rid of unnecessary code (eg anything nuke related)
2. merge the "fixed borders" mod
3. fix trade route doubling

#1 is nice to have (probably not perceptible except on really slow machines), but looks easy enough for me to accomplish
#2 is mainly for Greece.
#3 ruins the 275BC campaign, and 200BC eventually.

The other interest is better Asia Minor/Greek events. Pergamum shouldn't exist in 275BC as it does in all previous versions. The Seluicids should be more powerful. Only after losing to Rome should they be weak enough for Persia to manage.

What else?
 
After reading it twice, I think I understand what you are saying there Stew :) But many thanks for all your efforts, it means play fun for us.

You ask for suggestions for p11, can't say that I have any serious ones. I noticed you mainly look after the 'historical correctness', am I right? That is really important, 'cause it concerns a historocal mod of course. There is new art you say. Agree, it's only cosmetic, but maybe some new buttons would be nice. I understand this mod means a lot of work, but maybe in this case help is closer by as you allready mentioned Pie's mod; I think he has some nice button/unit art. Maybe share some? I know I sometimes combine your two mods when I tweak Pie's mod. Example; I used your Roman General (consulair legion) art as base for a created Roman national unit Schola Palatinae (5 allowed and named them, did the same for Alexander's seven Somatophylakes btw).

I also edit your XML/Text a lot for missing capitals (techs, units, buildings), but that's just me.

Are you going to use the flamey dromon as Byzantine "Greek Fire fleet"?

In general; you know RFRE is the best mod ever and will only get better, more accurate and more beautiful. So really lookin forward to P11!
 
> PIE
I do want some historical scenarios developed for PIE (by someone else ideally!). For anyone who hasn't played it, it could be described as a mix between RFRE and TAM. TAM in scope of period, but with many functions similar to RFRE, though completely generic instead of matched to history and not limited to the Roman point of view. Slave revolts are a common occurrence when slaves are around. In RFRE workers (most of which are slaves) are consumed when building most things other than roads, whereas in PIE there is a chance of them dying each turn. PIE implements disease effecting units. In RFRE it is only cities, though there is code for units too, it was never used.

If "regional recruiting" is added that will make it even closer.


> I also edit your XML/Text a lot for missing capitals (techs, units, buildings), but that's just me.

Yeah, that has always been messy.

> Greek Fire fleet
Yup, just a more appropriate graphic.. Really it should have 1 flame, and the rest arrows instead of just replacing the arrows with flames, but is certainly better.


> In general; you know RFRE is the best mod ever and will only get better,
I'm glad you like it ;) Almost everything came from the civIII version, and that for me was quite an experience! I learned a good chunk of the history of the period through it. It was a surprise though some of the trade offs that had to be made to fit it into the game. Like I had the impression that there was a massive campaign against Aegyptus, but really there was very little combat at all.

Related is the Imperial vs Marian legion. Despite the Imperial (wearing lorica segmentata armor) being the popular view of what a legion looked like, the majority of territory was already conquered when it was introduced. In civIII though, the additional campaigns such as Aegyptus pushed the timeline back such that the Imperial legion is available while there is still a lot of conquest left to do. This version makes compromises too, but since scripting is available it can be closer.

Anyway, there is always more that could be done, but at some point it will have to be good enough. civV is coming in the fall!
 
Here is the updated rfre.py. Tech tree (divider variable handling) will be redone for p11, but for now hopefully it is good to go. The divisionOfTheodoseus function was rewritten to avoid war. There will be a few units left over (mainly ships), but should manage the transition well enough. Permanant peace is set with the WRE too. The transition will be rough till the culture expands so they have access to resources.

In doing this I figured out how to avoid having to merge in the "fixed borders" mod, so that eliminates my biggest concern about changes needed for p11.
 

Attachments

  • rfre.7z
    42.6 KB · Views: 192
Looking over Imperium Romanum and Pie's Ancient Europe, I wondering what is special here? I updated the 1st page with:
Q. What is special about RFRE?

There is my answer. What else?

Also, do anyone want to make a 100BC (or so) scenario? This is probably the last big one that is missing. Just after the Jugertine war, but before the Seritonius revolt, the Mithridic wars, Spartacus.... There are plenty of articles on Wikipedia to read to try to asses the Roman army size and composition!
 
Hi - using the latest fix I just completed (yesterday) the 275 BC scenario right through to the end with no problems or CTDs - really exciting ! Worked perfectly - I'm not the best player but managed to expand to all areas except Britain and Numidia. I was a bit slow on the timeline but it was all done before the 395 AD split. There were no major issues, but things that spring to mind are :
- some (not all) events happen one turn late, eg earthquake that destroys Petra
- didn't get a pop up for Attila in 451 (though it worked fine in the 200AD scenario which I also tested)
- maybe its random but in the Huns (Uldin) first appearance they attacked differently from normal, declaring on the WRE and Sassanids and leaving the East alone (this happened in 200AD as well). The WRE thus had a hard time and were in bad shape by the time of Attila's appearance ...
- had some major financial issues at times - wild fluctuations from turn to turn in later game - think this was caused by capturing too many Foederati on some turns - had to delete most of them to stay in the black. I didn't realise I had to pay for them ! Not sure about this but I tried out a Civic (State Religion/Theocracy ? can't remember the name) that I usually ignore - maybe this was causing the fluctuations as I've not had them before ??? (this was in the 400s - not the Third Century Crisis stuff). By time of Justinian this had stopped.
- had some real problems in trying to maintain culture against the Germans/Persians - despite building all the appropriate buildings. Solved the Gaulish problem by conquering them !

As I said none of these are major - it was really good to play right through the 275 scenario. The game flowed well and worked as it should - fantastic in fact, and I really appreciate your work and time on this !
 
Just occured to me I didn't mention one issue, namely at the split in 395 AD I accidently triggered war with the WRE. I had units outside Kimberi which I was going to gift. Moved them into the vacant city and was at war .... It didn't have any impact on the game though, just a nuisance.

Thinking of Pt 11 I agree about the Seleucids - when I finally moved East they had already been destroyed by the Persians, Galatians and Ptolemies - Persia was a monster in fact and had over-run half of Asia Minor ....
 
> finished
A first :goodjob:

> culture
Plan was to use the "fixed borders" mod, but ran into an issue porting it. While revising the divisionOfTheodoseus function I got the culture setting to work well. The problem before was the ERE (Roman) was much greater than the WRE culture, so ERE would push into Italia.. so just query the plot culture and set the WRE to be the same. This will be applied in select areas, or perhaps at certain points the existing culture will be reduced. Won't know till the play test which which will work best.

> divisionOfTheodoseus war
This was re-written to avoid war. Additionally a permanent alliance is set, and as mentioned above the culture evened out so borders are better.

> economic swings
Military unit cost adds up quick! Only static garrisons and the Miles Celticus + Hoplite don't cost military upkeep (still count as regular units though).

I will try to understand the trade route code in the SDK to see if that part of the swings can be ameliorated.

> Persia
Their national building is very potent. The problem is likely that they have them all right away, but probably an accumulation over time would proceed more historically.

I still don't have a sufficient grasp of how this region plays out. Armenia is at war with Rome, allied with Rome, a vassal of Rome, conquered by Persia, independent again.. The only thing added so far is that Armenia has a defensive pact with Pontus vs Rome (only).


p11 will be more difficult, and a tiny bit faster. The new tech code is there, and now I'm trying to get it to view correctly in the Tech and MainScreen views without having to load the pickle data each time like it was in p10. Previously there were atomic load/saves all over the place, but now these only happen on save/load events. Hopefully coding will be finished up this month, and then more testing + release in July sometime.
 
>p11 will be more difficult ...

Gosh - at one or two points I only just held my own against the Persians - literally down to my last units ! Looking forward to it though.
 
Primordial Stew - Thank you for doing this mod. We love it. Can't wait for the update.

Why is "open borders" not available between the eastern and western portions of the empire?

At the start of the 400 AD scenario, the text box says "The Goths were recently pushed out of Greece (ERE) by a Western army..."
 
Primordial Stew - Thank you for doing this mod. We love it. Can't wait for the update.

Why is "open borders" not available between the eastern and western portions of the empire?

At the start of the 400 AD scenario, the text box says "The Goths were recently pushed out of Greece (ERE) by a Western army..."

I think it's the -attitude adjustments, mainly from the unbalanced culture ERE exerts on WRE. In p11 this gets equalized, and permanent peace, great + attitude, and initial open borders all get set.

And?? In the period just before 400AD a Gothic army was roaming around Greece. The ERE army was busy down in Turkey, but a WRE army was able to convince the Goths to leave Greece.


I got the DLL to compile after removing a bunch of stuff like nukes, but soon ran into a CTD, so some further attention is needed still. Coming along..
 
Hi all, I am playing the last version of .p10 and I saw that Kiev is conquerable and probably it shouldnt. On the north of Gallia I would put Gesocribate (near Calais) that was present in the CIV III version and also Franks on the north of the rhenus border should be conquerable. In this way the northern border would be fixed on the river, what do you think?

In the attached game Western and Eastern Roman Empire are in war since the division.

Always the best scenario ever ...
 

Attachments

  • Consol AD-0395.CivWarlordsSave
    972.6 KB · Views: 178
Finally started play testing this week. Below are the changes to date. Any other requests?

Spoiler :
Beta.p10 -> Beta.p11 (August 2010)
==================================
1. XML changes:
a. Added "Alter of Pergamum" - not visible in game??
b. Byzantine Legacy... upped cost to 10k hammers (was -1)
c. changed preasidium unit from DOMAIN_LAND to DOMAIN_IMMOBILE (can no longer transport)
d. Added Babylonia walls wonder for Babylon
e. Academy renamed to "Disciplina Philosophia" and is a prereq to build the National Epic. This is to cover the philosophers of the time.
f. Added Classis Ravennatis national wonder. 2 can be constructed begining with Age of Augustus.
g. Added Liburna ship + building. This is a slightly weaker version which the Romans built. It can only be built at the Classis Ravennas
h. Added "First Council of Nicaea". Python will add this to the city of Nicea. It allow construction of the Biblia, which gives +1 extra happy from Ecclesia.
i. Fixed typo in path for Thrace leaderhead

2. python changes:
Bug fixes:
a. Fixed typo in Germanic war code (RomID vs romID)
b. Fixed typo in massivePictii
c. Fixed typos in alliance with (alliedWar): visigoths/alans/franks/goths
d. smoothed divisionOfTheodoseus. Set peace + permanent peace between ERE and WRE. set attitude. Fixed plot double-processing.
e. Fixed ERE starting with "Alliance with the Lombards" in the 500AD scenario
f. Simplified tech progress mechanism
g. Separated Gothic Raider AI code. The regular code just doesn't work well for them.. the ships wander down to Alexandria.
h. Fixed exception with Rome declaring war on itself (should be Carthage)
Ehancements:
a. Armenia and Pontus have an alliance vs only the Romans <- NEED TO TEST
b. scriptdata only saved/loaded on save/load of game (and during onBeginPlayerTurn to keep maininterfce up to date), instead of atomically (less lag)
c. Modified CvTechChooser.py (ie the tech tree screen) to display (on select only) how many turns to this tech. Don't know how to fix roll-over one however.
d. Pirates are more numerous, esp around Illyria (this is what precipitated the first 2 invasions) and re-appear with Franks, Saxons and Goths
e. staggered "Persian building" build up (was 4 initially in 275BC) to represent increasing Parthian power
f. only query for pRome and pRomanTeam 1 time instead of when needed over and over again
g. revised culture when a civ's last city is captured, no more left over culture around the final city following it's capture
h. A human WRE will face additional Vandals in all 3 groups
i. Added Carpi incursions (http://en.wikipedia.org/wiki/Carpians)
j. Added 1st + 2nd Servile Wars
X. Added Pergamum creation?
l. coded Lombards

3. New Art:
a. Alter of Pergamum from PAE mod
b. Port of Carthage from PAE mod
c. Phyrrus by the Capo (static version)
d. Dromon art by Edgecrusher, et all
e. Iberians by Bakuel
e. Celtiberians by Bakuel
f. Isthar Wall by veBear

4. Map Changes:
a. Removed Britanic Goods near Deva (you have to take Eburacum and face the Pictii)
X. removed Pergamum from 275BC map
c. Added new p11 buildings to late scenarios.
d. improved Seluicid starting army in 275BC map

5. SDK:
a. Removed nuke, ICBM, and *_AIR considerations. Stopped doTurn from running: createBarbarianCities, createBarbarianUnits, doGlobalWarming, doDiploVote
b. fix trade doubling??? --> return 2 from calculateTradeYield instead of calculated value

6. New Sounds for:
a. Triumphus, Civitas, Circus Maximus + Hippodrome, Mare Nostrum + Classis, Castra Praetoria
 
http://forums.civfanatics.com/downloads.php?do=file&id=15177

Lots of tweaks and fixes, the biggest of which is finally resolving the "trade double" problem that has been wrecking the economy. With the bug fixes, and additional detail, you will be busy. It will take an energetic Caesar to keep the Empire together! The other problem plaguing p10 was the tech tree in 100AD+. I played till 307AD and it was still on track. Overall then this version is a major step forward.

Expect to have tight finances! The income during the golden age should sustain you during the fall, but don't blow through it too quick as there is little chance to recoup. Another tip is to not sit idle too long admiring your awesome empire, there is plenty to do and you need to get to it. Also, your treasury will depend a lot on it. Gold from capturing cities is a major component of keeping Rome afloat. Got to keep those conquests coming :hammer: As was the case historically, if you run out of money proscription will kick in up to 2 times. Siege units and legions are expensive, auxiliaries are cheap!



I'll update "Beyond Roman Glory" modmod this weekend, and post the SDK source code then too.


Spoiler :
Beta.p10 -> Beta.p11 (August 2010)
==================================
1. XML changes:
a. Added "Alter of Pergamum" - not visible in city..
b. Byzantine Legacy... upped cost to 10k hammers (was -1)
c. changed preasidium unit from DOMAIN_LAND to DOMAIN_IMMOBILE (can no longer transport)
d. Added Babylonia walls wonder for Babylon
e. Academy renamed to "Disciplina Philosophia" and is a prereq to build the National Epic. This is to cover the philosophers of the time.
f. Added Classis Ravennatis national wonder. 1 can be constructed begining with Age of Augustus. Historically there were 2, but there is a bug in Warlords when there is > 1 of a national building.
g. Added Liburna ship + building. This is a slightly weaker version which the Romans built. It can only be built at the Classis Ravennas
h. Added "First Council of Nicaea". Python will add this to the city of Nicea. It allow construction of the Biblia, which gives +1 extra happy from Ecclesia.
i. Fixed typo in path for Thrace leaderhead
j. Great Lighthouse only gives 1 coastal trade route instead of 2. Also gives a hammer to each local sea plot.
l. Olives only gives +1 health with Granary.
m. Sea Salt only gives +1 health from Portus
n. Emporium available with Agrarian Troubles (when Civitas is available outside of Roma since Emporium requires civitas) instead of Commerce
o. Moved conquest gold bonuses from Market (Macellum) to Emporium. Moved cow +1 healthy to be from Market.
p. Marian Legion extra gpt 4 -> 3, Imperial Legion extra gpt 5 -> 4. Principate -55 -> -45% commerce. Absolute Principate -55 -> -50% commerce.
q. Expanded historical unit names for: Cohors Equitata Millaria, Sagittarius Auxiliarius, and Miles Auxillarius (eg 80 -> 102 listed) http://en.wikipedia.org/wiki/List_of_Roman_auxiliary_regiments
r. Scipio 20 -> 50% strength
s. Macabee 8 -> 7 iCombat
t. Triumvirate/Principate/Absolute Principate 20 -> 22 free military units

2. python changes:
Bug fixes:
a. Fixed typo in Germanic war code (RomID vs romID)
b. Fixed typo in massivePictii
c. Fixed typos in alliance with (alliedWar): visigoths/alans/franks/goths
d. smoothed divisionOfTheodoseus. Set peace + permanent peace between ERE and WRE. set attitude. Fixed plot double-processing.
e. Fixed ERE starting with "Alliance with the Lombards" in the 500AD scenario
f. Simplified tech progress mechanism
g. Separated Gothic Raider AI code. The regular code just doesn't work well for them.. the ships wander down to Alexandria.
h. Fixed exception with Rome declaring war on itself (should be Carthage) "ceterum censeo Carthaginem esse delendam"
i. fixed clearresearchqueue call for Social War research change (forces you to pick from available techs)
j. fixed Piratae not supporting Quintus Sertorius revolt
k. Fix in slaveRevolt adjusting slave counts and building destruction
l. Fixed Boudica rebellion
m. Trajan promotion in 98AD instead of with Antoniis Golden Age (comes too late)
n. Stop setting Triumvirate with the Year of Four Emperors (forget to reset to Principate after..)

Ehancements:
a. Armenia and Pontus have a defensive pact vs the Romans
b. scriptdata only saved/loaded on save/load of game (and during onBeginPlayerTurn to keep maininterfce up to date), instead of atomically (less lag)
c. Modified CvTechChooser.py (ie the tech tree screen) to display (on select only) how many turns to this tech. Don't know how to fix roll-over one however.
d. Pirates are more numerous, esp around Illyria (this is what precipitated the first 2 invasions) and re-appear with Franks, Saxons and Goths
e. staggered "Persian building" build up (was 4 initially in 275BC) to represent increasing Parthian power
f. only query for pRome and pRomanTeam 1 time instead of when needed over and over again
g. revised culture when a civ's last city is captured, no more left over culture around the final city following it's capture. Occasional oddity...
h. A human WRE will face additional Vandals in all 3 groups
i. Added Carpi incursions (http://en.wikipedia.org/wiki/Carpians). Dacia will declare war in 275BC scenario.
j. Added 1st + 2nd Servile Wars
k. Added popups for Herod + Attalus becoming client kingdoms.
l. code Lombards (p12!)

3. New Art:
a. Alter of Pergamum from PAE mod
b. Port of Carthage from PAE mod
c. Phyrrus by the Capo (static version)
d. Dromon art by Edgecrusher, et all
e. Iberians by Bakuel
e. Celtiberians by Bakuel
f. Isthar Wall by veBear
g. new icons for: faber, slave, equites, numidian cavalry. Pantheon wonder picture.

4. Map Changes:
a. Removed Britanic Goods near Deva (you have to take Eburacum and face the Pictii)
c. Added new p11 buildings to late scenarios.
d. improved Seluicid starting army in 275BC map and changed starting gold (30 -> 400)

5. SDK:
a. Removed nuke, ICBM, and *_AIR considerations. Stopped doTurn from running: createBarbarianCities, createBarbarianUnits, doGlobalWarming, doDiploVote
b. fix trade doubling --> return 2 from calculateTradeYield instead of calculated value -> NO, but base profit is 2 instead of 1
calculateTradeProfit capped at 3 (was seen up to 8 in 70AD) -> YES!!!

6. New Sounds for:
a. Triumphus, Civitas, Circus Maximus + Hippodrome, Mare Nostrum + Classis, Castra Praetoria, Ludus, Amphitheatre, and Lex Agraria
 
Top Bottom