World History Mod Conversation

I also need to figure out how to do a 'dark ages' bit. What I would like is to disable certain bulidings and such for bulding purposes, so basically if you build them before the dark ages you get to keep them, but once you hit the dark ages you won't be able to build new ones of that type, you will have to wait for medieval technology to bring you back to it (something similar). As well as maybe somethings being destroyed or obseleted, as they can no longer be maintained as the knowledge is lost.

Just to brainstorm…:science:to help create other ideas.

An example of what you mean is something as baths and aqueducts that Romans built. When the barbarian invasions took place and the dark ages began, these aqueducts were still there but they didn’t carry water to public baths. There only continued to be baths in the Eastern Roman Imperium and Islamic lands that continued these constructions.

Also the magnificent roman temples had to be substituted by sturdy small Romanesque Architecture Temples until new techniques were invented.

I’ve found this brief article about anglosaxon architecture: http://www.octavia.net/anglosaxon/earlyEnglishArchitecture.htm
 
yes that is the kinds of situations I was speaking of. the reason I do not want to simply destroy everything is as you say some of these sites remained functional.. I am still trying to come to a solution, decision on how best to simulate this, perhaps some civs will have unique buildings that don't obselete... and thanks for the encouragement, there is a long way to go but I think we can get there!
 
Briefly looking though the spreadsheet I notice the first yield transport is an ox. I proposed an idea for a first transport unit in col2071, which would also fit here: transport profession. You simply take a citizen and give it "carrier" profession. It can then carry a single type of yield with 1 move/turn. Maybe that one yield slot should be limited to say 20 instead of 100. It's a crude transport, but it can be available from the start and the AI will likely do really poorly with access to a transport.
 
Yeah was thinking of adding a basic kind of 'carrier' it is just not on the tech tree (or anywhere else) as it won't need to be researched, or have any yield costs. So there is no real planning to it, just need to add it when the time comes.

Chances are it wouldn't need to be limited, as at that stage of the game I plan to make things very slow and statc anyway, Like 'cities' will only be their starting tile in the ancient era and will need to gain a small amount of culture with a building unlocked in the first few tech tiers, or something like that.

I want to attempt a real caveman start, as we already have hunting in game, and I would love to get the 'fishing boat' mechanic from RaR (there's another feature I remember I want :D) to make 'gatherers' that can sit on certain food tiles and collect food, and then become active again when they are full. At which point they can take it back to their cave to make new cavemen or use in research.
 
I want to attempt a real caveman start, as we already have hunting in game, and I would love to get the 'fishing boat' mechanic from RaR (there's another feature I remember I want :D) to make 'gatherers' that can sit on certain food tiles and collect food, and then become active again when they are full. At which point they can take it back to their cave to make new cavemen or use in research.
I wonder if it should be implemented in a different way than fishing boats. Maybe a profession. I would love to give profession to ships btw, allowing them to use scout functions etc.
 
yes, it would be a 'gatherer' profession, what I mean is the mechanic behind the fishing boat in RaR, where you can send it to a food tile and it gathers food in it's transport slot, then you can bring it back.

I don't know what or where the functions are for it though. I am assuming it is .dll but it could just as easily be a python system... I am still be busy wrapping my head around the most basic elements of the xml though :D

I just remembered playing RaR though and having the fishing boat and thinking... oh that could be used to make a caveman gatherer.... then I promptly forgot all about it :D
 
It is in the DLL. I remember spotting it as a place which spent more than its share of CPU time. The problem was that it used getDefineINT() and I cached the output, which made next turn wait decrease by around 3%. That boost is part of RaRE and were added to RaR 1.6. In fact waiting for next turn in 1.6 is decreased by around 25% compared to 1.5 due to the improvements from RaRE :D

Long story short: I know it's a DLL feature without even looking it up.
 
Almost all features in RaR have their core logic in DLL.
(Except small Python events maybe.)

Simply because I believe that DLL is best suited for core logic and Python is best suited for logic related to User Interface (and specific map scripts).
(Don't worry, I will not start lecturing about design patterns or MVC. :) )
 
Briefly looking though the spreadsheet I notice the first yield transport is an ox. I proposed an idea for a first transport unit in col2071, which would also fit here: transport profession. You simply take a citizen and give it "carrier" profession. It can then carry a single type of yield with 1 move/turn. Maybe that one yield slot should be limited to say 20 instead of 100. It's a crude transport, but it can be available from the start and the AI will likely do really poorly with access to a transport.

I haven't been keeping up with this thread very well so if something needs to be brought to my attention then let me know. This "carrier" profession sounds awful familiar to the Peddler Profession in M:C. The AI is already programmed to take advantage of Peddler professions. AI Peddlers will load up with a good and start hiking out to the nearest land based Trade Screen plot. If they can't reach one they will travel to a random foreign City and do their trading there, then return back and start again.

I once attempted to limit certain yields like Lumber, but the AI had issues and I never went in to figure it out, so just went back to normal till I had time to investigate.
 
I haven't been keeping up with this thread very well so if something needs to be brought to my attention then let me know.
Nobody did that lately. It was idle for a month or so :p

This "carrier" profession sounds awful familiar to the Peddler Profession in M:C. The AI is already programmed to take advantage of Peddler professions. AI Peddlers will load up with a good and start hiking out to the nearest land based Trade Screen plot. If they can't reach one they will travel to a random foreign City and do their trading there, then return back and start again.
The idea is to use the peddler profession or at least something sharing a lot of the code. My first idea was for col 2071 where they should be able to move yields from inland cities to coastal cities for exporting as the land based transport is not only well into the tech tree, it also requires resources, which could be hard to get. This mean the initial "peddler" might even be unable to trade and can only move between your own cities. Techs could then unlock free promotions to allow trading or whatever.

I once attempted to limit certain yields like Lumber, but the AI had issues and I never went in to figure it out, so just went back to normal till I had time to investigate.[/QUOTE]
And you didn't mention this to me? I made the AI aware of yields in a new way to make it compatible with col2071 yields. I would likely be able to figure out how to do whatever you wanted to do. The AI is very simpleminded regarding yields. It imports predefined yields (like weapons) and exports more or less everything else. Which yields to do what is defined in Medieval_Tech.cpp. Other mods will have a file of their own to define AI behaviour for different yields.
 
Originally Posted by Lib.Spi't View Post
I want to attempt a real caveman start, as we already have hunting in game, and I would love to get the 'fishing boat' mechanic from RaR (there's another feature I remember I want ) to make 'gatherers' that can sit on certain food tiles and collect food, and then become active again when they are full. At which point they can take it back to their cave to make new cavemen or use in research.
I wonder if it should be implemented in a different way than fishing boats. Maybe a profession. I would love to give profession to ships btw, allowing them to use scout functions etc.

That sounds cool :king: In real life, many resources like that don't stay present in one place perpetually after repeated harvesting, making foragers seek out various sources across their land and be semi-nomadic when foraging rather than sedentary/agricultural. That was the case for other resources too, with some Centroamerican civs collapsing after overintensive local harvesting of resources. As a hunting-gathering type mechanism I like using harvesting of a Feature, so you can actually seek out sources of a yield to gather and some can get depleted from overintensive harvesting, making you seek out other sources nearby giving interesting competition with neighbors, or give time for the Feature to regenerate. You can use <FeatureStruct><Yields> in Civ4BuildInfos.xml to have harvesting of any feature provide a yield; disappearance and regeneration of Features also can be modded in FeatureInfos XML.

Alternately if you want something that exists on the same tile perpetually & gets carried by a unit, maybe importing/adapting the RaR Boat mechanism, but modifying this to search for a XML-moddable Yield and Bonus instead of hardcoded Fish/Whale.

AI Peddlers will load up with a good and start hiking out to the nearest land based Trade Screen plot. If they can't reach one they will travel to a random foreign City and do their trading there, then return back and start again.
Nice, actually I didn't realize that could happen! :goodjob:

The idea is to use the peddler profession or at least something sharing a lot of the code. My first idea was for col 2071 where they should be able to move yields from inland cities to coastal cities for exporting as the land based transport is not only well into the tech tree, it also requires resources, which could be hard to get. This mean the initial "peddler" might even be unable to trade and can only move between your own cities. Techs could then unlock free promotions to allow trading or whatever.
That sounds good, I think you are right the Convoys were too challenging to get in the old version. I still wonder whether it may be best to let spaceships fly across the planet as Androrc suggested, since it seems more natural for them to do that. But maybe not until later in the game, after discovering technology that counteracts the strange magnetic fields left by the Progenitors. ;):scan:
 
And you didn't mention this to me?

Well, it was before we met I believe. There was one thing I was wanting to do, though however, that I didn't see an easy way to do it so I put it off and that was to have the ability to add units to a cities population but those units do not consume or consume less food. I was wanting to do this for "Slaves" so they don't consume food but just produce labor. By the way I meant to tell you that I may could help with graphical needs you may have on any of your other mods, as I remember you saying you was asking for help on R&RE. I'm no expert but a tinker.
 
Nice, actually I didn't realize that could happen! :goodjob

Also, you may not realize but if you have a city that has a good set to "Import" and you are running low on the good, any nearby foreign city my send out a merchant and offer you those goods in a trade screen if they have any on hand. Well, I say any city, it may just be Natives, not sure now, heh, and I coded it :P
 
The only thing you might have missed Kail is I attached my starting tech tree plans, I think it is on page 5 now, so you can take a look at that if it interests you.

Yes I was thinking that the 'carrier' would be a simple version of the peddler without the trade ability, just literally someone to shift stuff around caves :D

Then the 'ox' profession would be the start of trade with native neighbours.

Spoiler :
Alternately if you want something that exists on the same tile perpetually & gets carried by a unit, maybe importing/adapting the RaR Boat mechanism, but modifying this to search for a XML-moddable Yield and Bonus instead of hardcoded Fish/Whale.


Yes this was my basic thinking for adapting the fishing mechanic to a more mod friendly, 'gathering' ability, the later game could even have things like 'prospectors' who can be sent out to gather precious metals from bonus tiles or anything else one could think of!

I like the idea of the use up/regrow system for gatherers and bonus plots, so you can gather say 100-300 yield from a bonus, then you have to wait X turns for it to regrow (perhaps even with an xml tag that can set whether a bonus resource will regrow or not.) By regrow, or not regrow, I don't mean losing the bonus or it disappearing off the map, I just envision it having a yield counter that depletes with a gatherer, then after X turns it will jump back up to full, or not if it is something like metal. However when you arrive and put a mine on it, you get the bonus from the bonus resource regardless of whether it has been previously gathered or not.

This would be quite a good simulator for the need to develop. You can gather food more quickly from wild gathering, but then you have to plan for there being no more yield, where as building a farm or mine gathers at a 'slower' rate but is constant, so the 'planning for winter' is essentially done automatically from then on, and when you 'math it out' you will end up getting more food from the constant stream than you do from the boom and bust of the gathering. Especially when you take into account the gradual yield improvement from technology.

Spoiler :
Also, you may not realize but if you have a city that has a good set to "Import" and you are running low on the good, any nearby foreign city my send out a merchant and offer you those goods in a trade screen if they have any on hand. Well, I say any city, it may just be Natives, not sure now, heh, and I coded it :P


That is another one of those M:C features that I really like! It is great for WH and M:C as it makes the Non-Player Factions, far more like established cultures. :D
 
Ok So I have sat down to try and start the task of teching the renaissance and I am umming and arring a bit about what to do.

Now in the design sheet I released I marked most colonial goods as Imperial age unlocks, I am wondering if this should in some ways be revised to renaissance.

I am finding my brain a little slow, so I wanted to get your thoughts on some 'Historical Classifications' and what you guys think would be best from both a historical and game mechanic perspective.

So my current thinking is this. New World Discovering and Exploration will start in the renaissance period with the invention of the caravel and a land 'explorer'.

(My current thinking on world exploration was essentially to have 'terrain lines' around the map of tiles like 'here be dragons' which no one can travel over unless they have a special promotion, which would be unlocked as a free promotion for land units professions and given to all renaissance+ ships, there could even be a few 'levels' of this terrain, so certain areas can be unlocked before others...) (I know this can work, because I have seen tile blocking and promo unlocking in Fury Road and some mountain mods.)

Now my thinking on renaissance colonies and unlocking colonial resources would be this:

In the renaissance you only unlock the raw materials, which would have a high demand until the imperial era when you unlock their refined versions.

Now I am thinking to keep renaissance colonies small and struggling, I can make it so that 'normal' improvements cannot be built on 'Non-Europe' continental tile sets and that in the imperial age you unlock colonial improvements, which will finally allow your overseas colonies to thrive.

So essentially Renaissance colonies would be back to a 'Hunter/Gatherer' economy, like our cavemen, until the imperial age 'backing' arrives to make colonies truly viable enterprises.

This would turn the Renassaince age into one of exploration and capitalising on basic Native trading and bonus resource 'gathering'.

We could even make it that only certain units can move on colonial tile sets, meaing that inland colonies could be founded as a 'colony' type (by explorers or pioneers or who ever can travel freely) and have access to very limited buildings in the renaissance and would need to be linked with roads before 'normal' people can reach it....
 
That sounds cool :king: In real life, many resources like that don't stay present in one place perpetually after repeated harvesting, making foragers seek out various sources across their land and be semi-nomadic when foraging rather than sedentary/agricultural.
Around half a million years ago a group of homo heidelbergensis had it figured out somewhere in Spain. They noticed animals went to a stream to drink. They went to a nearby swamp and set up traps. They then hide near the stream and waited for animals to drink. Once they did, the humans attacked. The animals ran away and were faster than the hunters, but due to the angle of attack, the animals ran towards the swamp and got stuck in the traps. The hunters then cut up the animals into pieces small enough to carry home.

At least that is what the remains of stream, traps and cutting up indicates.

Before having horses, the indians couldn't keep up with the buffalos. Instead they built stone fences. They then scared the buffalos to make them run away. Once they reached a certain point they would encounter this stone funnel and the indians could control where they ran, which happened to be right off a cliff. They could then pick up all the meat they could carry at the foot of the cliff.

Having specific plots for hunters doesn't seem far fetched.

That was the case for other resources too, with some Centroamerican civs collapsing after overintensive local harvesting of resources. As a hunting-gathering type mechanism I like using harvesting of a Feature, so you can actually seek out sources of a yield to gather and some can get depleted from overintensive harvesting, making you seek out other sources nearby giving interesting competition with neighbors, or give time for the Feature to regenerate. You can use <FeatureStruct><Yields> in Civ4BuildInfos.xml to have harvesting of any feature provide a yield; disappearance and regeneration of Features also can be modded in FeatureInfos XML.

Alternately if you want something that exists on the same tile perpetually & gets carried by a unit, maybe importing/adapting the RaR Boat mechanism, but modifying this to search for a XML-moddable Yield and Bonus instead of hardcoded Fish/Whale.
Either we make the feature "inactive" for a number of turns or we make it go away completely. If the latter is the case, then we should make such features appear randomly on certain terrain. We could add restrictions like not within X plots of an existing feature of the same type and the plot can't have an owner etc. I'm not sure how the AI will treat features appearing o a plot with fog of war on it.

I did a little testing earlier (for a totally different purpose) and it seems like the exe calls CvPlot::getFeatureType() all the time while doing nothing (just waiting for user input during turn). This makes me suspect that it is called when drawing the map. In other words if nothing else we can control this one to alter graphics of features if we want. In fact we can make it return "no feature" if the player hasn't invented the feature yet. We would then have to make a new function for the DLL to get the value and not use CvPlot::getFeatureType() in the DLL. Not the best solution, but at least we will be able to control something which goes on inside the exe. The drawing code calls this quite often, which mean it should return a value stored in the plot itself.

There are CvFeatureInfo::getArtInfo() andCvFeatureInfo::getArtDefineTag(), but the code doesn't call them often. In fact it seems like they are only called when this line is called:
Code:
gDLL->getEngineIFace()->RebuildAllTileArt();
This mean one feature => one type of graphics. However changing these functions could make features change graphics (into none for uninvented?) according to tech level or age. However all features of the same type must have the same graphics at the same time meaning we can't have a harvested and unharvested graphics for the same feature.
 
Yeah my prefered setup for the gatherer system, would be to have the bonus resources permanent (just like they are now).

Then any bonus resources we set as 'gatherable' like sheep, cattle, horses (hunting) or corn or whatever other food plots we have (gatherer) will then have some kind of counter for how long the bonus can be gathered on.
Either:
A plot has say 300 yield on it, and then when 300 yield is gathered, you can't gather anymore.
Then either it regrows after X turns and has 300 again, or if it has the no grow tag active, it remains permanently empty (like a metal resource) for gatherers.
Or:
We could have a tag for how many turns a resource can be gathered on, then a tag for if it regrows, and then a tag for how many turns it takes to regrow.
We then have a 'gather rate' tag for professions that says how much a unit can gather per turn, so we could have 'expert gatherer' type professions that can get more out of a tile before the turn counter runs out.
The best thing for the profession gather rate would be a yieldtype and gatherrate tag, so that different units can gather different things at different speeds..

I do not know which kind of counter would be best from a possible AI coding perspective.. I imagine it wouldn't matter as long as the ai can 'see' what tiles have an active 'count' available for gathering. They would then head for the nearest <0 count.
 
I still haven't figured out the hanging problem (need to find some courage to try again:)), but since the Medieval mod has been progressing a lot (plotgroups, civic screen etc), it's maybe better wait a bit until merging this branch with the new changes.
I just merged master into world history and it was almost without issues. The only issue was that it came up with the idea to bring the master DLL into world history, though I managed to avoid that.
 
Cool!

Nice one Night! I wonder if you could take a look at fullerenes invasion code, and see if you spot anything that could be making problems?

I currently just keep my world mod folder, updated with everything from the master tree, I have not yet figured out how to download other trees... I just click the download as zip button.

I am really excited to try out the multiinvasion code to see how it is working!

I know it still needs some work to get it working just right, but I can't remember what it's last state was.
 
Back
Top Bottom