Post Feb 1st 2013 - bugs - Single Player

Status
Not open for further replies.
latest svn

After i build wherehouse that replaces storage pit i was unable to build
buildings like fleatchers hut that have storage pit as required. It makes no sense :p
 
Workers again not working correctly. (Automated)

I have had 5 now workers(all one by one) just walk out into OPEN tiles and then the animals just devour them.

SVN 4734, No viewports,

Logs if needed here: Includes the Random Logger ones.

http://www.gamefront.com/files/22922909/Logs.zip

EDIT: Workers are still lagging waay behind on building improvements?? See attached of the cities they have?(All screenies) Some have some but some not so much??

If there is worker in the save that is about to walk out and b devoured I'll find out why (if it's no in the save though I doubt there is enough info here - I need the save from the turn the worker decides (in that turn) to walk out into dangerous territory alone).

As to improvements, that's (largely) because the AI (until it has larger established cities anyway) does not build workers beyond what is needed to improve enough tiles for the city's current population to work (i.e. - it won't build workers to make improvements it cannot use yet, at least until it is a more established civ). Also, bear in mind that you're looking in WB and seeing resources the AI cannot yet see (it doesn't have the tech) in many cases. Of course, if it's losing workers a lot to animals for some other reason (your first point) that will obviously also be contributing.
 
If there is worker in the save that is about to walk out and b devoured I'll find out why (if it's no in the save though I doubt there is enough info here - I need the save from the turn the worker decides (in that turn) to walk out into dangerous territory alone).

As to improvements, that's (largely) because the AI (until it has larger established cities anyway) does not build workers beyond what is needed to improve enough tiles for the city's current population to work (i.e. - it won't build workers to make improvements it cannot use yet, at least until it is a more established civ). Also, bear in mind that you're looking in WB and seeing resources the AI cannot yet see (it doesn't have the tech) in many cases. Of course, if it's losing workers a lot to animals for some other reason (your first point) that will obviously also be contributing.

Yes there should be one ready to do so (I hope i got the right one).

Ok that does make alot of sense on the worker on tiles then, thx for the info.;)
 
Workers again not working correctly. (Automated)

I have had 5 now workers(all one by one) just walk out into OPEN tiles and then the animals just devour them.

SVN 4734, No viewports,

Logs if needed here: Includes the Random Logger ones.

http://www.gamefront.com/files/22922909/Logs.zip

EDIT: Workers are still lagging waay behind on building improvements?? See attached of the cities they have?(All screenies) Some have some but some not so much??

Ok, the worker suicide is easy to explain, and it only effects the human player's automated workers (not AI workers). What we should do about it (if anything - penalty of automation!) is open for debate.

Basically the workers that do this have decided the best thing they can do is build a route between your cities - in this save game you somehow have 2 cities on opposite sides of the continent! When the AI processes such a routing mission it checks for danger and requests an escort, since it has control over all the other units too. The human automation cannot do this, because automating one unit doesn't give it the right to take control of other units to act as escorts, so it currently just uses much weaker safety criteria (no enemy territory), which leaves it VERY vulnerable in neutral territory.

The options we have here are:
  1. Too bad. Leave it as it is.
  2. Change the human automation to stick only to owned territory (so it will never try to join your cities up unless their cultural boundaries overlap).
  3. Leave in one of the safety checks, which is to validate before making a move that it isn't moving into obvious (visible) danger (which usually means a visible animal). The problems with this are two-fold - firstly it will happily strand itself deep in neutral territory and then have no way out when it finally notices an animal. Secondly, when it does abort due to seeing danger it has to re-evaluate what to do from scratch, and since it will be in the middle of (probably quit hostile) neutral territory it will probably try to return to the nearest city (and likely not make it anyway). If it does make it, it will then (probably) promptly decide it likes the idea of building the route it was trying to build before and just go again.
Personally I suspect option (2) is best (for automated human workers). What do you think?
 
Ok, the worker suicide is easy to explain, and it only effects the human player's automated workers (not AI workers). What we should do about it (if anything - penalty of automation!) is open for debate.

Basically the workers that do this have decided the best thing they can do is build a route between your cities - in this save game you somehow have 2 cities on opposite sides of the continent! When the AI processes such a routing mission it checks for danger and requests an escort, since it has control over all the other units too. The human automation cannot do this, because automating one unit doesn't give it the right to take control of other units to act as escorts, so it currently just uses much weaker safety criteria (no enemy territory), which leaves it VERY vulnerable in neutral territory.

The options we have here are:
  1. Too bad. Leave it as it is.
  2. Change the human automation to stick only to owned territory (so it will never try to join your cities up unless their cultural boundaries overlap).
  3. Leave in one of the safety checks, which is to validate before making a move that it isn't moving into obvious (visible) danger (which usually means a visible animal). The problems with this are two-fold - firstly it will happily strand itself deep in neutral territory and then have no way out when it finally notices an animal. Secondly, when it does abort due to seeing danger it has to re-evaluate what to do from scratch, and since it will be in the middle of (probably quit hostile) neutral territory it will probably try to return to the nearest city (and likely not make it anyway). If it does make it, it will then (probably) promptly decide it likes the idea of building the route it was trying to build before and just go again.
Personally I suspect option (2) is best (for automated human workers). What do you think?

I would have to agree, # 2 options seems more feasible, # 1 just itn't gameplayable, as per # 3 seem like it will take more turn time evaluation, and that is definitely not needed.
 
I have noticed that recently that when I have a free worker in a city work area that the AI is suggesting that I improve plots which don't have resources before improving resource plots. In fact even if there is only a plot where a camp could be built then no suggestions (blue circle) shows up.
 
Quantonium Crystals still produce a little too much happiness... (This is current SVN).

That sort of value usually shows up if you look at the pedia before you start a game and it has all the parameters like game speed to work with. Was this the case?
 
That sort of value usually shows up if you look at the pedia before you start a game and it has all the parameters like game speed to work with. Was this the case?
Nope, I am just in the middle of a game, and out of this I have made the screenshot. Another game that was much further advanced showed the same thing. Other parameters seem to be fine, as far as I have checked them. You don´t see this huge amount of happiness in your Sevopedia?

I have activated the PocketMonster Module and yours from zzExperimental if that is important.
 
The trappers/trackers/explorers etc are all back to the way they used to be?? They hardly ever go outside the realm of your area, and if so lately, not that far?? At least before they roamed around everywhere, not so much anymore for some reason???
 
About human worker automation:
What if there were spesific AI for leaving border if and only if a soldier is stacked with the worker in automation, this will make it possible for the player to choose a worker as an "outside border worker". I'm not talking about whenever a worker stands on the same tile as a soldier but a feature that make the soldier automatically follow the worker around which is detectable by the workers AI. option 2 and 3 ish at the same time.
 
I'd cynically support #1, as it would get people to actually manage their workers! :p

I'm with you on this one ls... why anyone would take their strategic edge to micromanage all decisions being made for their empire and put it into the hands of the same ai they are playing against is beyond me. How can you possibly expect to get an edge over the competition if you just allow your nation to be developed by the same 'thought routines' the competition is using?

I've never found the management of my workers (or any other units for that matter) boring but I guess I can see why some would...
 
@Koshling or AIAndy:
I apparently have found this line to have a problem as it seems to be failing to qualify any cities at all for trade routes:
Spoiler :
Code:
		for (int iI = 0; iI < iNumTradeRoutes; ++iI)
		{
			CvCity* pTradeCity = getTradeCity(iI);
			if (pTradeCity && pTradeCity->getOwnerINLINE() >= 0 && (NO_PLAYER == eWithPlayer || pTradeCity->getOwnerINLINE() == eWithPlayer))
			{
				int iTradeYield;

				if (bBase)
				{
					iTradeYield = getBaseTradeProfit(pTradeCity);
				}
				else
				{
// BUG - Fractional Trade Routes - start
#ifdef _MOD_FRACTRADE
					int iTradeProfit = calculateTradeProfitTimes100(pTradeCity);
#else
					int iTradeProfit = calculateTradeProfit(pTradeCity);
#endif
// BUG - Fractional Trade Routes - end
					iTradeYield = calculateTradeYield(YIELD_COMMERCE, iTradeProfit);
				}

				if (pTradeCity->getOwnerINLINE() == ePlayer)
				{
					iCityDomesticYield += iTradeYield;
					iCityDomesticRoutes++;
				}
				else
				{
					iCityForeignYield += iTradeYield;
					iCityForeignRoutes++;
				}
			}
		}

// BUG - Fractional Trade Routes - start
#ifdef _MOD_FRACTRADE
		if (bRound)
		{
			iDomesticYield += iCityDomesticYield / 100;
			iDomesticRoutes += iCityDomesticRoutes / 100;
			iForeignYield += iCityForeignYield / 100;
			iForeignRoutes += iCityForeignRoutes / 100;
		}
		else
#endif
// BUG - Fractional Trade Routes - end
		{
			iDomesticYield += iCityDomesticYield;
			iDomesticRoutes += iCityDomesticRoutes;
			iForeignYield += iCityForeignYield;
			iForeignRoutes += iCityForeignRoutes;
		}
	}
}

In particular, this line itself is the one that never seems to be qualifying a trade route:
Code:
if (pTradeCity && pTradeCity->getOwnerINLINE() >= 0 && (NO_PLAYER == eWithPlayer || pTradeCity->getOwnerINLINE() == eWithPlayer))
in CvCity line 14176.

I'm not quite sure what's wrong here but on first glance, simply using pTradeCity as a condition doesn't seem right does it? Should that be pTradeCity != NO_CITY ? Is this how another programming language allows this kind of check to be made?

I could also be completely off base with my debugging diagnosis here too...

BTW, I'm updating what I have to fix SO's crash which would be affecting anyone with that SVN rev. It's just a stickytape fix though as I suspect the underlying problem may indicate a potential for more (a -1 reference returned in the AI code... check out the revision changes Koshling to see what else may need to be done there. There's a lot going on there I don't know what its all referring to but I was able to create a bypass to the crash at least.)
 
The options we have here are:
  1. Too bad. Leave it as it is.
  2. Change the human automation to stick only to owned territory (so it will never try to join your cities up unless their cultural boundaries overlap).
  3. Leave in one of the safety checks, which is to validate before making a move that it isn't moving into obvious (visible) danger (which usually means a visible animal). The problems with this are two-fold - firstly it will happily strand itself deep in neutral territory and then have no way out when it finally notices an animal. Secondly, when it does abort due to seeing danger it has to re-evaluate what to do from scratch, and since it will be in the middle of (probably quit hostile) neutral territory it will probably try to return to the nearest city (and likely not make it anyway). If it does make it, it will then (probably) promptly decide it likes the idea of building the route it was trying to build before and just go again.
I would also prefer option 2). I generally micromanage my workers until I have improved all of my city tiles, and after that send them to auto-build trade networks. Which does make them build improvements and forts as well (which I have to disable for each new game, as this setting is not saved), but also makes them suiciding into animals.

By the way, I'm mildly amused by the fact that a pigeon is able to kill a worker. Must be some pretty ancient giant killer pigeons with claws and teeth roaming the lands there... :borg:
 
@Hydro

I did what you sugested and it works but such bug spoil gameplay.

If some building (werehouse) replace other building (storage pit) it is very logical
that this new one should act as old one in other buildings requirements.

I suggest that building requirements code need some tweaks to include buildings upgrade chain.
 
Status
Not open for further replies.
Top Bottom