World History Mod Conversation

Also, some techs unlock buildings that are given for free when founding cities, so I can’t implement these buildings into the tree because the game crashes when founding the cities.
Interesting. Sounds like a bug. Clearly the city founding code should check if the player can build a building before it attempts to build it. However maybe it does and crashes when it can't find a building matching the criteria it has for the first building. Whatever happens, a crash is the wrong output and I will look into this.
 
. Whatever happens, a crash is the wrong output and I will look into this.

I wouldn't like you to lose time investigating this when it has probably been a mistake in my coding. I prefer if you had the tech tree beforehand previous investigating this issue.

I have these buildings not implemented now, but I think it was when the carpenter shop or the wine maker shop were locked. I prefer to re-create the facts to be sure it is happening again.
 
It doesn't really matter if you made a mistake or not. A crash without an assert message is a DLL bug even if it is due to a stupid XML setup. An assert and then a crash is ok for XML mistakes, but not a crash without telling what went wrong.

Not having carpenter's workshop available... how do you intend to build one later on without any hammer production?
 
Good question.:blush:

On my favour, I must say I'm just transferring an incompleted version of the tech tree to the game to be balanced later.

Now that you mention, I think that what happened was a bug with the message NO BUILDING or something so. I want to recreate it before bothering someone and then tell it as it is.
 
Yeah, there is a lot of content that will need to be added in all the other areas.

My advice would be, if something isn't in the game, don't add it to the tech tree, even just adding the names of the techs and boxes in the right place is a huge job, so for now even just doing that and not adding any 'effects' for the techs would be great!

The continent resources, are still in the plan, they will only be available on the continent terrain types, so they are unlocked by the tech tree, but their unique locations is a terrain or yield job. Haven't learnt it yet.

as for the 2 tech limit that is fine, I can design that into the tree eventually, so just plug any two techs next to it for now, and we will 'flesh that out' later.

With the start of the game I will be adding a selection of cave/campfire slots for needed productions that will be rubbish but will upgrade. You can see it with some of the early resources, something like tool maker's slab or some such... it is late... :D

Like I say, if something doesn't exist in M:C, like a yield or a building, just don't add it.

Just putting the name, xy coordinates, and just the sheer copy/paste quantity of tech entries, is plenty of work and a massive help to me, going through and 'changing' techs feels like much less work for my head than the constant copy pasting of new entries, and having them laid out across the tech tree is great for me too, as i can just look and say 'yeah we are missing some stuff here or there'
 
What I really want to have eventually at the start of the game is a real cave man era, with all the gathering type stuff, and slowly progress, to a producing society, rather than a gathering society.

What I want the beginning to be is just gathering in food from sources, to 'pay' for new people and early research, then as you discover new resources, you can begin to build and convert these things into the early 'production society'.
 
What I want the beginning to be is just gathering in food from sources, to 'pay' for new people and early research, then as you discover new resources, you can begin to build and convert these things into the early 'production society'.

I also like this idea of having nomads around, and gathering resources directely from spot.
 
For the record: yields are hardcoded in DLL for performance reasons. If you want to add yields, then you need to compile the DLL yourself. I think it would be best to postpone anything regarding yields for a while.

I too like the idea of nomads or semi-nomads. If we manage to get that working, then it really shows the potential of the Civ4 engine to do stuff, which wasn't considered when it was designed.
 
Founding fathers can give free buildings.
It needn’t be done like that.

We can set the first carpentry cost zero hammers and 100 lumber. This is a change on XML and even I can do it. This way, such buildings are not given for free and make more sense in a hunter-gatherer society.

In the same way, other first basic buildings as village halls or what Lib.spi’t call something like village bonfires (don’t remember his actual name) can require zero hammers but fur as North Indian Tipis, clay as some African huts, piled stones as Scottish clan hamlets and even barley for thatching, you name it, depending on what you have handy where you started.

In the same way, the “Found Settlement” button could be not active unless your peddler had a good supply of any of these. Or introducing the housing production feature with a population limit counter as in old MoM... But these features are unreachable for me.
 
depending on what you have handy where you started.
It also makes me think of another thing. We could consider including <requiredyeldsOR> in the tech tree. I know Kailric has something like <requiredyeldsAND> on his Inventor mod.

But having a <requiredyeldsOR> in our tech trees makes us research the traditional way with candles from Monasteries, Inventors, Shamans or whatever OR researching cheaply using wood, ore, clay, fish or whatever you may find on your lands.

Therefore, civs with lots of forest around can became good bowmen and shipbuilders earlier than anyone else; civs with handy ore can research weapon forges and swords earlier, and civs with clay can, for example, became better merchantmen selling pottery earlier than anybody else.

Therefore, a civ may pick their traits from what they have around and are familiarized with (seafarer, horseman, etc) as it may have happened in real life, and a series of traits from resources could be defined.

One more piece of ignorant dreaming.
 
With the resource cost for techs this will sort of happen anyway, as you will need access to the resource inorder for you to produce research, so those with an abundance of the right material can 'stack up' a faster research rate in those techs, I know it isn't what you mean, but i think it is the best way to maintain balance..
 
I have finished coding Lib.spi’t tech tree. I have left a lot of room for new technologies placement or simply for maneuvering. Also, I have left notes where future yields, units and buildings should eventually be included according to the plan. I have done a minor change by moving Shaft Mining after Carpentry because I consider that Shaft Mining should require Carpentry as well as Stone Masonry does. I have also created a tech before the “Dark Ages” that I call “Casus Belli”. I don’t quite like the name, there is no need of war excuses for invading barbarians, but it is simply a tech to put several ends together before moving on.

When Lib.spi't introduced a new profession, I also include the unit to give a wider modding offer, so simply delete at convenience.

But I have found that the tree is not working as it should. The issues that I have found from what I consider less serious to more serious are:

-Arrows not working and not pointing parent techs
-I couldn’t implement terrain bonuses; I think they must be hardcoded.
-Two bugs found, probably because some buildings and professions are locked.
Spoiler :

Assert Failed

File: CvCity.cpp
Line: 406
Expression: eFreeNatureBuilding != NO_BUILDING
Message: Should get a Free Building

Assert Failed

File: CvCity.cpp
Line: 9694
Expression: false
Message: Illegal Profession

And another bug that I think started occurring when I joined Lib.spi’t tree to M:C’s.
Spoiler :

Assert Failed

File: CvXMLLoadUtilityGet.cpp
Line: 656
Expression: false
Message: Error in GetChildXmlVal function, unable to find a child node.

With such issues, should I still commit on github or I simply let you have a look to the file here?.
 
Message: Should get a Free Building
This is just a warning that the new city didn't get a free building. This is presumably because the building it decides to give is locked by lack of research.

Message: Illegal Profession
I have never seen that one before. The unit in question has a profession, which the player isn't allowed to use.

Message: Error in GetChildXmlVal function, unable to find a child node.
XML setup error. The child node is set up incorrectly. However sadly the message doesn't tell where it went wrong or even which XML file. I looked into this earlier and getting it to write that appears rather tricky. Running the game in a debugger and looking at the stack appears to be the way to detect where it went wrong.

With such issues, should I still commit on github or I simply let you have a look to the file here?.
Considering you don't have write permission to github, I would say the forum would be a decent choice.
 
start by putting the file here, so we can have a look.

Good call on the carpentry, I think you are probably right, I think what happened is I included wooden goods in the second line of resources, so I got to precious metals before wooden goods, thus introduced it later.

With the aroows, is it all techs or some techs, I know sometimes the lines don't generate, I think due to formatting, and how it 'decides' to draw them.

Don't worry about the tech names, chances are I will end up changing a lot of names, once we get all the important stuff done, to add a little 'flavour' to everything, but pfff that is like text editing so... not a big deal :D

With the Units, do you mean you put the name in the notes, or you did work on the unit.xml files? It might be that you did not add it to all the necessary files which is what makes it 'illegal', but i have no idea as I still have not entered the murky waters of col. code.

Anyway, well done and nice work, I guess I better pull my socks up and finish the rest of the tech tree! :D
 
Nice one TW, I haven't even looked through it all yet and it made my head hurt!!

Good Job!

Oh good I can relax, you didn't get past the medieval era yet phew! :)

I just realised the forum is being stupid and not letting me upload the latest version of my brainstorm so here is a link to it:

Col Thoughts

This has renaissance and the start of imperial techs added!

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

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..

other ones I have gone and forgotten :D
 
Back
Top Bottom