Revolutionizing the Tech Tree Mechanics

Hugin

Odin's Raven
Joined
Sep 13, 2004
Messages
62
Location
Asagarth
While there are many guides out there on how to add technologies and how to arrange so they look pretty (oh so pretty. Pretty and witty and bright!) there aren’t any guides, to my knowledge, on how to make the tech tree more dynamic. Hence this guide (and I pity any guide that isn’t this one tonight).

There are three different categories of technologies and this guide will discuss what each one is and how to implement them in Civ3.

General Technologies: These are your basic variety techs; they are present in every epic game and mod out there (to my knowledge). Any civilization can research them and they can be traded with any other civilization, as long as that civ has the prerequisite technologies.

Cultural Specific Technologies: These are technologies that only certain cultural groups can research and trade among themselves. If a civilization isn’t in this group then that civ cannot research or trade for these techs. An example of a cultural group is: Germany, England, Spain, and France all being “European.” Personally, I have never seen these implemented in any mod other than my own (which aren’t on public release since I never finish them).

Civilization Specific Technologies: These are limited entirely to a specific civilization. Only one civ can research these and because of that, these technologies cannot be traded with any other civilization. This has been implemented in a few mods, but usually to a very limited extent. An example of a Civilization Specific Tech: a tech called The Polis, which can only be researched by the Greeks (after, perhaps, they have learned masonry).

To make things easier, I will assume that most people are familiar with the first type so I wont cover that.

The Mechanics

The other two forms are the result of some sneaky manipulation of the tech tree. Lets go over the basics of what is in the “Civilization Advances” tab in the C3C editor (or, that is, the parts that I am concerned with). There are three things for each tech that you will want to pay attention to: Tech Era, Prerequisites, and Flags (Specifically, the “Cannot Be Traded” and “Not Required for Era Advancement”). You should also know how to add and delete techs, as well as how to organize them on the tech advisor’s screen. However those topics are discussed in other fine guides so I wont go over them again. I will also cover each part of the editor when it comes up.

First, let us assume that we are going to create an entire branch of the tech tree devoted to a specific cultural group. As such, we have to start out by creating a new tech; let’s call it “European.” Set that Tech’s era to “None” and, to be on the safe side, activate the “Cannot be traded flag.” (It shouldn’t be tradable anywho, but this doesn’t hurt). Now, go over to the Civilizations tab and give the tech European to England, Germany, France, and Spain as one of their four possible starting techs. Done? Good, go back to the tech tab.

Now let us add a new tech, which I will call “Stone Monolith.” Set the era to Ancient and the prerequisites to European and Masonry. Why Masonry? Because I want to! But it will work with anything. It is quite important to set the “Not Required for Era Advancement” flag. I haven’t actually tested this part myself, but I suspect that if you do not select this flag than any civilization that can’t get Stone Monolith will be unable to advance to the next age. This may not be the case, so if anyone wants to test that and let me know…

At this point, let us pretend that we’ve gone through all the steps necessary to add a tech to the game, including the Civilopedia entries, cost, and the XY coordinates. If you save the file, load it up in Civ3, and play as the Germans you will see Stone Monolith splitting off of Masonry. However, if you played as the Incans then you’d just see an arrow leading to a blank tech spot.

You can continue to add Cultural specific techs using the above method (but always include, as a prerequisite, at least one tech than can be traced back to the starting culture tech, in this case European). As long as you follow those instructions, that entire branch of the tech tree will be visible (and researchable) to only those civilizations that are in your cultural group. No other civ will be able to see it (except for the arrows, which are part of the background).

Why does this work? Simply put, the tech tree compiles itself from the ground up, taking what technologies the player’s civilization can learn (or has already learned) at the start of the 1st age and building all the other techs up from there. If a tech technology is missing from the start of the process (in this case, a cultural tech called European) then every subsequent technology that relies on that base tech is impossible to obtain. As such, they don’t even factor into the final picture.

There are just two more things to note. First, as I have mentioned, civilizations that are not in your cultural group cannot see those techs and because of this, when the player plays as them, the player will see tech arrows going to nowhere (assuming you changed the background pictures to account for the new techs). Secondly, the first techs in every era have no prerequisites. As such, if you want to add cultural specific technologies to all four ages you will have to have at least one tech at the start of every era refer back to the cultural base tech. In our example, once you reach the Middle Ages you will need to create a new tech (let us call it Catholicism) who’s prerequisites techs are European and “none.” This will start the process over again for that age and you will have to do this for every age (or, you could replace “European” with a tech that was ultimately derived from European, such as Stone Monolith).

To handle the arrows leading to “nowhere” isn’t as easy. Either you can just put up with it or, and this is my recommended option, you can give a cultural group to ever civilization in the game. This can lead to hordes of arrows going nowhere for every cultural group unless you copy the tech branch structure for every Cultural group. Say the “Mediterraneans” are a cultural group consisting of Rome, Egypt, and Greece. They might have access to a tech called “The Polis” with the tech prerequisites of Mediterranean’s and Masonry. When you put in the XY coordinates for The Polis use the same coordinates that you used for Stone Monolith. While the techs can be totally different, and they can allow each civ to build different buildings, units, and wonders, they need to be in the same basic structure. That is, A + B will always equal C, but for one group A = European and C = Stone Monolith and for another A = Mediterranean and C = The Polis.

Now you might recall I said that there are Civilization Specific Techs too. Well, the process for those are the exact same as for the Cultural Specific Techs the only difference is that instead of giving the base tech (harkening back to the tech European) to every member of a cultural group you just give it to one civilization. The Rise and Rule mod uses this method (in what appears to be a greatly truncated form) and calls it “Being Roman” or whatever the civ in question is.

Always remember to make Cultural or Civ Specific techs “Not Required for Era Advancement.” I honestly have no idea what would happen if you didn’t, but considering how easy it is to do it I was never curious enough to check.

Feedback, comments, and deaththreats are all welcome.

~Hugin
 
Hugin,

I had not heard the info about being able to lay out a template that you can retrace with various civs, culture groups, etc. This info is absolutely fantastic! Thanks so much ...
 
I am glad people seem to like it.

I'd like to update this to include screen shots (for some reason that didn't occure to me until after I posted it) to help illistrate what I am talking about in certain areas. While I am it, are there any sections that people would like me to clarify? Everything makes sense to me, but I know that my brain doesn't always make sense to other people :p

~Hugin
 
This tutorial is extremely useful and the information here is very accurate! Thank you. I'm using some of the ideas here to create a scenario where each civilisation has a completely unique tech tree. That is, there are *no* shared techs. Every tech in the game is civ-specific. It may be worth saying a few words about some issues that this raises.

First, it's simple enough to implement. You need only have a civ-specific tech which, as Hugin detailed, needs to be non-tradeable and have no era. Then you ensure that the first techs on that civ's tech tree - that is, the ones that can be researched first without any other techs being necessary - all have that tech as a prerequisite. Then the rest of that civ's techs can be entered as usual. Then for the next civ, create another civ-specific tech, and so on.

As Hugin pointed out, you can have only one "arrow set" per mod/scenario. This means that each of your civs has to have exactly the same tech tree structure if things are to look right. Furthermore, you have to watch out, because if one civ has a tech that allows you to build a unit, but another civ has a tech in that position that allows you to build two improvements, the tech "boxes" will be different sizes. This could screw things up (in appearance, of course, not in function).

But there are some more problems. The first is that of eras. Essentially, you are confined to a single era. This is because a civ cannot progress from one era to another without first researching all the non-essential techs from the earlier one. But of course, if there are civ-specific techs, other civs can't research them. Therefore, in order to allow era progression, any civ-specific techs must be non-essential for era progression. But in this case, *all* techs are civ-specific. And you can't make all techs non-essential for era progression, because in that case a civ could start in whichever era it pleases. Unless you want this to be the case, you're best off sticking to a single era. That means that this technique is good for scenarios but less good for full-blown mods.

There's another problem. What happens when a civ has researched all the techs available to it? It wants to research more. If it already has every tech in the game then it lets you choose "future techs" to research. However, the programmers evidently didn't consider what happens if there are still techs that the civ has not yet researched but which it *cannot* research, such as civ-specific techs that are specific to another civ. What happens is that you research all the techs in your tech tree, and then the science adviser appears asking you to select another tech. But there are none on his screen that haven't been researched! Somehow, he expects you to click on a tech that isn't there. The game won't let you out of the screen until you have chosen one, and in fact you have to reboot because this is a lock that you can't escape.

I think the best way out of this (although I haven't tried it yet) is to create a new tech for each civ simply called "the future" or similar. This comes at the end of the era, so you must have researched everything else before you can research it. This tech should take forever to research. Thus, it may be necessary to increase the maximum research time in the scenario as a whole. This ensures that you can never research every tech in your tech tree, because you will never successfully research "the future", and so you avoid the locking problem. It may look a little odd, but I think this is probably the best solution.
 
Plotinus said:
First, it's simple enough to implement. You need only have a civ-specific tech which, as Hugin detailed, needs to be non-tradeable and have no era. Then you ensure that the first techs on that civ's tech tree - that is, the ones that can be researched first without any other techs being necessary - all have that tech as a prerequisite.

Hmm...can't non-tradeable techs be stolen? I seem to remember someone talking about the AI in the ME conquest stealing the "non-tradeable" opening tech of another culture.
 
Plotinus said:
But there are some more problems. The first is that of eras. Essentially, you are confined to a single era. This is because a civ cannot progress from one era to another without first researching all the non-essential techs from the earlier one. But of course, if there are civ-specific techs, other civs can't research them. Therefore, in order to allow era progression, any civ-specific techs must be non-essential for era progression. But in this case, *all* techs are civ-specific. And you can't make all techs non-essential for era progression, because in that case a civ could start in whichever era it pleases. Unless you want this to be the case, you're best off sticking to a single era. That means that this technique is good for scenarios but less good for full-blown mods.
There is a way around this, but there's a little problem with it (I wonder if someone could make a utility to get around this.) Make a tech at the end of each era (you won't need to do this on Modern since you just research future techs then) that is available to all civs. Name it anything, for this example I'll use Advance 1. Make the mod as normal, but make every single tech except for the Advance 1 type techs not required. Make the Advance 1 techs require everything at the end of the tech trees for all of the tech trees of the civs (see the problem yet?) For example, pretend that the tech tree in the Ancient Age is for all civs. You'd make a tech at the end that requires Code of Laws, Philosophy, Construction, and Currency. The only problem here is that each tech can only have 4 prerequisites. If there is any way to change that, this would work perfectly. Otherwise, you're probably limited to going per culture group (minus one), having a tech at the end of their tech trees that requires all of the techs before it (to reduce prerequisites. If you don't want this or the other tech to be researched, give it to the civ for free.) Again, if someone can find a way around the 4 prerequisites rule, via utility or other means, tell us!

Anyway, I'd love to see a mod that fully implements the civ-specific tech tree idea once it's completely figured out.
shortguy said:
Hmm...can't non-tradeable techs be stolen? I seem to remember someone talking about the AI in the ME conquest stealing the "non-tradeable" opening tech of another culture.
This doesn't happen if the tech doesn't have an era. In that conquest, the tech does have an era.
 
viper275 said:
Anyway, I'd love to see a mod that fully implements the civ-specific tech tree idea once it's completely figured out.

I am reasonably confident that Colonize! does, in a sense, as it has full tech trees for both europeans and natives which are almost all required for era advance and which are entirely seperate from one another. I'll test it as both natives and europeans to double check when I get the chance.
 
Cool! I actually have downloaded that but still need to play it.

I thought of a way around the problem I stated, but it would clutter the tech tree and be just plain weird. But here's what it is: You make more techs. Say there's tech A from a certain tree, B from another, C from yet another, and so on. You make a tech that A, B, C, and D require (we'll call it 1, there would be techs after it that would raise in number) and the same for the rest of the techs. Then you make a tech that would require, in this example, 1, 2, 3, and 4 (we'll call it 1A.) If you make another tech like 1A, you would have 32 tech trees total. This would be a ton of work but would be quite interesting if you could have a tech tree for every single civ. I guess you could put them all on the same square to make it look less ugly and take up less space. And sorry for the threadjack, but I thought this was kind of interesting.
 
The only problem with that, as is evident in tjedge's beta Mystara, is that you run out of techs rather quickly; there's a max of 255 I believe, and he uses many, many civ-specific techs, although there are no entire civ-specific tech trees. What works better is to have a combination of techs (and maybe this is what you meant). Essentially, say you've got 5 cultural techs and 6 unique techs. IE the egyptians get mediterranean and unique1, the romans get mediterranean and unique2, the iroqouis get american and unique1, and so on; in this way, you can use combinations of the two techs as a prerequisite, along with up to two additional techs, to create civ-specific 'branch-off' unique techs in a tree using a minimum of tech spaces. This is prevalent, to a small degree, in Colonize!, but I only use 5 unique techs and a smattering of 'broader' techs to make sure the different native civs build the right things (can't have the Creek building any step pyramids, and such). My other mod, which I promptly stopped working on when nobody said anything, would have likely maxed out or come very close to maxing out, as I planned numerous cultural, unique, and regular techs.
 
[Viper] Maybe it's just me, but I'm not quite following you. If, say, tech "Advance 1" is essential for era advancement, and it requires techs x, y, and z in tech tree A, then a civ following tech tree B will be unable to research it. In other words, your "Advance 1" and its parallels will be just as civ-specific as all the other techs. So how do they solve anything?
 
I was unclear. Advance 1 and all of those aren't required (I'd also make them free for the civs, since otherwise they'd have to research a lot.)

But GRM pointed out a problem in my idea. I doubt you could make 31 tech trees short enough, since if they're 4 eras that would be about 1 tech per tree (remember the hidden techs for the civs.) Edit: Well, I don't think it's 255. I tested it by going into RAR (since it already has so many techs it's easy to test this) and added 100 techs. That should put me at 332 because of all of the civ specific techs, but it didn't tell me that there was a problem. I'll keep testing this or look up the limit.

Anyway, I guess I'm a bit confusing. Maybe this would help?
 
Hmm... won't civ want the required techs to be in the same era? Or doesn't it matter if the required tech has an era of none? I (when creating a tech tree) pressed t to get the required tech but civqedit gave an error: "The required tech must be in the same era"

If this works, hell, it'll revolutionize my tech-tree's! Why didn't I know of this before?
 
NONE-era techs can be used as prerequisites to any eras. Almost all mods I've played use this technique, and all mods I've worked on so far certainly use it.

NONE-era techs can also be used in combination to minimize the number of tech spaces taken up as prereqs to unique techs (to make the thing a bit more manageable

If an era tech requires a NONE-era tech which a civ is not given at the beginning of the game, that civ will not be able to research it; however, it will not be required for era advance, regardless of how it is flagged (ONLY for civs it isn't available to).

NONE-era techs cannot have prereqs (common sense...)

Era-specific techs can only have prereqs in their era, or NONE-era. Otherwise they'll produce the message you got.
 
Plotinus said:
As Hugin pointed out, you can have only one "arrow set" per mod/scenario. This means that each of your civs has to have exactly the same tech tree structure if things are to look right. Furthermore, you have to watch out, because if one civ has a tech that allows you to build a unit, but another civ has a tech in that position that allows you to build two improvements, the tech "boxes" will be different sizes. This could screw things up (in appearance, of course, not in function).

Why don't you just make extra long arrows, allow the techs to overlapp the arrows. If the techs are of diffirent size, al least the arrows wouldn't look funny. Anyway; good tutorial Hugin, nice quote Plotinus :goodjob:
 
But GRM pointed out a problem in my idea. I doubt you could make 31 tech trees short enough, since if they're 4 eras that would be about 1 tech per tree (remember the hidden techs for the civs.) Edit: Well, I don't think it's 255. I tested it by going into RAR (since it already has so many techs it's easy to test this) and added 100 techs. That should put me at 332 because of all of the civ specific techs, but it didn't tell me that there was a problem. I'll keep testing this or look up the limit.

Pardon my archaic thread necromancy - did we ever get a final answer on what, if any, limit there is on advancements (meaning maximum number of)?
 
I still need to reach out to him, but I did check RRAR 1.5 and that has 236 techs, while the base game has 83. 236 techs should meet my needs, as I was estimating I would need about 200-250. It is the improvement limit I will be butting up against. :(
 
Here's a quick question that can save me unnecessary testing since I've completely forgotten: Can a civ-specific technology be a pre-requisite for a regular technology without affecting everyone else? For example, let's say you have the Romans with an appropriately named ROME non-era exclusive tech. This tech allows the Romans to research an ancient era tech called Whatever that gives them baths and legions and coliseums. Could this civ-specific tech then be a prereq for Construction? In this way, the Rome civ would be forced to research their civ-specific tech while everyone else could research Construction normally. It seems to me that the answer is yes, and that all the other civs that don't have the exclusive prerequisite can safely ignore it in their research. Thanks.
 
Top Bottom