World History Mod Conversation

Oh good I can relax, you didn't get past the medieval era yet phew! :)
Well, I knew you wanted to do some more designing on this end, so this is why I stopped at the end of the Classical Age.
This has renaissance and the start of imperial techs added!
I think it would be great if we make it so that it can somehow fit with Fullerene's Rise of U.S.S.R sub mod. Anyway, I am aproaching some busy days in real life, and my little help here will slow down.
It is very odd with the arrows for techs, I see they are being drawn out of the 'back' of techs... or coming in from the front... it all presents a very muddled appearance! :D
Yes, they surpass my understanding.
I noticed a few minor oddities, some from the code and some from the tech tree screen.

You have an expert lumberjack needed to research wood gathering, which will be impossible..
This is what I understood from your chart, where you commented wood gathering as:

Needs:
Units-Lumbejack

But anyway, as you know, delete and mod at convenience.
 
This is what I understood from your chart, where you commented wood gathering as:

Needs:
Units-Lumbejack
I first read that as "needs lumber to research lumberjack profession" setup goof :lol:
However that could be made if we really want to. We could gain lumber in multiple ways. We already talked about gathering food like fishing boats in RaR. We could do that with lumber as well. It would actually make sense to gather lumber from the map until the knowledge of lumber would become high enough to grow it locally.

Another idea would be a raider profession. It could then attack another city (like a pirate) and have a chance to run off with some stored goods from that city.
 
Message: Error in GetChildXmlVal function, unable to find a child node.
I found the cause of that one. In MEDIEVAL_TECH_IRON_TOOL_MAKING, it has the line
Code:
<!-- Carpentry [Trade Woods]-->
This line causes the error, which appears to be a real error, not just to a bogus warning. The problem is that it is written in AllowsBuildingTypes. If it is written inside AllowsBuildingType (without the s) or outside AllowsBuildingTypes, then it works.

XML is known to cause weird errors due to comments. I think I figured out what goes wrong while investigating this specific assert. AllowsBuildingTypes is a list of AllowsBuildingType. It would appear that the code assumes everything in a list to be a child to that list, even if it is a comment. This would be a vanilla bug, but I'm not sure if it is in the DLL or exe.

Solution:
don't write comments in lists. Write the comments before the list or inside the children.

Coding solution:
Presumably not worth the time as it messes with quite complex code. Not writing code in lists is a fairly easy limitation to live with, once you are aware of this limitation.


Disregarding the assert and all that, is the comment correct? The tech is about iron tools and blacksmiths and the comment is about carpenters and lumber :confused:
 
I think it might be an improvement of the Wooden goods making building, as iron tools would allow you to do better wood work...

That is my guess at a first glance if trying to decode my memeory :D

Looking at it again, I think it is probably either a copy paste error, or has been added one tech too late..

The more I look at it the less I know for certain hehe, I think trade woods is a typo for winds...

Yeah no point trying to fix that code, staying outside of the lists seems like a perfectly reasonable system.
 
I found the cause of that one. In MEDIEVAL_TECH_IRON_TOOL_MAKING, it has the line
Code:
<!-- Carpentry [Trade Woods]-->
Looking at it again, I think it is probably either a copy paste error, or has been added one tech too late..

The more I look at it the less I know for certain hehe, I think trade woods is a typo for winds...

You are completely right. Copy and Paste mistake. This comentary mustn't be there at all.:blush:
 
The white arrows in the tech tree can be tricky. I believe they only draw for the first required tech and the "or" tech. I think there is an XML option that modifies how the arrows work, not sure not home now. Anyway, if arrow functionality needs adjusting for this mod let me know and maybe we can fix it up.
 
I think somthing has gone wrong with the way the tree has been coded, somewhere early near butchering I think the problem starts and then just gets worse, but as yet I have not seen anything wrong with the tech coding around there...

I think there must be some kind of bug... I just don't understand how..

Right at the beginning Wood Gathering has line drawn from Sheperding (also need to fix these misspells eventually) When it should have a line from Fire....and it has no code connection to shepherding...

Domestication has a line from Farming where as in the code it says it should be Shepherding...

Another strange thing is that I can research Butchery right away, but I should have to research farming first according to the code...

The Arrows and lines also seem to be drawing themselves at odd levels, and not at equal height spacing...
 
Sounds like a bug to me. It would be nice to get this working correctly before too many modders start messing with arrow issues.

Well, it's not really a bug it's the way I designed it. In order to make the arrows on the screen appear comprehensible they can't all connect to their allowed tech. I am home now and looking over it.

RequiredInvention - Lines will draw from this Required Tech to the Tech in question
RequiredInvention2 - Lines will not draw from this Tech, instead the Techs Icon will appear in the "Also Requires" icon spot.
RequiredInventionOr - Lines will draw from this tech. This means the Tech requires RequiredInvention2 or the RequiredInventionOr. It does not need a RequiredInvention I don't think.
bNoArrowinTechScreen -with this boolean true, no lines will draw for this Tech


I think somthing has gone wrong with the way the tree has been coded, somewhere early near butchering I think the problem starts and then just gets worse, but as yet I have not seen anything wrong with the tech coding around there...

I think there must be some kind of bug... I just don't understand how..

Right at the beginning Wood Gathering has line drawn from Sheperding (also need to fix these misspells eventually) When it should have a line from Fire....and it has no code connection to shepherding...

Domestication has a line from Farming where as in the code it says it should be Shepherding...

Another strange thing is that I can research Butchery right away, but I should have to research farming first according to the code...

The Arrows and lines also seem to be drawing themselves at odd levels, and not at equal height spacing...

Is this code posted somewhere for testing, is it in the World History Mod branch?
 
- Arrows:

Yes, they should start from the tech you include in <RequiredInvention>, but it is not happening this way. Arrows arrive from different positions. And what it is more. If we code that domestication require shepherding, in fact you need to research cultivation first BECAUSE the arrow starts from cultivation and ends in domestication. So arrows direct research and not the tab <RequiredInvention>.

There are other two issues I wanted to be commented, but don't consider them a priority:

- Locked things

Lib.spi’t’s idea, that I like, is unlocking buildings and units, probably professions also, as long as you research. But that incurs into a bug because the AI must grant some free buildings from start that are locked and some free professions or units that are also unlocked. So I don’t know if the AI can handle “Unlocking things before using”

- Research houses

I’m calling for ideas here. In Lib.spi’t’s tech tree we have around 30 techs before the invention of Monasticism and 40 or so before the invention of Alchemy, so we have nowhere to research these. I had to cheat and let our Prehistoric lads have a Tinkers house to test the tech tree. So we need a primitive version of a Tinkers house.

I also want to test Kailric's civics and have a look to this interesting engineer who fixes vehicles.
 
yeah I already have bunch of early buildings in mind. I just need to learn what needs ro be done in col. to make them, so the free buildings will change depending on the type of city it is, so if it is founded by a 'cave man' it will be a caveman cave with caveman buildings, if it is founded in the industrial era by an industrial worker it will be an industrial town with industrial free buildingsz etc.
 
RequiredInvention - Lines will draw from this Required Tech to the Tech in question
RequiredInvention2 - Lines will not draw from this Tech, instead the Techs Icon will appear in the "Also Requires" icon spot.
RequiredInventionOr - Lines will draw from this tech. This means the Tech requires RequiredInvention2 or the RequiredInventionOr. It does not need a RequiredInvention I don't think.
bNoArrowinTechScreen -with this boolean true, no lines will draw for this Tech
We need a better documentation for this and possibly a more modder friendly XML setup. How about adding a bool for each arrow telling if the arrow should be drawn or not (default: draw).

Also how is RequiredInventionOr working? What will happen if we fill a tech into all 3 requirements? Perhaps we should have a wiki page telling how to set this up as searching the threads for "somebody might have written this" isn't ideal for such a general setup.
 
Well, it is more or less the same as Civ research tree, to be honest it doesn't really need more documentation, at most it needs to be added to the examples at the start of the civicinfos file, if it is not already there.

The problem is not the documentation, it is that something is not working right... but I don't know why as it seems to be ok in M:C, for some reason the arrows and the tech connections just don't seem to be connecting with the right techs from the code... But I have no idea why not, because looking at the code everything seems fine...
 
No it was just here a few posts back.

here it is again

Ok, but what version of M:C are you using and what all has been changed to fit the new Civics?

- Locked things

Lib.spi’t’s idea, that I like, is unlocking buildings and units, probably professions also, as long as you research. But that incurs into a bug because the AI must grant some free buildings from start that are locked and some free professions or units that are also unlocked. So I don’t know if the AI can handle “Unlocking things before using”
I don't understand what is happening here. Could you be more specific?


- Research houses
I’m calling for ideas here. In Lib.spi’t’s tech tree we have around 30 techs before the invention of Monasticism and 40 or so before the invention of Alchemy, so we have nowhere to research these. I had to cheat and let our Prehistoric lads have a Tinkers house to test the tech tree. So we need a primitive version of a Tinkers house
.

Hmm, this is an interesting dilemma. Who where the "inventors" or ancient times? Your average person, looking for easier, better, more proficient ways to do what he needs to do. Maybe completing certain task or working professions generates "Research Points" early in the game. Like Hunting or Farming could generate research points. Your Civilization earns 1 research point per turn by default. So, early techs could have low resource needs.
I also want to test Kailric's civics and have a look to this interesting engineer who fixes vehicles.

Here is the Engineer thread http://forums.civfanatics.com/showthread.php?t=276825&highlight=kailric. It was never updated for the newest version of Civ4 however so can't be played as is.


Also how is RequiredInventionOr working? What will happen if we fill a tech into all 3 requirements? Perhaps we should have a wiki page telling how to set this up as searching the threads for "somebody might have written this" isn't ideal for such a general setup.

This is the text from the comments in Civ4CivicInfos:
Code:
 <!--These 3 are the pre required techs. On the tech tree grid if all three are used RequiredInvention will be set as "Also Requires"-->
      <!--and arrows will point at RequiredInvention2 and RequiredInventionOr. If RequiredInvention2 is not used arrows will point at RequiredInvention and RequiredInventionOr.-->
      <!--If the Or tech is not used then RequiredInvention2 wil be set as the "Also Requires" if it is used.-->

Instead of "point at", it should have read "point from".
 
Back
Top Bottom