[modmodmod] The Sword of Islam Reborn

I hope I don't sound inappropriate, but the folks at RFC Europe are planning to expand the map eastwards and it seems like some of you guys are working on expanding this mod's map westwards. I would suggest you join forces with each other since the two maps are overlapping quite a bit and the historical times covered are similar.
I know this thought is quite tempting. But sadly, this merge with DrLobots mod brings me to my limits. Even for more experienced programmers it would be hard work to combine SoI and RFCE.

Hello again! What is the status on renewed work please? And where can we find the latest playable version as envisioned by you?
The current status is, that I have some issues with the new civs, so I went a step back and did all the provinces stuff in a earlier version for better testing. Also the empty Hungarian area is now divided into Banat, Wallachia, Transylvania, Hungary, Galicia and Lesser Poland. We have now a total of 163 provinces!
The latest playable version has not changed yet. It is still the 1.0.0 on sourceforge.

Tomorrow I will shape the "empty lands" and combine them to the newer status with the new civs added and see if it was helpful.
 
I had to do other stuff yesterday, but today I was able to do Hungary!
It took a little bit longer than expected, because some of the rivers on the Merged Map went to the wrong direction, so I corrected them (I know this doesn't have any affect, but I just could not let that go:dunno:. I even researched for these which just dry out in the desert where the right start is. I think I know now much more about central Asian rivers:lol:)

Spoiler Here is it! :
new_hungary.JPG


So there will be definitely room for a Hungarian and a Carpathian civ (I am not sure if we can use both Wallachia and Moldavia, there would be place problems with Bulgaria). For Galicia&LesserPoland could be minor civ cities a solution, but I also think about a full polish civ, because in the Lategame the empire would also cover lands eastern of Carpathians down to the Black Sea. (The Polish-Lithuania Commonwealth).

Please tell me your thought on the civs, and of course feedback to the map!
 
I just saw that the GitHub link on front page was not working. I updated it, now it should get you to the Version 1.0.0

I also managed to get Git where I wanted it to!!:crazyeye:
Finally, at the moment you can download my ACTUAL progress at the develop-branch. So interested ones can have a closer look at the map and province rework I have done, and that Lobotos civs are included.

WARNING: DO NOT START AS BYZANTINE!! Somehow it crashes at start, but other Makuria, Abbasids, Ajmer, Khazar start properly.

I would be very glad if someone could have a look at Byzantine or the other Bugs, but I think Byz is the biggest one at the moment. Maybe people who already know how to add a civ to SoIR;)
 
I just saw that the GitHub link on front page was not working. I updated it, now it should get you to the Version 1.0.0

I also managed to get Git where I wanted it to!!:crazyeye:
Finally, at the moment you can download my ACTUAL progress at the develop-branch. So interested ones can have a closer look at the map and province rework I have done, and that Lobotos civs are included.

WARNING: DO NOT START AS BYZANTINE!! Somehow it crashes at start, but other Makuria, Abbasids, Ajmer, Khazar start properly.

I would be very glad if someone could have a look at Byzantine or the other Bugs, but I think Byz is the biggest one at the moment. Maybe people who already know how to add a civ to SoIR;)
I can start a game, but it crashes right after start. Before the game starts, I get this message.
 

Attachments

  • Civ4ScreenShot1068.JPG
    Civ4ScreenShot1068.JPG
    72.6 KB · Views: 20
I just saw that the GitHub link on front page was not working. I updated it, now it should get you to the Version 1.0.0

I also managed to get Git where I wanted it to!!:crazyeye:
Finally, at the moment you can download my ACTUAL progress at the develop-branch. So interested ones can have a closer look at the map and province rework I have done, and that Lobotos civs are included.

WARNING: DO NOT START AS BYZANTINE!! Somehow it crashes at start, but other Makuria, Abbasids, Ajmer, Khazar start properly.

I would be very glad if someone could have a look at Byzantine or the other Bugs, but I think Byz is the biggest one at the moment. Maybe people who already know how to add a civ to SoIR;)
Weirdly, Byzantium doesn't actually spawn at all with these files. That python error pops up with all civs but only Byzantium goes straight to the defeat screens (or crashes in HNation's game). Loaded as Makuria and there's a super impressive road system across Anatolia but simply no Byzantine Empire. Trying to figure out why.
 
Weirdly, Byzantium doesn't actually spawn at all with these files. That python error pops up with all civs but only Byzantium goes straight to the defeat screens (or crashes in HNation's game). Loaded as Makuria and there's a super impressive road system across Anatolia but simply no Byzantine Empire. Trying to figure out why.
This looks like a problem:

BeginCity
UnitOwner=43 <--------------
CityName=Skadar
CityPopulation=2
BuildingType=BUILDING_WALLS
BuildingType=BUILDING_ORTHODOX_TEMPLE
ReligionType=RELIGION_ORTHODOXY
EndCity

Edit- that's the issue. There are a bunch of these that need to be fixed. I'd also suggest using my storeddata.py file, as it increments a bunch of things that need to be in order for things to work properly with extra civs and stuff.
 

Attachments

  • Merged Map.CivBeyondSwordWBSave
    913.9 KB · Views: 4
  • StoredData.py.xml
    20.7 KB · Views: 2
Last edited:
Thanks to quick feedback!
Sadly, today is quite late, so I will have tomorrow a look at it.
 
YOU ARE AWESOME:woohoo:

The main part of merging is completed, I have a playable version now:lol:
I copied StoredData and corrected the Merged Map, and the Error when starting the map disappeared. Also Byz works again, and the most other things.
Already played some turns as Alans, without crashing.
Spoiler The starting Screenshot :
Working Merge.JPG


Sure there are still some issues, like the settlerMaps, the stability provinces, balancing, cityNameMap, and I also saw a unit without graphics. But I will work on them this week and weekend.
Probably I can upload a first stable version of the merge on Sunday:thumbsup:

Only one Error occurs exactly every round, has to do with capitalcity in RiseandFall.
Spoiler Error :
Error5_Capitals.JPG


I already updated on GitHub Develop Branch.

I also fixed the coastline for Eastern India on your newest map
I also could have a look at it, and I like it. But I would rework the mountains there also, and make space for indian cities (later portugese)
 
As promised, I worked a little bit last weekend.
I fixed the Python-Error, so new Git version should be free of errors (if not please tell me)
Also some unit Graphics went missing, I found them again:lol:

So I would say, its time for some Balancing and polishing! Every feedback on false modifiers would be great.
I already discovered that the khazars don't build any cities.

(please note, I didn't have time yet to look at the barbarian spawns or other scripted events)
 
At the moment, I am quite satisfied with the progress.
Thursday/Friday I will do the last two important and big files (Barbs.py and RiseAndFall.py)
Afterwards, the merge "should" be finished.:clap:

At the moment, I haven't got any more python errors.:goodjob:

So we can start talking about the new civs:
There will definitely be the Bulgarians, Serbians, Hungarians.
I would be for the Moldavian, maybe the Wallachians could also be there.
I strongly want a polish-lituanian civ. The idea would be: for the first years 3 cities in Poland, and at the time about 1400 it will go to the east and take some Kievan Rus cities, to also simulate the downfall of the Rus in this period and a
foe for Hungary&Golden Horde.
Also a Venetian Crusaders civ is on my list, like Antioch and Jerusalem, with capital in Crete.
I also noticed that the eastern expansion in india looks quite empty. There should also be a extra civ, but I havn't had time yet to search for a historian name:dunno:

Please let me know what you want to see/dislike!

Small question to DrLoboto: Where are exactly the respawns defined (like armenia-cilicia, ghorid-delhi)? Are they in RiseAndFall?
Might be a solution for one of the transylvanian civs.
 
At the moment, I am quite satisfied with the progress.
Thursday/Friday I will do the last two important and big files (Barbs.py and RiseAndFall.py)
Afterwards, the merge "should" be finished.:clap:

At the moment, I haven't got any more python errors.:goodjob:

So we can start talking about the new civs:
There will definitely be the Bulgarians, Serbians, Hungarians.
I would be for the Moldavian, maybe the Wallachians could also be there.
I strongly want a polish-lituanian civ. The idea would be: for the first years 3 cities in Poland, and at the time about 1400 it will go to the east and take some Kievan Rus cities, to also simulate the downfall of the Rus in this period and a
foe for Hungary&Golden Horde.
Also a Venetian Crusaders civ is on my list, like Antioch and Jerusalem, with capital in Crete.
I also noticed that the eastern expansion in india looks quite empty. There should also be a extra civ, but I havn't had time yet to search for a historian name:dunno:

Please let me know what you want to see/dislike!

Small question to DrLoboto: Where are exactly the respawns defined (like armenia-cilicia, ghorid-delhi)? Are they in RiseAndFall?
Might be a solution for one of the transylvanian civs.

Huh, the Khazars should be founding cities, and the Indian civs should be expanding to the east with the exception of Andhra Pradesh, which I walled off with mountains cuz I got lazy. Maybe something didn't work right when merging Maps.py?

In terms of the respawned civs, the major stuff is I think handled in DynamicCivs.py. This covers civilization and leader name changes (typically referencing entries in xml text files like CIV4GameText_MEM_Civilizations.xml), new flags, changed growth modifiers, and just generally "switching over the civ" to new entries that you'll need to add at the bottom of CIV4CivilizationInfos.xml.

In CityNameManager.py I added some stuff like this to make respawned civs use new language dictionaries if need be:

elif iCiv == con.iKypchaks and CyGame().getGameTurnYear() <= 1438:
iPrimary = 11
iSecondary = 0
elif iCiv == con.iKypchaks and CyGame().getGameTurnYear() > 1438:
iPrimary = 8
iSecondary = 3

Consts.py covers new capitals, respawn dates, and new region lists (you'll need to add entries in CvPediaCivilization.py to have respawned civs display their regions correctly in the Civilopedia).

RiseAndFall.py is where certain stuff is added to basically force (or prevent) the game to respawn civs around their historical resurrection date (defined in Consts.py). I'm not exactly sure if historical (non random) respawns will happen otherwise so I just added entries in the style of what embryodead did. Things like:

if iDeadCiv == iKhwarezm and iGameTurn < getTurnForYear(1510): # would be too annoying
continue

if iGameTurn > getTurnForYear(1512) and iGameTurn < getTurnForYear(1516):
if iTimurids != utils.getHumanID() or iMongols != utils.getHumanID():
if not gc.getPlayer(iKhwarezm).isAlive():
self.resurrection(iGameTurn, iKhwarezm, 0)

There's actually a bunch of respawn related stuff in RiseAndFall.py. A good chunk of it's optional/flavor stuff - religion changes, limits to the amount of cities flipped during a specific civ's respawn, extra stability for certain respawns, etc. Also entries for popup text when someone respawns:

elif iDeadCiv == iKhwarezm:
textKey = "TXT_KEY_INDEPENDENCE_TEXT_SHAYBANIDS"

Good luck if you do it. It's a lot to remember/cover but I've found that it's easy once you do it a couple times.
 
Last edited:
(please note, I didn't have time yet to look at the barbarian spawns or other scripted events)
Barbarians aren't spawning at all.

As for a Romanian civ, I would strongly recommend Wallachia over Moldavia, because of how iconic Vlad Dracula is (and there is already a really cool leaderhead for him)

 
As for a Romanian civ, I would strongly recommend Wallachia over Moldavia, because of how iconic Vlad Dracula is (and there is already a really cool leaderhead for him)
Maybe there is a chance of adding both, because moldavia is quite more eastern. But LH is really cool:thumbsup:

I finished Barbs.py and RiseandFall.py yesterday. DrLobot played quite much with the stability in Barbs, which I did not adopt. I know, it DrLobots version is more "historical", but I think mine is better for playing. I don't like that eg the seljuks have to die for mongols. And I shortened the armies to about 1/3. should also give shorter loading times.

I already let the game load to Mughals 2 or 3 times, without crashing or python erros. of course there are still some issues, most about the "respawned" civs.
I will go through the code tomorrow again, and balance some civs new. I am quite confident to make a release tomorrow or the day after.
 
@GregFred187 Just wanted to say thank you fto you and the others or all the amazing work you have done on the mod - with all the new area added it is a really impressive expansion.
I ran a couple of games on the the git version and it runs stable for me, no crashes and only one python exception.
I notice that Turkic civs up the Northeast gets a bit too developed - and powerful. The yellow one gets so powerful that it overwhelms the Kara Khitay spawn (and the Mongols). Hope the barbs will put do needed pressure on them, but the way they cover all their land with improvements feels a bit unnatural for nomads. Maybe their land can use a bit of nerd (if barbs do not do their job)?
Also, are there any plans for UHVs, UUs and UPS for all those newly added DrLoboto (Thank you!) civs?
 
@GregFred187 Just wanted to say thank you fto you and the others or all the amazing work you have done on the mod - with all the new area added it is a really impressive expansion.
I ran a couple of games on the the git version and it runs stable for me, no crashes and only one python exception.
I notice that Turkic civs up the Northeast gets a bit too developed - and powerful. The yellow one gets so powerful that it overwhelms the Kara Khitay spawn (and the Mongols). Hope the barbs will put do needed pressure on them, but the way they cover all their land with improvements feels a bit unnatural for nomads. Maybe their land can use a bit of nerd (if barbs do not do their job)?
Also, are there any plans for UHVs, UUs and UPS for all those newly added DrLoboto (Thank you!) civs?

So yeah, while the Karakhanids (yellow civ in question) did historically settle down and build a whole ton of settlements and architecture, their in game version tended to get powerful when I added them. Like, obliterate Khwarazm, cripple the Ghorids, successfully resist the Khitay and Mongols -level powerful. Some of this was due to their early and largely unthreatened starting position and some due to modifiers I gave them as part of a UP. My way around this for my own game was to add things like scripted stability hits and AI unit spawns for other civs, which GregFred187 is understandably leaving out of the main mod. Much of this stuff was really only added for my personal games and so needs to be disentangled and rebalanced and such. They and the three Mongol civs I added do all have UU's, UP's, and victory conditions though.
 
I just figured out that the settler maps are shifted one tile right through the merge. So all the maps have 1 tile more than necessary. For the Khazars and Oghuz i already noticed, the wrong tiles are on the left side. I haven't found out yet if it is on the left or right side for the "old" civs. This explains quite much to Khazar strange settler behaviour, because the shifted plots in maps would refer now to swamp tiles, which can't be settled, so there are no cities.

Explains much to me:lol:
 
I just figured out that the settler maps are shifted one tile right through the merge. So all the maps have 1 tile more than necessary. For the Khazars and Oghuz i already noticed, the wrong tiles are on the left side. I haven't found out yet if it is on the left or right side for the "old" civs. This explains quite much to Khazar strange settler behaviour, because the shifted plots in maps would refer now to swamp tiles, which can't be settled, so there are no cities.

Explains much to me:lol:
I added 1 tile in the east when I merged your map with DrLoboto's. My goal is to one day extend it to Bengal, but that's more of a pipe dream.
 
Top Bottom