[MODMOD] Age of Further Discovery v0.04 Alpha Test - Bugs Report Thread

Hm, looks like Animal Husbandry is almost installed, except for the changes to BuildingInfos. Was there a problem integrating it?
 
Regarding the apparent transport starvation, it appears that a couple of things might be going wrong. In CvPlayer.cpp, CvPlayer::doTurnUnits() has a bunch of code to make sure that each player has at least one ship. However, this code does not guarantee that said ship is a transport. It won't gift ships that can't be bought in Europe (i.e. Coastal Trader), and it will find the lowest cost ship (which should always be a Caravel-equivalent, don't make other ships cost less than Caravels or this will break!) However, there's nothing in the bHasShip code (beginning line 2334) that guarantees that when deciding if the player has any ships, the ship found is a transport. All it's doing is checking DOMAIN_SEA, which would be matched by Coastal Traders, Sloops, and other warships.

I suspect that this code might well trap an AI who loses his last transport but has a non-transport ship and low gold. He won't be gifted a fresh transport, and he will never get the money to buy one because he can't trade with Europe. Unless he scouts or trades with the natives to get cash, he's stuck. (Some AIs don't seem to trade much with the natives, and it seems that the AIs are not doing land scouting properly in 0.04e.)

This problem in the C++ logic would probably have been masked when there were no Coastal Traders and no Sloops. With no non-transport less than 3000 gold, it would have been unusual for the AI to wind up stuck with no transport in the early game. Later on, the likelihood of losing all transports at once would have been low, and the AI does seem to try to keep at least two transports once its economy is large enough.

So, what's the answer? It would be easy enough to patch the bHasShips code to check only for transports, and to make sure that eCheapestShip can only be a transport, so that the AI (or the player) never gets wedged by transport starvation without the King coming to the rescue. I've never yet compiled a CvGameCoreDLL, but if it can be done with MinGW I'll give it a try (I'm an Open Source programmer, I don't own a copy of Visual Studio.) Unless someone thinks there's a better idea?
 
I think I was too hasty to diagnose a problem with the scouting AI. In my test game, two of my three opponents did have Seasoned Scout units. However, those two had settled on large islands, and only one had gotten around to shipping a scout to the mainland. The other probably just hadn't gotten the RNG to pop a Seasoned Scout to the docks yet. Perhaps there's not high enough priority to assign units to the scouting role? Do we need something to encourage hurrying that almost-guaranteed first Scout onto the docks in the first few turns?
 
The more I study the DLL code, particularly related to the AI, the more concerned I'm growing that the Coastal Trader unit is a problem. I don't think that the basic design of CvGameCoreDLL properly handles a DOMAIN_SEA unit that can't travel to Europe. There are many places where DOMAIN_SEA is used as a proxy for "being able to go to Europe" despite the bNoCrossOcean flag in the Unit XML. Making this element of the mod safe is probably going to require a code survey, and grep reports 69 hits for DOMAIN_SEA in .cpp files, and 14 in python. Not an impossibly huge task, but that's a big one for a first attempt at modding for me!

Anyone out there? I hope I'm not just talking to myself!
 
Hey!
I'm following your posts, and used to mod AoFD a little
But that was more than a year ago, and not sure when I will have time to get back into this too
Anyway, your comments are very welcomed, and I hope you can fix a few problems with the mod

I remember one bug which one reported multiple times since the last version was released:
In many cases buildings needed guns somehow instead of tools
Maybe this even resulted in negative amount of guns in a few cases?
I don't exactly remember, but you should read the last few pages of the v0.03 feedback thread too
 
since MU is down for unknow time, would someone kind enough ot reupload the mod in other place

Thx
Sen
 
Top Bottom