[BTS] Evolution

Public Beta 2 has just been uploaded, the main addition being K-Mod is updated to 1.35. :)

Thanks, this is absolutely perfect!
 
I downloaded the mod and found out that treatment of balance changes introduced by K-Mod aren't treated in consistent fashion: some of them are kept, and some of them are left out. I have the impression that changes are left out in those cases when the respective XML-file is modified by RevDCM (I noticed that this is the case for units and civics). But sometimes this rule doesn't seem to work: corp yields changes, introduced by K-Mod, are left out but I don't think that RevDCM changes anything in CIV4CorporationInfo.xml (btw K-Mod also has different tech prereqs for corporations and these changes are kept).
This makes me wonder what other components of K-Mod were excluded which I can't check out easily. For example is K-Mod culture mechanics kept?
And at last - pacifism gives +0.01 extra gold per military unit which is wrong on every count. Respective value in XML-file should be 100, not 1.
 
A good starting point (though not a trivial effort!) might be for each of us to make a list of new features, new mechanics/components, and performance optimizations (ideally separate lists, though some things may cross the boundaries a little) from base (base for us was ROM/AND, so I can't speak reliably for what that has over BtS base, though obviously there is a lot there).

Once we have those lists we may have a better idea where there is synergy, or a need to rationalise between a choice of up to 3 (C2C, K-mod, R/I) ways of changing the item concerned. I should be able to complie such a list by trawling the SVN rev notes for C2C (all 3300 revs so far!), but it's not a small task.

BTW - side project (haha!!) that I have been wanting to do for a while is to make AIs pluggable (as a dynamically loaded SEPARATE DLL) wherein each AI civ can potentially have a different one. The idea is to get an efficient (multiplayer really isn't) platform to compare different AIs/versions of an AI in a competative environment. I think this can be done by making a cleaner split between the non-AI and AI files for entities that have them (CvCity/CvCityAI, CvUnit/CvUnitAI, etc) beginning with making the AI interface pure virtual as an interface layer and the concrete AIs subclasses of that. Once that is done different concrete classes can be instantiated using a factory in CvPlayer (which would probably be driven by registry settings or something to map from player to AI provider).

That would allow us to evaluate how different AI builds perform in various test circumstances (games saved as scenarios for example).

In relation to the RI we have some improvements that K-mod don't have. I can cite a few:

PlotGroup Bonus Efficiency
PlotGroup City Cache
Living Team Member Cache
Unit Upgrade Cache
Building Activation

But there are many other ... we have more than 3800 revisions...

In relation with components take a look. This is a list with all major mods incorporated to RI:

http://forums.civfanatics.com/showthread.php?t=456236

I + - identified most of the improvements of C2C of Revision 1-1500 and Romand/Sword of Islam and others ...

By the way this new component that processes only on the screen where you are, working perfectly it will be revolutionary. Congratulations.
 
I downloaded the mod and found out that treatment of balance changes introduced by K-Mod aren't treated in consistent fashion: some of them are kept, and some of them are left out. I have the impression that changes are left out in those cases when the respective XML-file is modified by RevDCM (I noticed that this is the case for units and civics). But sometimes this rule doesn't seem to work: corp yields changes, introduced by K-Mod, are left out but I don't think that RevDCM changes anything in CIV4CorporationInfo.xml (btw K-Mod also has different tech prereqs for corporations and these changes are kept).
This makes me wonder what other components of K-Mod were excluded which I can't check out easily. For example is K-Mod culture mechanics kept?
And at last - pacifism gives +0.01 extra gold per military unit which is wrong on every count. Respective value in XML-file should be 100, not 1.

I did not intend to incorporate any of the balance changes with K-Mod. Not because I disagree with all of them, but I am aiming to stick with the RevDCM model of not changing things from the base game and leaving that to modders.

Evolution contains all of the components from K-Mod that are DLL based (improved AI, culture mechanics, new global warming mechanism, etc.) and Python based (Environmental Advisor screen).

Thanks for the bug report re: Pacifism. K-Mod changed the way that tag worked and I didn't catch it. It'll be fixed in the next version.
 
In relation to the RI we have some improvements that K-mod don't have. I can cite a few:

PlotGroup Bonus Efficiency
PlotGroup City Cache
Living Team Member Cache
Unit Upgrade Cache
Building Activation

But there are many other ... we have more than 3800 revisions...

In relation with components take a look. This is a list with all major mods incorporated to RI:

http://forums.civfanatics.com/showthread.php?t=456236

I + - identified most of the improvements of C2C of Revision 1-1500 and Romand/Sword of Islam and others ...

By the way this new component that processes only on the screen where you are, working perfectly it will be revolutionary. Congratulations.

I'll put together a list for C2C. Interestingly one of the changes we have is also plotGroup performance (basically plotGroup calculations are totally rewritten, to use a Zobrist hash of the plotGroups resources used to avoid any resource recalculation when the plotGroup chnages if the changes don't chnage the resources it encompasses, also the from-scratch building is rewritten to use a more efficient tile walk).
 
I did not intend to incorporate any of the balance changes with K-Mod. Not because I disagree with all of them, but I am aiming to stick with the RevDCM model of not changing things from the base game and leaving that to modders.

I understand this approach and actually approve of it. I already made for myself all XML-changes I need anyway. My point was that you still kept in your mod some K-mod XML-changes (techs which enable different corps and leader traits). And that caused confusion.
A specific question. Is number of cities maintenance still capped? I ask because though it is an XML value, I have an impression that Karadoc handled this issue somewhere outside XML.
 
Hm, and yet another question. I noticed that AI often cancels open borders agreement now (it became apparent in my test games in which I use AI autoplay). I don't remember this feature neither in K-Mod, nor in RevDCM. Can you comment on it?
 
I've been noticing the same open borders issue. Also, resource trades get canceled constantly. I have to go back to that leader I had a deal with and get the same deal that had just been canceled, over and over again. Not sure if this is normal. This is my first game I've played in two years, so I've forgotten a lot of things. I don't remember that though.
 
I understand this approach and actually approve of it. I already made for myself all XML-changes I need anyway. My point was that you still kept in your mod some K-mod XML-changes (techs which enable different corps and leader traits). And that caused confusion.
A specific question. Is number of cities maintenance still capped? I ask because though it is an XML value, I have an impression that Karadoc handled this issue somewhere outside XML.

I checked, and unless I'm mistaken, I left the default techs for corporation founding alone. They should be the same as unmodded BtS. Also, I don't recall making any changes to leader traits. Could you elaborate?

The number of cities maintenance is not capped in accordance with K-Mod. He handled this in the SDK, and the XML values are effectively ignored.

Hm, and yet another question. I noticed that AI often cancels open borders agreement now (it became apparent in my test games in which I use AI autoplay). I don't remember this feature neither in K-Mod, nor in RevDCM. Can you comment on it?

I've been noticing the same open borders issue. Also, resource trades get canceled constantly. I have to go back to that leader I had a deal with and get the same deal that had just been canceled, over and over again. Not sure if this is normal. This is my first game I've played in two years, so I've forgotten a lot of things. I don't remember that though.

Hm, I'll look into this. It certainly wasn't an intentional change by me, perhaps a mistake. Gavagay, have you noticed this behavior in K-Mod 1.35?
 
Gavagay, have you noticed this behavior in K-Mod 1.35?

No. I have played a couple of games with K-Mod 1.35 and AI behavior in regards to open borders and resource trades is definitely different from your mod.
 
OK, so I've found and fixed the AI diplo issues. Basically, due to a missing }, the whole doDiplo function was borked. I've uploaded Public Beta 3 in which this issue has been fixed, at least in my limited testing. Please let me know if you encounter anymore weird behavior related to this issue.
 
ripple01, thanks for merging these two great mods! :goodjob:

Does your last update regarding the diplo function also take care of the (potential) CTDs in the beginning of the game that karadoc mentioned in his thread? (Because I experienced them twice in your mod.)
Yesterday I found a rare crash bug in K-Mod. It happens if the AI decides to start planning an overseas war before either team is able to build any boats. So it's only at the start of the game; and it's very rare, because there are a bunch of good reasons why the AI already knows not to plan such wars... but it can still happen in some very unusual cases. I'm not going to rush out the next version to fix it, but I'm just going to mention it in case someone notices a crash near the start of the game.
 
A good starting point (though not a trivial effort!) might be for each of us to make a list of new features, new mechanics/components, and performance optimizations (ideally separate lists, though some things may cross the boundaries a little) from base (base for us was ROM/AND, so I can't speak reliably for what that has over BtS base, though obviously there is a lot there).

Once we have those lists we may have a better idea where there is synergy, or a need to rationalise between a choice of up to 3 (C2C, K-mod, R/I) ways of changing the item concerned. I should be able to complie such a list by trawling the SVN rev notes for C2C (all 3300 revs so far!), but it's not a small task.
Has there been any more talk about that?
I'd love to see a new code base that merges several of the active major mods as a possibility to share advances and provide a new base mod for other mods to be based on.
Maybe we should start a separate thread and investigate who would be willing to participate.
 
Hey there! Nice initiative. However, every time a minor civ should spawn from a barbarian city I get this python exception:
Code:
Traceback (most recent call last):
  File "BugEventManager", line 361, in _handleDefaultEvent
  File "BarbarianCiv", line 151, in onBeginGameTurn
  File "BarbarianCiv", line 917, in checkBarbCities
  File "BarbarianCiv", line 1000, in createMinorCiv
RuntimeError: unidentifiable C++ exception
It kind of breaks the fun of barbarian civ, since the civ dies the next turn it's supposed to spawn.
 
Hey there! Nice initiative. However, every time a minor civ should spawn from a barbarian city I get this python exception:
Code:
Traceback (most recent call last):
  File "BugEventManager", line 361, in _handleDefaultEvent
  File "BarbarianCiv", line 151, in onBeginGameTurn
  File "BarbarianCiv", line 917, in checkBarbCities
  File "BarbarianCiv", line 1000, in createMinorCiv
RuntimeError: unidentifiable C++ exception
It kind of breaks the fun of barbarian civ, since the civ dies the next turn it's supposed to spawn.

Yes, this is one of the two major show stoppers in the mod. I mention this in the first post. I'm hoping some kind soul will come along and help me fix this. I've tried, but couldn't figure it out, although that was a couple of months ago. I'll try and take another look at it and see what I can figure out.
 
hey ripple,
your source doesnt include a lot of the kmod .h and .cpp files. i was wondering what kmod elements are absent in evolution (besides the obvious BUG stuff)?

or when compiling, do you paste evolution's source over kmod source instead of bts. i compiled after pasting evolution source into base bts and got an error when i ran the resultant dll:
BugConfig - failure parsing C:\civ4\Beyond the Sword\mods\Evolution\Assets\Config\BUG Core.xml at line 79

i guess its most likely that i messed my own original bts sdk copy :)

(there were also a couple minor warnings after compile - 2 declarations not used in CvGame.cpp)

i ran the game a bit anyway but new minor civs spawned from barbs dont get anything beyond line ~1000 in barbarianCiv. no tech, units, buildings, gold etc. major buzz kill for the game.
 
Hi satrapper,

The source included with the mod should work if you paste it directly over the BtS SDK. I don't think there is really anything missing from K-Mod, so to speak.

It is a major buzz kill that the BarbarianCiv component is not working correctly. One of the reasons I put Evolution out there is so that hopefully someone more skilled than me can step up to the plate and help fix it.
 
Back
Top Bottom