K-Mod: Far Beyond the Sword

Karadoc:

Something to look in to: In each game I've played so far (only 3), and none past Astronomy... I am able to build just about EVERY wonder. I mean...I am to the point where I have put zero production into the Pyramids and I only need 11 turns to build them (and I've already built Stonehedge, Oracle, Great Wall, and the Great Lighthouse) and this is not exactly normal in my experiences.

I know there was a problem w/ the AI neglecting military in order to build wonders even while losing in the previous version. Am not sure if this is a 3-game in a row randomness or if there is no issue.

Just something for you and others to watch for.
 
When you got to astronomy, you had alot of wonders but had no military?

Im guessing you either got bored or got destroyed at Astronomy.(ai seems to be building more military now)

Although I think larger, already strong military wise, ai could be more likely to build wonders. But smaller ais are living longer, and acting more rationally, which is great.
 
The AI play to their strenghts now, so in your game you probably didn't have any wonder building AI leaders inca for example in my game built the great wall, oracle, pyrmids and parthaneon by turn 117. Which I gladly conquered.

And Augestus I know will also build tons of them, but avoid settling more than 2-3 cities until late classical/reinassance.
 
No, I know these things. I play KMod probably as much as anyone here. Have for well over a year. As I said...it could be a small sample size occurrance of 1.40, however, it also might not be. Thats why I said to look out for it. If you see that you are able to build sufficient military AND still build wonders much later than you otherwise would have been able to (this is what has occurred in my 3 games), then maybe something is a miss. But...probably not. Just something to watch for is all that I noticed quite glaringly in my last few games and felt it wise to post it for others to watch for.
 
I think Robby is right, it depends on which ais you get now. I had 2 games where I got very few wonders, then 2 games where I got alot of wonders, and now this game I only have 5 or 6 wonders total by the mid game.

Then again, I dont play industrious civs myself.
 
Here are 3 saves...

Naval example shows the ai moving naval units into a city before it going to be taken.

Invasion example shows that Boudica was using "crush" strategy to kill Louis, but easily losing his 6 or 7 great general capital to me. Perhaps crush strategy could have weak defenses on all cities except their capital?

Arenotopposing save shows Boudica not really opposing my army burning his western cities. It might be because his cannons do well vs cities (but Im not holding cities) so she might be massing army. (Perhaps the ai could use more barrage upgrades on its cannons/seige equipment?).

I just mentition this final save because I hope its not a "blind spot" for the ai if you just burn cities and dont hold them...
 

Attachments

Boudica still not massing any large scale resistance to my stack that has burned a couple more cities.

Edit: I made alot of grenadiers this game and I thought: can we look about making the Grenadiers get +15% (from+10%) city attack? Right now grenadiers still seem a little weak to me. The ai makes alot of cavalry but barely any grenadiers.

I cant really figure out why, but Calvary seems crazy effective vs my machine guns...even on hills...might be luck though.

I may have already asked about this, cant remember, can we get public transportation to reduce unhealthyness from population to -20% from -15%? A slight hammer increase for the building would be ok by me (to balance).

EDIT: So I just lost by a diplomacy victory to Boudica, BUT and heres the funny part, my vassal is the one who built the wonder and called for a diplomatic victory vote...("final" saved game)
 

Attachments

Hi Karadoc,

I play every week two games parallel with two friends of mine. Up to version 1.39 I had no OOS for months, but this week when we updated to 1.40 we had several OOS in both games with both friends. We did not clear the cache and reinstalled, so there are some checks I should do myself, but I won't be able in the next days, because we can't play again before next thursday. So can you do a quick check , if you changed something for 1.40, that might interfere with the RNG?
 
Ok, never mind, I just found out, that I had the compatibility mode for WinXP still on, but my friends both upgraded to Win7 recently, so the RNG was different.
 
Have played 2 full games now and give kudos to a much more focused ai. I have figured out how to win however if you can survive to the modern era. One word = planes. The ai doesn't seem to understand how critical air power is and seems to give up and stop producing planes due to what I am assuming it feels is a losing battle. 3 carriers with a healthy destroyer and battleship escort will not be challenged and can rape the enemies land grinding the ai to a halt. Couple this with a couple transports of marines stealing piles of workers on the coast and razing less that well defended cities and it just becomes absurd. That being said, I never did manage to land a full scale assault on the enemy continent without getting my @$$ kicked, and I had some healthy stacks. Please teach the little guy to at least have SAM units to slow this type of strategy down. And keep the 20+ worker stacks off the coast. Also it is clear that I will finish the ship before anyone else and all the AIs are still fighting a war that has lasted 100+ turns. They really have it in for eachother....but they are crippling themselves because they are fairly evenly matched so it's a stalemate with units being wasted as cities flip/flop from one to the other. Not ranting...just trying to help make a great mod even better.........
 
Hi Karadoc,

On behalf of Pie's Ancient Europe (PAE), I would like to request your authorisation to use K-Mod's DLL with PAE.

As you may be aware, PAE is a mod focused on the Antiquity/Classical eras, with tons of new units, buildings, civics, religions, game concepts, etc. All done via changes in art graphics, Python and the XML. But nothing in the SDK, mainly for one reason so far: many fans play it on Macs.

Recently, Pie expressed the wish to add a DLL component to improve the AI and he was thinking of incorporating Better BTS AI. I suggested to him that K-Mod was, in fact, an improved BBAI and could serve as an engine to boost the game for PC users. It seems to me that this was your goal from the beginning, to offer an improved version of the standard BtS to users. What do you think about the idea?

Now, it is true that it might not be the easiest solution since you edited the code so heavily. I recently merged K-Mod to my own personal mod and it was not an easy task as you have reviewed the code in a major way. I think it takes to do this exercise to realise to which extent you have worked on this, in the 200 files that are compiled in the DLL, with some 500,000 lines of code :king: . I guess many users do not realise that.

The major challenge that I see is that the DLL should be the only difference for PC or Mac users. Much to my surprise, you only need to add to the DLL the six additional XML files that you provide directly under the XML folder for the game to load properly without error messages (in the case of PAE, I also had to merge the GlobalDefinesAlt.xml file). Not that it means that everything works as intended though.

For the time being, I see the following problems, for example:

- you added a 3rd Prereq for Promotions. Doesn't seem to be a problem, I guess if you don't change the Schema file, the code for the 3rd Prereq is not used. Correct?

- you changed an XML Tag for Buildings (the healthy/Unhealthy one). Here I'm quite surprised that there are no loading errors, but probably the game does not function properly in this respect. Considering that we are talking about Antiquity/Classical eras, I guess it doesn't matter so much.

- Culture/Religion systems changed. We will see if it causes a major problem. For me, it's part of the improvements to the game mechanisms.

- BUG options. Pie doesn't want them in PAE as they would conflict with his own stuff. Personally, I don't play with them at all in my mod, have not tried to merge the Python (too complicated for me anyway). It doesn't seem an issue to me, it's even simple to cancel the BUG options in the Escape Menu.

Now, probably you will tell me that it's much more complicated than that! That's why your comments and advices would be very much appreciated. I'm not expecting you to work on this but would like to know if you would be ready to assist in any changes that we would need to make in the SDK to achieve the goal of combining PAE with the power of K-Mod. That is, if you authorise us to go ahead of course.

Tell us what you think. Thank you very much in advance.
 
isenchine, you're more than welcome to use K-Mod with PAE. Go for it! I can't offer a lot of help in merging the mods though.

Answering your questions:
  • For the new xml fields, I'm not sure entirely sure what happens if you don't change the schema file in general. You'd have to test that to know for sure. But for the 3rd optional promotion prerequisite I'm pretty sure that if the value is simply omitted in the promotions xml then it will default to NONE, which is probably what you want.
  • For the buildings XML, from memory, I removed a bool which blocked unhealthiness from population, bNoUnhealthyPopulation, which is what the national parked used; and I replaced it with the a number which allows a percentage reduction in the unhealthiness from population, iUnhealthyPopulationModifier. Again, this new number will default to 0 if it is omitted. So that's fine if you don't want to use it. However, be aware that bNoUnhealthyPopulation will not work in K-Mod. If you want your national park (or anything like that) to block unhealthiness from population, you need to set iUnhealthyPopulationModifier to be -100.
  • I highly recommend the new K-Mod culture system. I think it's one of the best changes that K-Mod makes. However, it's important to understand that culture is generally more powerful in the K-Mod system. If you're going to switch your mod from the old culture system to the K-Mod culture system, you may need to re-examine and re-balance the amount of culture that buildings produce in your mod. (In K-Mod, you may have noticed that many buildings have had their culture output reduced because they would otherwise have been too powerful.)
  • If you don't want any BUG features (or the K-Mod features that I've added to the BUG options, such as rapid unit cycling), then you can probably just not worry about any of the python changes. I'm not certain it will work without problems; but from memory, the only gameplay changes I've made to the Python code are a few tweaks to some of the random events. So if you don't care about BUG, and you don't care about the changes to the random events, and if you don't want the K-Mod environmental adviser screen, then you can probably just skip all the Python stuff. ... actually, I just remembered there are also a few tweaks to diplomacy in there... maybe there's so other stuff as well. Anyway, I can't think of any major problems would arise if you didn't include the K-Mod Python stuff, but there may be a few missing K-Mod changes here and there.

--
(By the way, @TheOnlyDJCat regarding OOS, I still don't understand why mixing Windows XP with Windows Vista/7 should cause problems. If there were no bugs, then it shouldn't matter what version of Windows players are using. But at least that's a problem that we can work around for the time being.)
 
Thanks a lot, Karadoc, your positive answer is much appreciated! :egypt:

I already have a question: would Global Warming be triggered in a mod like PAE?

If yes, would a simple change in the calculation in CvGame::doGlobalWarming() be sufficient to cancell the odds?

I'm sorry because I know that it is one of your favourite babies, but I don't think that it is relevant to PAE. There are already enough cyclones, earthquakes and tsunamis like that!
 
@Karadoc
It is this problem
http://forums.civfanatics.com/showthread.php?t=349483

It seems that Win7 and XP have slightly different random generation routines. I never checked that myself, but several people here posted that.

So we immediately got OOSs when random events happened after 500AC, because my friend had upgraded to Win7 and I had still the compatibility option set on my Win7 PC, because that was needed before.

We continued playing yesterday with correct compatibility settings and all OOSs disappeared.
 
@isenchine, the effects of global warming in K-Mod are driven by the amount of unhealthiness in cities. So if your mod has a bunch of unhealthiness effects, then it may cause global warming. But yes, you can disable it completely by not doing `doGlobalWarming()`. ie. either delete everything in there, or comment it out, or put `return;` right at the start of the function, or just don't call the function, or whatever.

--

@TheOnlyDJCat, unless there is a bug somewhere, the random events should only be using the same random number generator as everything else in the game. That RNG is used for combat, AI decisions (including auto explore and so on), and a bunch of other things. If that RNG worked differently on WinXP compared to Win7 then the game would be out of sync all the time and turning of random events wouldn't solve anything.

So the problem must be more subtle than that.

Incidentally, the 'random number generator' used in civ4 is woefully bad. This is it, in all it's shame:
Code:
#define RANDOM_A      (1103515245)
#define RANDOM_C      (12345)
#define RANDOM_SHIFT  (16)

m_ulRandomSeed = ((RANDOM_A * m_ulRandomSeed) + RANDOM_C);

unsigned short us = ((unsigned short)((((m_ulRandomSeed >> RANDOM_SHIFT) & MAX_UNSIGNED_SHORT) * ((unsigned long)usNum)) / (MAX_UNSIGNED_SHORT + 1)));

return us;
At one point I replaced it with a much better RNG; but I was having trouble getting the better RNG to save its state properly in save files. The compiler used for the DLL is really old, and it doesn't support the C++ features required to save the state the normal way... .... .... anyway, I decided to just revert the changes and maybe look at it again another time.
(By the way, all those superfluous brackets are just the 'style' used in the original code. They put brackets everywhere. More often than not, the brackets do nothing at all.)
 
Thanks!
 
Wow, my computer science students would have get problems with me writing code like that :sad:

Anyway, just by checking the compatibility mode for the start-civ icon we can generate OOS problems for random events. Perhaps this leads to some dynamic dll not properly working? I admit, I have never looked what things the compatibility setting really does, but of yourse you're right, that the OOS should not only trigger for random events. Strange :confused:
 
Is there anyone interested in jumping in a pitboss game which uses K-mod? We are in need for a player as it looks like that one of our players can't afford the commitment needed.
http://forums.civfanatics.com/showthread.php?t=490931 - I posted details here. No previous pitboss or multiplayer experience is required, in fact, most of the players in this game are totally green in this regard. However, please, keep in mind, that you are expected to check into the game at least ones per day. Also, this is a full diplo game, so, you will need to send diplomatic messages regularly.
Everyone NOT interested - sorry for spam. I will delete this post if Karadoc thinks it is inappropriate for this thread.
 
Well this thread is moving pretty slowly, so I don't think we really have to worry about that kind of spam at the moment. But maybe it would have been better placed in this multiplayer thread.

I wouldn't take the thread moving slowly for people not playing, though. There are just less complaints because more things have been fixed...but people are still playing and now it seems every single other mod is attempting to incorporate KMod.
 
Back
Top Bottom