1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Test build discussion

Discussion in 'Civ4Col - Medieval: Conquests' started by Nightinggale, Jun 8, 2015.

  1. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    It doesn't happen on a 100% change, I think I coded it to have an increasing chance each turn you are negative in a Civic cost. Will have to look at code to be sure.
     
  2. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    That's another issue we need to deal with. We have no documentation on what we do and often we can't really remember what we coded. We need some sort of semi-automated documentation template we fill out each time we add something and it will remember and sort info like this and XML modders can look up details like this without having to resort to DLL code reading.

    However I have no idea how to make such a system. The only thing I can think of is doxygen and while that would be a great addition, it is aimed more at DLL modders than XML modders. Also it is aimed at functions and classes rather than features and often a single feature is spread across multiple classes.
     
  3. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    This is a list of issues that I want to comment. But as a general comment, I have to say that the gameplay is excellent, the flow is very fast considering the number of features it has, and the variety of things to do is amazing, you don’t get bored for sure.

    -Spy reports:

    On one occasion, I didn’t have enough funds for a spy report and I rejected it, but was done anyway with negative treasure funds as a result. And the report showed I had a trebuchet that I didn’t.
    (spy report sav)

    -Research achievements window.

    I have double checked that when the research achievements window appears to show your advancements, it corrupts the city screen. Next time you enter into a city you only get the zoomed view and in the world map unit actions’ buttons disappear. Saving and reloading fixes the problem.

    -Prospecting.

    The system of layers prospecting and building all types of mines needs a bit of organization or explanation. I don’t know if prospecting a second layer would spoil the first layer, or I don’t know if it is advisable to build a mine on an alluvial mine.

    Besides, the ore bonus icon should disappear when the ore has been depleted. Similarly, I think ore on the city plot doesn’t deplete.
    Now it would make sense to abandon colonies, so that you may build cities where what you only want is the mining mountains nearby, but when all the ore has been mined, you may have no interest in having a city on that location.

    -Anarchy.

    The fact of anarchy preventing citizens from joining cities, and the civic requirements of the new civics brings a lot of fore planning, which is not necessarily bad. But you may find the situation where anarchy will finish next turn and you have no possibility to get a citizen to work gaining education, religion or whatever.

    Shorter comments:
    The implemented feature of right clicking on stalls doesn’t work.
    I can’t buy shepherds or hunters from city screens.
    On two or three occasions (in 800 turns) the delayed response still didn’t work. The scroll appeared but it didn’t call the king’s message. It fixes when reloading. But I must say that this feature now works perfectly 95% of times.
    I also include some pictures that are self explanatory.

    Suggestions:

    Professions on map should depend on buildings. For example, monks can’t be created if you don’t have a church, or knights from military orders don’t need monarchy but they should need a monastery to be created or peddlers may be created only if there is a warehouse and so on.

    If abandon city is not brought back, we could have a system to pillage city goods and enslave population apart from destroying or annexing it.

    Some assert failed that I found:

    I got this this issue when hoovering (most likely) over weapons on the city screen

    Assert Failed

    File: CvGameTextMgr.cpp
    Line: 9458
    Expression: iModifiedProduction == aiYields[eYieldType]
    Message:

    ----------------------------

    When selling wine and beer on the spice and silk trade map:

    Assert Failed

    File: CvTradeScreen.cpp
    Line: 240
    Expression: false
    Message:

    ----------------------------

    And this is a series of failed asserts that I collected.


    Assert Failed

    File: CvGameTextMgr.cpp
    Line: 9458
    Expression: iModifiedProduction == aiYields[eYieldType]
    Message:

    Assert Failed

    File: CvArea.cpp
    Line: 594
    Expression: getNumBonuses(eBonus) >= 0
    Message:

    Assert Failed

    File: CvPlayer.cpp
    Line: 19775
    Expression: eAnarchyCivic < GC.getNumCivicOptionInfos()
    Message:

    Assert Failed

    File: CvUnit.cpp
    Line: 6563
    Expression: NULL != pCity
    Message:

    Assert Failed

    File: CvTeam.cpp
    Line: 3058
    Expression: eWarChief != kTeamPlayer.getParent()
    Message:

    ----------------------------------------------------------


    Assert Failed

    File: CvGameTextMgr.cpp
    Line: 9673
    Expression: iBaseModifier == kCity.getBaseYieldRateModifier(eYieldType)
    Message: Yield Modifier in setProductionHelp does not agree with actual value
     

    Attached Files:

  4. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Kailric added a bunch of new features before I joined and he used the approach that it should work (that's the usual approach, right ;)). I noticed it had become annoyingly slow using an approach to find the slowest part and then rewrite those functions to do the very same (no new functions) in a faster way, we ended up with some functions, which have more features than vanilla, yet they still beat vanilla on performance. I reduced the waiting for AI time in RaR by 40% and I didn't measure in M:C, but I know the difference is much greater than that.

    Still it is an ongoing battle against waiting time and I do think of new ways to measure and improve performance from time to time. The thing is as new code is added, if it can revert to being slow again.

    Now that's a clear bug report, which should be possible to reproduce and fix and test if the fix works. My guess is that some variable is set to something it shouldn't contain or some other code reads it with the expectation that it should contain something else. The question is which one. Currently the only good hints are the screen names and the fact that it isn't saved.

    You mean the immigration screen or ? I can't think of buying expert units in a city.

    Most likely it is the exe bug, which discards a valid offer. Something about taking friendship to the next level will only work if you are at war or something.

    I kind of agree. I think it can be done with XML changes only. There is one potential issue though. Not being able to make peddlers can be a big issue in early game as they can be your only unit to transport yields between your cities. Maybe we could add a "transport unit", which is essentially a peddler without the ability to trade :think:
    At some point the whole profession cargo slot will likely be improved a great deal. I would like a limit on how much each slot can contain, as it could make sense to use a more or less free early unit with one cargo slot with a capacity of say 10.

    I wonder what we should do about abandon cities. Maybe we can allow 0 units in a city, in which case the city does nothing. You can then use units outside to pillage the buildings to completely remove it. I kind of like the idea that it takes multiple turns to remove moats and castles because otherwise you just remove all of it if you know the city is lost to the enemy next turn. No fortifications makes it easier to retake later.

    I will look at the asserts later. Some of them look potentially quite bad while the ones in CvGameTextMgr.cpp are presumably just a matter of incorrectly displayed text.

    Thanks for the feedback. It is really helpful for improving the quality of the mod :goodjob:
     
  5. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    Sorry for the typo. I meant Trade Screens as you guessed.
     
  6. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Yeah, thanks Trade Winds for the excellent feedback. And thanks Night for the excellent response. I'm checking into the Spy report report now :)
     
  7. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
  8. SadJohn

    SadJohn Chieftain

    Joined:
    Jun 21, 2015
    Messages:
    2
    Hi, guys! Thank you for making such a spectacular MOD!
    I had an issue, that could not owercome. Please watch the save file

    error message:

    Assert Failed
    File: CvCity.cpp
    Line: 9625
    Expression: false
    Message: illegal Profession
     

    Attached Files:

  9. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    It is a test release and they are still making a good job improving it...

    But yes, it is already amazing.
     
  10. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Thanks John, I'll look into this asap. Glad you like the mod. It definitely has "spectacular" potential.
     
  11. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    Play testing report #2

    -Bugs found:

    Increased demands:

    At a certain time, when lack of civic requirement triggers an anarchy, that requirement automatically turns to 300, (eg. If you fail to meet the requirement of 10 education, you fail into anarchy but the education requirement turns automatically to 300) That makes it even more difficult to recover back from anarchy. I have checked it with faith, fealty and education, but I have not checked what happens when there is lack of funds.

    But this automatic requirement of 300 fixes to the normal needs when changing civic.


    The failure SadJohn reported hasn&#8217;t occurred to me yet.

    -Suggestions/Comments:

    Spy reports has not presented any problems so far after the patch.

    We should award/designate entrepeneuring cities that produce and export lots of goods. In medieval times the king granted a city to be a Market city. Or maybe we could recognize that they are convenient cities to get what people need and therefore attractive cities to live.

    Manual trade route is a mess. Routes could be at least ordered alphabetically or something.

    The fact of Peaceful wild animals preventing field work is a bit of a pain. I don&#8217;t also quite like too much citizen automatization.

    When we have built city stalls or market, when we hoover the mouse over it, we can know the city market prices but we don&#8217;t have information about demand.

    I have the feeling that Pages promote rather fast.

    Buildings waiting for stuff to be completed is not shown on the city screen.

    Clicking on my stack of 325 Elders takes about 35 seconds to be ordered on my Double Core/ 4 sub processes computer at 1,9 Hz and 4GB RAM.

    The Pope keeps trying to move their troops into my lands and it is overruled by the game because I have no trade relations with him and the troops remain back on their previous plot.

    Delayed response doesn't work on this occasion. (Save game included)

    -Pictures:
    300 resource demand after Anarchy.
    My slowing down stack of 325 Elders.
    When trading to vassals, we don&#8217;t have the &#8220;What would you give me for this?&#8221; option.
    Notice that the civilization doesn&#8217;t revolt to anarchy even after nearly 200 years of not meeting demands after Papacy over ruling.


    -Asserts Failed:

    These two failures are related to a Serfdom civic change of another civ (I think). And from this situation on, you need to ignore the second failure whenever you load a save game. (Save game included)

    Assert Failed

    File: CvCity.cpp
    Line: 4884
    Expression: iValue >= 0 || eYield == YIELD_FOOD
    Message:

    Assert Failed

    File: CvCity.cpp
    Line: 5793
    Expression: (iYield == YIELD_FOOD) || (aiYields[iYield] >= 0)
    Message:

    ----------------------------------------------------------


    Other assert failed:

    Assert Failed

    File: CvSelectionGroupAI.cpp
    Line: 194
    Expression: iTempHack < 90
    Message:

    ----------------------------------------------------------
     

    Attached Files:

  12. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    I didn't report though that when the spy report window is going to appear, it freezes the game for a little while.
     
  13. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Opening python based windows can easily do that. The same is true for domestic advisor. I would like to make them faster at some point, but it isn't a huge concern.
     
  14. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
  15. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    Play Testing Report #3

    I want to comment some issues I have found.

    Military system.

    I know that this is one of the features where some work will be done. Nevertheless, I want to comment that in the current system I never use soldiers other than Archers>Crossbows>Longbowmen.

    This is so that when I am ready to have weapons, I have already researched Crossbows, so I never use Skirmishers or Infantry other than for training, and for me, Longbowmen are the most useful unit in the final stage of the game.

    Archers should be more difficult to be produced, Skirmishers should have some more advantages, Crossbows should have some disadvantages and so on.

    Promotions:

    A Commander has the Skirmisher I promotion, a skirmisher also has the Skirmisher I promotion but a skirmisher Commander doesn't get skirmisher II promotion.

    Also, when a Skirmisher is given Skirmisher II promotion, when he is back a Peasant, he loses the Skirmisher I promotion but retains the Skirmisher II one. Thus, when this unit gains some experience to promote, he can be offered either Skirmisher I or Skirmisher III.

    Shorter comments:

    Cities are no much at risk. When there are Marauders or Bandits around, it is safer to have no one outside the city to prevent attacks. They should rob undefended cities.

    When the game checks Civics demands every turn, that should be done previous to citizens graduating. Because now we come across a situation that your Cavalrymen or your Students graduate and in the same turn processing you cease to meet fealty or education demands and you are kicked off to Anarchy.

    A free Manor doesn't count as required building. Therefore, a palace can't be built when in Manoerism.

    I came across a map with continents too far away to have a single silk road access.
    It has never had sense to me going to the poles for trading anyway. I know the system is still been under development.

    I think I already reported these failed asserts, but I do it anyway.
    I experience them when hoovering the mouse over the Law Icon:

    First,

    File: CvGameTextMgr.cpp
    Line: 9673
    Expression: iBaseModifier == kCity.getBaseYieldRateModifier(eYieldType)
    Message: Yield Modifier in setProductionHelp does not agree with actual value

    ----------------------------------------------------------
    and then

    Assert Failed

    File: CvGameTextMgr.cpp
    Line: 9458
    Expression: iModifiedProduction == aiYields[eYieldType]
    Message:

    ----------------------------------------------------------

    I also include my favourite section of self explainatory screenshots.
     

    Attached Files:

  16. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Naturally you will use the best unit for the job and at the moment Longbowmen are pretty much it with no reason to use other units. This is where a military expansion will make all the difference so changes will be made to make armies more diversified. You can post your ideas in the military threads.

    This sounds like a bug of some sort.

    I think they are suppose to "raid" cities. Not sure exactly what has been setup but its a good idea.

    Ok, so units are graduating, and then are not producing the required resources to prevent Anarchy. Yeah, this needs fixed. Just how to do this is the question as it can be a pain to have to reassign your graduates once again to prevent Anarchy. Graduates could be auto reassigned their previous profession, but this could lead to issues where you want your graduate to do something else and forget he has graduated because he isn't in the unity selection cycle. Perhaps a new command for graduates that you can set them to work previous profession, that would be convenient. Any ideas on this?

    Yeah, this would be a bug.
    So, the map had no silk road? Well, technically it is not the "poles" it simply represents the edge of the map, the end of the "playing field" so to speak. Like in soccer you have a playing field, but the world continues on outside the playing field. So, if a player wants a soda and leaves the playing field, you would have to simulate that event. :)


    This is similar to the pause before Diplomacy and Construction Complete popups and I am not sure why this happens. Night do you have any incite into this?


    This would be a bug, thanks for the report.


    -Suggestions/Comments:

    Interesting idea here.

    Yes, a better route manager is in need
    Hmm, this shouldn't be happening as Deer and Boar shouldn't be interrupting production. Are you sure it was peaceful animals?

    Demand currently isn't used. This whole system is under review and will be updated to a new system at some point.

    Not sure about this, but their learn time can be modified in the XML. They should promote pretty quick though as you have to go squire then knight in only 300 turns ;)

    Correct, this is a vanilla issue and it would be nice if it was addressed.
    How did you come by 325 elders?
    Hmm, interesting pope action there, will check this out.


    Thanks much for the excellent report!

    Have you used the Auto Traders yet and their interface?
     
  17. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    I would like that savegame. It sounds like the best setup for profiling that I have ever seen. If anything can be done to speed up this part of the code, this savegame holds the key to analyzing and testing results.

    Having that many units on a single plot sounds like a poor defense plan, but that's another story. If it is optimized to run well at 325, then it should speed up 20 as well ;)

    Sounds like lv1 requires a specific combat type while lv2 requires lv1 only. However a quick look in the xml file doesn't reveal any issues like that :confused:
     
  18. Trade Winds

    Trade Winds Chieftain

    Joined:
    Nov 21, 2013
    Messages:
    235
    Well, the idea I proposed is that when the AI has finished its turn and the game is making the preparations for your turn, checking for civics demands should be placed earlier in the End-of-Turn cycle before expelling students from school. That way you meet your demands, you continue with your current civics and the graduate awaits orders outside the city, fact that will remind you to assign a new student if you want to meet the demands next turn.

    Yeah, yeah, ...:rolleyes:

    Oops, let me double check it. :blush:

    I'll work on that next.

    My pleasure. :)

    By capturing. And this is not all. I also captured a lot of other kinds of citizens so that I had to separate all that ammount of people into at least 3 stacks to make it manageable. All together there are over 450 citizens. And as you can imagine, I didn't want them into my cities, because it would be very unconfortable to play with such an amount of citizens.

    The AI seems to pile up citizens and then it doesn't know what to do with them. When you are besieging cities, the AI piles them defenseless next to a city so you just go and capture the pile.

    Human players (I have it tested only with me) don't pile up such a quantity, but I usually get at least 3 or 4 idle unemployed citizens waiting outside my cities.

    I have always thought that there sould be a way to control over population of idle peasants. I always dreamed of having that idle piled-up stack of population consuming 1 food from the city they are waiting in or from a wagon if they are in the map, and start dying if there is not food available.

    This way you have to control and manage well upcoming new citizens, and will prevent the AI from piling up citizens.

    I attach the savegame.
     

    Attached Files:

  19. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    If you can capture more than 300 units more than you can add to your cities, then the game is showing a balance issue. It's not a technical issue though and right now the technical issues have the highest priority. Balance can then be fine tuned once the code is working as intended.

    Thanks for the savegame. I will take a look at it later.
     

Share This Page