I've been fiddling around trying to create a dynamic tech tree using random events (so have techs be randomly discovered by your people instead of you actively researching them), and I found out some interesting things. Events that have to do with techs do not occur unless you can actually research things (i.e. you have to have a city). Events that give you progress toward a tech will only give you that progress if the tech is available to research right now. So you can't get disabled techs through events you can't get techs that are enabled but have disabled techs as a prereq you can't get techs further up the tree than where you're at / can't skip prereqs This makes doing a dynamic tech tree using pure XML...much harder. The only way I can think of to go from scratch to dynamic tech tree would be to have an event give you a city and then have all the techs in the tree cost 1,000,000,000 to research so you have to rely on the events to give you progress. But that sort of takes the fun out of it. Of course, you could just use a python callback with an event, to give you a tech, I think. That's probably the easiest. Anyone else have random thoughts about making dynamic tech trees? There were also some good ideas on this thread.