Resource icon

[ModMod] Kek-Mod 0.3.1

Are you using Visual Studio? And which version?
It works fine for me with the 2017 version, so maybe it doesn't work with some of the earlier versions of the compiler bundled with Visual Studio.

I had encountered similar errors before and basically it's saying that the file or some if its contents are too large, so this could probably be fixed by splitting the CyInfoInterface3.cpp file in two parts. But I would first try to use the 2017 version of Visual Studio.
 
Are you using Visual Studio? And which version?
It works fine for me with the 2017 version, so maybe it doesn't work with some of the earlier versions of the compiler bundled with Visual Studio.

I had encountered similar errors before and basically it's saying that the file or some if its contents are too large, so this could probably be fixed by splitting the CyInfoInterface3.cpp file in two parts. But I would first try to use the 2017 version of Visual Studio.

2017?? For any Civ4 DLL i tried, compiling with any VS above 2010 would never work :/ (this was 2005 or 2008 iirc)


Hi,
You got missing file defs,

I will get you proper compile files once ill fix my cpu.

thanks.
 
With the K(ek)-Mod make file, Visual Studio shouldn't be involved in the build process. Though with the latest Visual Studio versions and Win 10, who can tell.

It might be enough to move a few definitions from CyInfoInterface3.cpp to the smaller CyInfoInterface2.cpp. E.g. python::class_<CvYieldInfo... and python::class_<CvTerrainInfo... The rest of the terrain-related interface is already in CyInfoInterface2.cpp, so this would actually be a bit neater.
 
With the K(ek)-Mod make file, Visual Studio shouldn't be involved in the build process. Though with the latest Visual Studio versions and Win 10, who can tell.

2017?? For any Civ4 DLL i tried, compiling with any VS above 2010 would never work :/ (this was 2005 or 2008 iirc)

It works perfectly fine with 2017 for me, although I also have 2010 installed on this machine.
 
I have uploaded a new version, v0.25b. Changelog is in the first post, code and commit logs are on GitHub.

Starting from v0.25, mod can be updated to the current version in-game via Advanced -> Options -> Update Mod (as long as the update server is online).
 
Last edited:
I have uploaded a new version, v0.25b. Changelog is in the first post, code and commit logs are on GitHub.

Starting from v0.25, mod can be updated to the current version in-game via Advanced -> Options -> Update Mod (as long as the update server is online).

Hi!

I played a few single and multiplayer games with the new version. It was kind of refreshing, that the AI used other techniques in the late game, than I was used to (played plain K-Mod for several years)
Especially the defensive pacts ans spies are used more efficiently now) I'm still waiting for the first deity win on GiantEarthMap with this...)
Great work!
 
Hi!

I played a few single and multiplayer games with the new version. It was kind of refreshing, that the AI used other techniques in the late game, than I was used to (played plain K-Mod for several years)
Especially the defensive pacts ans spies are used more efficiently now) I'm still waiting for the first deity win on GiantEarthMap with this...)
Great work!

Hi, thanks for the feedback!

I don't think that I changed anything important related to espionage (except fixing permanent alliance bugs and some related adjustments). However, I did add "Build Espionage" process (unlocked with Communism) that was previously available only for other commerce types, but I don't really know does AI use that much. This could enable the AI to have more espionage points in the late game, especially on higher difficulties.
I did change how defensive pacts work, so yeah, you should be seeing a lot more of those than in K-Mod.
 
Last edited:
I've been enjoying this mod a lot, thankyou! I was wondering if there is a way to port the giant map size to other mods too? I am familiar with XML (I guess most are), but awful at Python.
 
I was wondering if there is a way to port the giant map size to other mods too? I am familiar with XML (I guess most are), but awful at Python.

This is the commit where I implemented the gigantic map size. In addition to XML changes, I also made minor changes to both Python code and the DLL (C++) to account for the additional entry. Changing the DLL requires recompiling of the DLL which might be intimidating if you are unfamiliar with that, but you can find good guides for that on this forum.

It would be easier to change one of the existing map sizes (without adding an additional entry) because that could be done by editing just 2 files: CIV4WorldInfo.xml and CvMapGeneratorUtil.py (and an xml text file if you want to rename that map size).
 
Last edited:
Hi!
I played several more games with this mod (and had my first deity win ;) )
I remember two strange things.

- During some time in the renaissance age (I hope I rmeember correctly) spawned 2-3 barbarian Privateers per turn on the same coast. I did not check in world builder, if this happens on other places in the map. But this was a bit much for my coast line and it happens 30-40 turns, then suddenly stopped.
- Sometimes I had a peacy treaty due to demands and before the treaty stopped, the opponent civ suddenly declared war on me (perhaps due to a demand from another civ)
 
and had my first deity win ;)

Wow. What settings did you use?

- During some time in the renaissance age (I hope I rmeember correctly) spawned 2-3 barbarian Privateers per turn on the same coast. I did not check in world builder, if this happens on other places in the map. But this was a bit much for my coast line and it happens 30-40 turns, then suddenly stopped.

There is currently an issue with this in the mod. I made some changes that make barbarian Privateers (and other barbarian ships) more annoying than they perhaps should be.
First, I removed some BBAI limits for barbarian spawns on the sea because I disliked how they were implemented. This increased the number of barbarian ships back to BTS levels. But BTS also had no barbarian unit spawns in Renaissance and later eras at all which is another limit I removed.
And I also removed K-Mod's Disorganized (-10% strength) promotion from spawned barbarian Privateers because it used to make it possible to differentiate barbarian and non-barbarian hidden nationality units.

During my games, the number of barbarian ships was noticeably higher and this was something you had to pay more attention to, but it was still borderline manageable. It had the intended effect that you had to defend your coast tiles with a strong(er) navy during certain phases of the game. What I didn't fully take into account is that, for example, the number of barbarian ships is 1.33x higher in Immoral (and 1.6x higher in Deity) when compared to Monarch and all this changes combined probably make the sea barbarian pressure too high on higher difficulties.

What I would like to do is to overhaul how the number of barbarian ships spawned is determined. Currently all unowned water tiles which are part of the same water body affect that number. And this makes the sea barbarian dynamic weird because not all (or most) water tiles will become owned during the course of the game unlike land tiles. I would like to make that effect more local like it was done in Advanced Civ and base the number of barbarian ships spawned on unowned local coast tiles while still keeping the primary BTS barbarian spawn mechanism where unowned tiles = barbarians.

- Sometimes I had a peacy treaty due to demands and before the treaty stopped, the opponent civ suddenly declared war on me (perhaps due to a demand from another civ)

There are a few situation when peace treaty will not stop a declaration of war. Some of these are declarations of war caused by defensive pacts, AP/UN resolutions and capitulations. These are all present in BTS.
But what most likely happened is that you experienced effects of a change I implemented: peace treaties due to demands are now one-sided so if civ A demands something from civ B and civ B agrees to the demand then civ A can't attack civ B, but civ B can still attack civ A. I think that this makes more sense than the previous situation where in addition to the demand being granted you would also get the security of a peace treaty.
 
Last edited:
Wow. What settings did you use?
I always play Giant Earth map (GEM) with No technology brokering and marathon. With Caesar you have a big advantage due to Praets and crowded Europe
I made some changes that make barbarian Privateers (and other barbarian ships) more annoying than they perhaps should be
Ok, perhaps it has something to do with the giant landmass/coast line in this map? it seems the total count of privateers may be ok, but they are all stuffed in the northern sea :)
I think that this makes more sense than the previous situation where in addition to the demand being granted you would also get the security of a peace treaty.
This makes sense if I remember that correctly. Then I have to keep an eye on that and do not feel so safe then :)
 
Hi!
This week I ha d the second time the problem, that I want someone to become my vassal and ask what would have to be done to accept the deal, but instead of accepting I get the error dialog, that only one civ can add something to the trade screen, and then he demands 3 technologies and all available money. This is ridiculous, beucaes I have four times more power and cities. It seems like some kind of overflow bug? It only happened in modern times and only shortly before winning by conquest.
 
Hi!
This week I ha d the second time the problem, that I want someone to become my vassal and ask what would have to be done to accept the deal, but instead of accepting I get the error dialog, that only one civ can add something to the trade screen, and then he demands 3 technologies and all available money. This is ridiculous, beucaes I have four times more power and cities. It seems like some kind of overflow bug? It only happened in modern times and only shortly before winning by conquest.

Hi,
that kind of error dialog happens when you are at war because then only one civ can give things in return for a peace treaty, i.e. no two-sided trades are allowed in the context of a peace treaty.
Can you upload a save file of the situation?
 
Hi!

Took me some time to reproduce this from older saves :)
Here are two saves, one with correct vassalize offer, and 8 turns later with buggy offers.
 

Attachments

  • Vassalize ok.CivBeyondSwordSave
    3.5 MB · Views: 99
  • Vassalize bug.CivBeyondSwordSave
    3.5 MB · Views: 100
Another funny bug is shown in the screenshot. I have war with master, but peace with his vassal.
This happened when Genghis Khan became vassal of Louis in the same turn as the "great mediator"-event brought peace to my war with Genghis.
 

Attachments

  • Unbenannt.png
    Unbenannt.png
    166.4 KB · Views: 86
Top Bottom