On tech diffusion

Joined
Jun 7, 2008
Messages
6,123
Location
Just wonder...
I'm rewrtiting part of the code of tech diffusion; I've never liked how some civs (especially small civs) fall behind in research in comparison to other civs. Seeing some civs still using pikemen while I was using nukes never felt right to me; not to mention the fact that it makes the game a lot easier because you can roll over those small civs way too easily. So I'm testing my new code and from some test I've made now different civs, when in contact with each other, are far more capable to catch up with tech leaders; I'm trying to balance this change because I also don't want civs which are behind in techs to catch up too easily or too quickly. What do you think about it? Do you like this kind of change I'm proposing?
If people here on the forum like how current Tech Diffusion works, I'm considering to add my changes as an option (kind of "Boosted Tech Diffusion").
 
I think the idea and plan has good merit and will be well received.

JosEPh
 
I think it's a good idea, depending on how large a boost they get :)

Realism Invictus had something like this. The closer your borders were to another Civ, the more tech diffusion passed through, and it only passed through (I believe) if you had Open borders. It worked both ways, so closing borders would remove that research bonus.

So perhaps it could be influenced by distance and so forth? Like, if you're literally on the other side of the world in the pre-industrial era, but have open borders and the routes aren't blockaded and you're not at war - the diffusion would be weaker due to distance, but stronger due to peaceful relations. Neutralish.
If your borders were adjacent to their borders, and you were at peace and had open borders, the tech diffusion would be very strong.
If you only had a Right of Passage (Assuming advanced diplomacy enabled) it would be slightly weaker, but still noticeable.

And so on?
 
I think it's a good idea, depending on how large a boost they get :)

Realism Invictus had something like this. The closer your borders were to another Civ, the more tech diffusion passed through, and it only passed through (I believe) if you had Open borders. It worked both ways, so closing borders would remove that research bonus.

So perhaps it could be influenced by distance and so forth? Like, if you're literally on the other side of the world in the pre-industrial era, but have open borders and the routes aren't blockaded and you're not at war - the diffusion would be weaker due to distance, but stronger due to peaceful relations. Neutralish.
If your borders were adjacent to their borders, and you were at peace and had open borders, the tech diffusion would be very strong.
If you only had a Right of Passage (Assuming advanced diplomacy enabled) it would be slightly weaker, but still noticeable.

And so on?

Open borders, right of passage, wars, etc, already affect Tech Diffusion. Making it dependand on distance it's a bit too hard to code I fear.
The tech diffusion boost is scaled depending on how far behind you are in research. Right now it should already have worked like that but the bonus was way to small to be noticeable; so I've increased it and scaled differently. I've changed my mind and it won't be an option, it will be a modification of current tech diffusion BUT everyone will be able to tune it to his own comfort by simply changing TECH_DIFFUSION_WELFARE_THRESHOLD inside \Assets\XML\TechDiffusion_GlobalDefines.xml. Low values (below 20), have the same effect as leaving things as they're now, removing my "boost". But with my new piece of code, having this value around 90 should greatly improve tech diffusion. As I said anyway, in my new code tech diffusion is still scaled. The more you (or AI) are behind in techs, the more help you get.
 
I generally turn it off, but I suppose I'm playing it too safe. I'm mostly annoyed with how barbarians seem to tech up so quickly though, not other civs, so that's probably it.

I agree barbarians should have a lower tech diffusion help; I'll see how it goes and if it needs to be limited in my new code (it was already limited in the old tech diffusion code).
 
I'm experimenting with the new tech diffusion; it works and I personally like it. But there is a possible downside. If you're ahead in techs, you see other civs keeping up with you and that's ok. But if you're behind in techs, there's a chance you get too far behind and hence you get a huge boost; something like from +60:science: to +60,000:science:. You're not really getting 60k :science:, because once you get enough techs to be above the tech diffusion threshold, you don't get the boost anymore. But you can use this boost to get 3-4 techs in the same turn (if using multiple research) or one tech per turn for 3-4 turns (if not using multiple research). If you queue enough techs, you get them and once you are above the tech diffusion boost threshold, research returns to "normal" levels. So you can't really use this boost to overtake other civs, but I admit that someone can find it strange to boost from +60 to +60k :science: if even for one turn. From a gameplay perspective though, it looks like it's working very good in keeping the game balanced.
If people don't like this new tech diffusion, lowering TECH_DIFFUSION_WELFARE_THRESHOLD inside \Assets\XML\TechDiffusion_GlobalDefines.xml to something below 20 should be ok and re-establish "old style" tech diffusion.
 
I like it.
Mowing down arquebusiers or musketmen (or even longbows) in single-city backwards civs with marines and tanks always seemed a bit excessive. Even in (real world) Afganistan they have AKs!
 
Its not just the unit, its the 'training' that goes into that unit.

A monkey can shoot an automatic weapon with is opposing thumb, but it takes training to make that weapon an effective one.

Also these 'units' marines, modern infantry etc, are used on a variety of terrains and situations.

This is why spawned rebels, don't gain experience from the Barracks and other training building or instructors, they only spawn with weapons and fanaticism.

Rebels need to take the cities, the infrastructure to gain further support, training and growth of the rebellion.
 
Ok, some time has passed after I've released the new tech diffusion code. I've seen people who like it and people who dislike it. The code is still experimental so there will be changes but I need some feedback/ideas.
Main goal is to make AI, even small civs, not to fall behind too much; this can be done only incresing greatly research for those civs or gifting them techs. Right now I've chosen the first option. Let's talk about a blitz game on a large map, noble level, as in our current betatesting thread: a medium-large civ produces thousands :science: per turn in modern era; while a small civ with a few cities produces dozens times less, hence the need to increase its science output if we don't want that civ to fall behind of an era. The only other option I see would be gifting that civ all the techs discovered by X other known civs.
Main issue against this version of tech diffusion is that "the player can basically shut down all own research, and just ride on the AIs tech advantage" as Zorn has pointed out. How much behind another civ can be against a tech leader can be set via XML in TechDiffusion_GlobalDefines, so this can be tweaked a bit; but it will still cause "spikes" where research is greatly increased if you fall behind too much. Another way to face the issue would be applying current tech diffusion to AI only and let the player work his way against AI with the "old style" tech diffusion. I'm still not 100% sure on what I can do, so I'm open to suggestions. :)

P.S: If I can find a quick solution, I could release an improved tech diffusion in next revision; but since I think it will take time anyway to come up with a solution, I guess I'll release a new revision very soon, which includes Koshling's paging system and various other fix (from CTD to trading issues, not to mention a good speed-up in late era turns).
 
I'm playing a Large/Quick/Noble map right now on a Fractal script, and while I'm doing pretty good in score I'm barely keeping up in military - the new tech diffusion is the only thing keeping me from hopelessly falling behind (Ghengis already has Bombards and is aiming for Flintlock soon. I'm behind everyone but the two worst AIs in tech and even they were researching Gunpowder and etc when I couldn't even *see* the option)

A single difficulty level earlier and I was behind for the first half of the game, then was running away entirely with technology and score - having three times the score of the second place AI and that was with constant selling new discoveries to the guy!


I certainly don't know yet. I'd think that testing the new Tech Diffusion during the next revision update may be a good idea - seeing how it reacts in different situations under different playstyles. Then adjusting it afterwards.
 
I've tuned down a bit tech diffusion for the next release. You still get help, but it shouldn't be so abnormal. I'm testing it now. I haven't yet made tech diffusion different for AI / human player, I hope it's not necessary. I guess we'll see how it works in the next betatesting phase, then I can change it in following revision if there are still troubles.
 
Does the Tech Diffusion work for civs that have had zero contact with any other civ and are fully isolated from the world?

I started a new game and moved Holy Rome's settler over to this small island and started the game. I checked Debug mode every so often and noticed that Holy Rome was keeping up in research despite his isolation and small number of cities.


The game wasn't exactly a serious one in any sense - I had purposely put the H.Rome settler on that backwater island (Designed it from scratch for this purpose) just to see how they'd handle it... They're researching anything the rest of the world has in one or two turns, when for the rest of us - at the time we were researching them - it took 6 or 7 or even 12 turns. I thought Tech Diffusion only worked if you had contact with a civ, or Open Borders with them or something.


This is still rev668 at the moment though, but I'm assuming the Tech Diffusion option in 669 will still give bonus research even to civs that are fully isolated from the rest of the world (And absolutely no contact with other civs whatsoever) if they fall behind as well? I mean, that was sorta the point of Tech Diffusion though but I was always under the assumption you needed contact with a civ that had that tech first for it to kick in. :)
 
Does the Tech Diffusion work for civs that have had zero contact with any other civ and are fully isolated from the world?

I started a new game and moved Holy Rome's settler over to this small island and started the game. I checked Debug mode every so often and noticed that Holy Rome was keeping up in research despite his isolation and small number of cities.


The game wasn't exactly a serious one in any sense - I had purposely put the H.Rome settler on that backwater island (Designed it from scratch for this purpose) just to see how they'd handle it... They're researching anything the rest of the world has in one or two turns, when for the rest of us - at the time we were researching them - it took 6 or 7 or even 12 turns. I thought Tech Diffusion only worked if you had contact with a civ, or Open Borders with them or something.


This is still rev668 at the moment though, but I'm assuming the Tech Diffusion option in 669 will still give bonus research even to civs that are fully isolated from the rest of the world (And absolutely no contact with other civs whatsoever) if they fall behind as well? I mean, that was sorta the point of Tech Diffusion though but I was always under the assumption you needed contact with a civ that had that tech first for it to kick in. :)

Tech diffusion should only work with civs you've met. I tested it in many games and I've seen isolated civs lagging behind until meeting other civs and then catching up quite quickly. I'll check again.
 
He was pretty far behind still but was researching the techs pretty quickly. Not instantly, but pretty quickly. I just checked his island again just now and two of his cities were at 20.

He also had popped a source of Silver that was not there when I created the island.


He might not be getting any diffusion, but it's just naturally researching fast. I thought it odd at first since he was going through several techs at one turn each with only three cities, so it made me think he was getting some outside help.
 
I've posted this in the bug thread, but I guess it belongs here:

I've thought a bit more about tech diffusion and I think there's a problem that I guess can't be solved. I was thinking about linking tech diffusion with handicap level but I guess it's more or less impossible. I can tune tech diffusion up or down but its effect will depend on your position in terms of techs. If I tune down tech diffusion, it will make your game harder if you're behind but actually easier if you're in the lead. And of course the opposite will happen if I increase tech diffusion.
 
45°38'N-13°47'E;13010828 said:
I've posted this in the bug thread, but I guess it belongs here:

I've thought a bit more about tech diffusion and I think there's a problem that I guess can't be solved. I was thinking about linking tech diffusion with handicap level but I guess it's more or less impossible. I can tune tech diffusion up or down but its effect will depend on your position in terms of techs. If I tune down tech diffusion, it will make your game harder if your behind but actually easier if you're in the lead. And of course the opposite will happen if I increase tech diffusion.

So right now I suppose it's finding a good 'middle ground' for it, as well as player's personal preferences. I personally do like how it works, but am not not yet sure if I like it at its default (user adjustable) values. Normally I don't mess around with the Revolution/BarbCivs/etc module options in the BUG options, but I've been messing around with the Barbarian Civs and Diffusion options and trying to find a combination I like. :)

It also depends on if I'm wanting a challenging game or one I can just kick back and have fun in without needing to worry about a large amount of things - I'll probably play on Warlord without Tech Diffusion for fun, Noble with Tech Diffusion for a challenge :)
(Finally starting to get used to Noble. Warlord used to be tough for me xD Has been so long since those days~)
 
I LOVE the new tech diffusion. It really really makes the game more exiting!!!! Well done!
 
I LOVE the new tech diffusion. It really really makes the game more exiting!!!! Well done!

I'm happy you like it; it still needs some tweaking, I will make it handicap-level dependant because right now it's too powerful for harder level if you're lagging behind, making the game too easy. On the contrary, it makes the game harder if you're the one in the lead in terms of techs
 
I like the concept of tech' diffusion, but I've come to dislike a certain aspect of its implementation. Specifically, I don't like how one's beaker production is inflated (sometimes drastically) when researching a tech' which many others have.

The issue is that in tech' trades it's no longer possible to tell whether a trade is a good deal or not. If I'm swapping a 1000-beaker tech for another 1000-beaker tech', nominally it's an equal trade; however, if for one of those tech's my beaker production would be inflated by a factor of (say) five the trade is clearly very unbalanced - and there's no way to see that on the trade screen.

Am I right in that the inflated beaker production is reflected in the GNP statistic also, leading to huge spikes in the time-series graph during periods when widely-known technologies were being researched?

I think I'd prefer that tech' diffusion were implemented similarly to the tech' learning from captured cities: that is, if you're a long way behind, you get some free beakers added each turn to tech's which are known by other civ's with whom you have contact. In this way you'd be able to judge the trades accurately, and you wouldn't have to open the science advisor to see how long a tech' will take to research. This also seems more intuitive to me: my civ' would start learning about the technology through contact with other civ's even if I didn't apply my own scientists to study it.

Does this bother anyone else?

Cheerio.
 
Top Bottom