Tech tree brainstorming

Nightinggale

Deity
Joined
Feb 2, 2009
Messages
5,279
Recently we have been using terms like "tech tree" and "tech progression". The main idea is that not all game content will be available from the start, but rather more and more will be unlocked as the game progresses. Civilization have proven this concept to be valid for gameplay and it makes sense that tanks and planes are included, but not from the start due to starting during the stone age.

The core system
I worked on the tech tree implementation in Medieval Conquest and based on experienced I already wrote some implementation in develop-2.8. It's not a complete copy though because I redesigned away from the time killers regarding code creation and maintenance. Also what I wrote is faster at runtime.

It's designed around the concept of a new xml file called CivEffects. A player can own them and they give bonuses (or penalties). This can be allowing a new unit or profession, but it can be so much else too. Players don't get CivEffects directly. Instead a player gets them by gaining something, which provides a CivEffect, like a trait, civilization, era, founding father etc. That way we can add a feature to one of them and it applies to all. We can then add civics and techs without any code for what they should do when you gain them, just making them give you a CivEffect, meaning they from day one can do everything those other can do.

The CivEffect implementation relies on a cumulative cache system, meaning it's fast and the runtime is constant regardless of if we have 5 or 500 CivEffects in xml. That's better than the BTS implementation of techs. In fact it takes vanilla actions into account like which unit to use for a certain unitclass meaning that alone makes it faster than vanilla.

Tech requirements
We need a way for the player to gain techs. The most common method is to add a tech tree. However "just add a tech tree" doesn't answer how it should work ingame.

If we go for a civ style tech tree, we have the benefits of relying on a concept most players already know. We could make techs have requirements, but rather than techs we could set them to be CivEffects. While techs would be the most common requirement, eras could be interesting to add too. From an engine point of view, it would be a good idea to not restrict meaning by just allowing all CivEffects, somebody can write a trait as requirements in xml without any dll updates.

We should have multiple requirements in some logical and and or setup. Working on lists rather than copying the civ4 system. Also adding the ability to unlock by listing say 5 requirements and say it's unlocked when the player has at least 3. Having a not requirement could also be interesting like an aggressive trait could prevent a certain peaceful tech.

Rather than adding one tech tree, the engine should have a list of tech trees. This way it will support a military tech tree, a trade tech tree, an exploration tech tree and so on. Since they are all CivEffects, they can add requirements of techs on other trees if needed. I'm not saying we should use it, but the engine should support it because ideally it's added now and then it supports all the stuff we need in the future without too much hassle. It's way better now to just think this into the design than to try to add it later because adding a new feature to existing code can be way more time consuming and prone to bugs.

Gaining techs
We need something to unlock the techs on the tech tree. In most cases this is done with research points. The big question is: how should we be able to gain research points?

The research modcomp (used by Medieval Conquest and Colonization 2071) has a research profession, which produces a research yield. Each tech can then set yield requirements like the farming tech will make the researcher create one research for each food spent on research. Not filling out requirements means free like crosses in the sense that they are produced without any input resource.

However the question is if that is the way we want to go. Does that feel like a colonization feeling? Should we be able to gain research points in some other way?

One way that could be interesting would be to have one type of research points for each research screen. We could then have a native techs screen where you gain the research points by trading with the natives or live with them and otherwise interact with them in a friendly manner. Multiple types of research points also means we would support researching one tech on each screen at the same time. I would love to add support for this in the engine.

However it still doesn't answer the main question: how do we gain research points towards stuff like better military units?

What techs can do once gained
Another question is what techs does as in why would a player wants to gain techs. The simple answer is they unlock units, but they can do so much more.

If we take allowUnit as an example, then each CivEffect can have an AllowUnit value for each UnitClass (usually 0). A player then has the allow value, which is all the owned CivEffects added together. If it's larger than 0, then it can be used. This is the BTS approach, except I simplified it for runtime performance and at startup all players gain an autogenerated CivEffect, which adds 1 to everything where no CivEffects has a positive value, meaning if nothing adds the unit, it will be available from the start. Since xml can also contain negative values, it's possible to disable units as well. It's also possible to assign -1 by default meaning you need two +1 CivEffects to unlock, like a specific tech and a specific Civic at the same time. It's a simple concept, but it becomes very flexible with a bit of xml creativity.

This allow system benefits from being implemented already.

The same system applies to buildings, professions, promotions, improvements, civic, yields etc.

As for units, there is also allow immigration meaning a unit has to be allowed as both unit and as immigrant in order to show up on the docks. This allows features such as an FF removing all criminals from the dock (sounds familiar?).

There is also an existing implementation of changes to the count of units on the dock. Right now the dll defaults to 0 while the default CivEffect (in xml) says 4. However we can add a tech, which has +1, in which case the dock will instantly generate a new unit and place it on the dock to give the player one more to choose from. The only upper limit is the screen space in the Europe screen and I have tested this with 15 units. It's capped at 1 unit though, meaning providing negative values will not make the unit count drop below 1.

Free promotions is also implemented in categories: all, specific unit, specific profession, specific UnitCombat. (I think that were the options). The power of adding free promotions should speak for itself.

For other tags we can add to CivEffects, for a start I would say anything, which exist for anything, which provides a CivEffect. This means anything currently possible with traits, civics, FFs and all that.

So what would we realistic use this for. Something like farm lv 1 is available from the start, but it can't upgrade to lv 2 before the plot owner has unlocked the improvement in question.

Pioneers can only build allowed improvements and routes, but it can also need to unlock the build itself, meaning builds without any route or improvement can require research (like drain marsh).

Free building in all colonies (possibly being able to filter based on all/landlocked/port). Making this an otherwise unbuildable building allows adding a building in all colonies, which grants +5% food production or similar. How we can benefit from this depends on what fun features we put into CvBuildingInfo. This can also be something like we currently have from FF as in -X% yield (like tools) needed for building a building.
Other interesting boosts could be a fixed addition of yields/turn, like +2 food.

Looking at what is in M:C, the following could be interesting too:
  • free experience for new units (specific units or all?)
  • pioneer work speed modifier (general and/or specific builds)
  • pioneer can start working after spending all movement points
  • improvement upgrade modifier (might take 40 turns instead of 50)
  • Changes to yield production at the colony plot (like all colonies produce +1 cotton if center plot produces cotton)
  • Europe screens as in say Africa isn't unlocked from turn 1
  • Modify tax related stuff like max tax cap
  • Modify native land prices
  • King's fee for transporting treasure modifier
  • Gold from natives modifier
  • Immigration cross requirement modifier
  • Buy in Europe price modifier
  • Unit heal rate modifier (settings for own team, neutral and enemy owned plots)
  • Unit stats (like movement points) changes for any unit, which might not have a UnitCombat (may or may not be needed)
  • Extra yield from plot if it produces more than a certain amount (like +1 fur for any plot producing at least 6 furs)
  • Modifier for research point requirements (per type of research points, like cost -5%)
  • FF point cost modifiers, specific type and/or all
  • Missionary conversion rate modifier
  • Improvement yield production change (providing we can make the code fast enough)
  • learn time in native settlement modifier
  • Europe travel time changes
We can most likely think of more, but it gives an idea of what CivEffects are able to do or can be made to do. Some of them might be better suited for FFs, traits and otherwise picks for the start of the game, but I included them anyway because right now is about brainstorming for how to build a system, which could be interesting to play.

The Europe travel time could be set for each access region, meaning it would be possible to set for only west or only east. Since CivEffects can also be set for each CvCivilizationInfo, it will make it possible to add players coming from west like China or perhaps Russia. They would then travel home fast towards the west and slow from the east.

We can also split builds and unlock them at different times like we can unlock high end roads for flatlands before a later tech unlocks it for hills and mountains. This would create the interesting scenario where it could be beneficial to use a high quality road to go around the mountains rather than a slow road to cross directly.

Yes I'm aware that some of them might easily become overpowered. That is something to keep in mind.

How do we make this into a working plan?
That's the question. I have written about what techs can do, but it still doesn't answer the two main questions:
  • How do we add techs in a way, which feels balanced?
  • How do we let the player get/research new techs?
Any ideas will be most welcome.
 
I love the general technical concept to use CivEffects as core system for FFs, Techs, Traits, Eras ... :thumbsup:
It will give us - and especially xml modders - a lot of freedom.

Remarks / Questions:

A) Do we want to rework the current xmls for FFs, Traits, ... or do we rather leave it as it is because it is generally working fine? :think:

Of course it is doable but it is also effort which I would personally rather not invest currently.
It might also introduce small bugs because of small unconcentration.

At the moment I would prefer to use CivEffects only for this potential Tech System.
(We could rework the other systems at some later point if we still want to.)

B) You are absolutely right, we need to come up with a good feature concept as well for using CivEffects in Techs. :thumbsup:
That might of course also make new functionalities of CivEffects systems necessary.

You mentioned most important aspects already:
  • How to acquire Techs? (By a Yield or by what?)
  • Should the order of Techs be fixed or randomized each game? (Fixed is Civ4 style)
  • How to visualize Techs? (As a Tree like in Civ4?)
  • Which Techs fit to Civ4Col WTP thematically? (We need to collect a list.)
  • Which effects should these Techs have?
  • How to balance it so Techs do not become overpowered and make the game too easy? (Do we need to rebalance other features?)
  • How to prevent Techs to feel like a FF-system-clone? (It should feel at least a bit unique.)
---------------

Well there are still a few questions to answer. But that was always obvious and should not be a real problem to stop us.
I would definitely love to get such a feature added to WTP since it will open completely new possibilities. :thumbsup:
But I am quite confident that we (team and community) will get a great concept done. :beer:.
I am also quite confident that we will get a great, well balanced and high quality implementation done.

Let us see what the rest of the team and community think about it.
 
Last edited:
A) Do we want to rework the current xmls for FFs, Traits, ... or do we rather leave it as it is because it is generally working fine? :think:
I'm thinking of moving each tag as needed. Right now we move nothing, but each time an xml modder needs a specific tag, somebody moves that tag. I think we have 4 people who would be skilled enough programmers to do it, meaning if somebody needs a tag to be moved, odds are that somebody will have time to do it within reasonable time.
Just moving everything is time consuming and it gets really boring fast. It's not very motivating to know most of it might never be used anyway.

It might also introduce small bugs because of small unconcentration.
That too. Even if it doesn't, we still need to test it, which by itself isn't a nice task, particularly if we know it doesn't actually add anything to the game.

At the moment I would prefer to use CivEffects only for this potential Tech System.
(We could rework the other systems at some later point if we still want to.)
I already added support for CivEffects to at least some of them. However the game is perfectly happy with the NONE setting, meaning adding the tag itself does nothing unless we actually use it in xml. Again this means no change now, but we can change as needed later in a step by step approach. Adding a CivEffect to say a trait doesn't actually remove the other settings from that trait, meaning hybrids are allowed.

The whole system is designed with minimal implementation time in mind, hence designed to not need a total conversion to get started.

Should the order of Techs be fixed or randomized each game? (Fixed is Civ4 style)
There are many ways to set up a tech tree. The class Master of Orion has an interesting approach. It has split techs into 6 categories. Each researched tech gives some points in that category and to unlock a tech, you need a certain amount of points in the category in question. Some techs are always present while others are only available to some players (or by chance: no players at all). This means even if you pick the same race 3 times in a row, you will get 3 different tech trees. Because other players might have something you don't, trade, spies and conquest to get techs becomes a thing.

While it certainly lives up to the "no two games are identical", it might not be so great to make certain techs unavailable. It sucks if you by chance loose half of the high end ships. MOO doesn't have this problem because you don't research units. You research unit components and put them together yourself, meaning you can much better make do without a number of them without suffering too much. You can suffer through like missing the tech(s) needed to colonize the planets next to your starting location. It's not a perfect system, but it sure is different and generally works for MOO.

How to visualize Techs? (As a Tree like in Civ4?)
We can pretty much do whatever the civ4 python display engine allows us to do. Interestingly the engine supports a number of features vanilla doesn't even use. We should not feel too close to just copying civ4 because we can pretty much make whatever we want. One major reason for not blindly using a civ4 GUI is that Colonization adds support for drag-n-drop buttons (like dragging units and yields in the colony screen). No other version of the civ4 engine supports drag-n-drop.

I think anybody can make some concept art on how a tech screen should look and we can likely make it. It's just a question of how much work it will be.
 
Just some quick brainstorms on the topic.

"Tech Points":

I think the 'produce research yield' with a person/profession/building should definitely be supported in the system, because I think it is the most 'This is Col' method, you manage people and buildings that make stuff. Whether it gets used or used for all projects or individual techs is debatable, but I think having then be unlocked by configurable yield types is probably the most universally useful method, you then can even have multiple kinds of research points, like a military or social idea yield, that can be applied to different kinds of techs.

FF points system.
This system would basically be like the FF system, I think this could be useful to support as you can then have the 'research by doing' approach where the more you do the faster a tech can unlock, your military gets more advanced by fighting, exploration improves by exploring, etc. Like National XP. for want of a better phrase, individual colonies could even invest their productivity by building the tech points, like they do with FFs.

Resource costs:
One thought I had around needing physical yields to unlock a tech, is their could be a tech screen, where you drag and drop yields onto the tech in question, like loading a transport. The yields could be taken from your capital city, or anyway that has a research building. (it could even be a 'box' on the colony screen) This might help to avoid a situation of using those tools for a pioneer because you forgot you needed them for that tech, thus leaving you scrambling to undo your mistake.

Tech Tree Visualisation:

Using the drag and drop system you could have a screen with research slots where you can drag and drop techs from say a list of available techs. You could have a fixed number of slots for active research, it could be one or two slots per research 'type' Social/Economic/Military. You could choose to research on tech quickly or multiple techs in parallel, depending on your current need/desire. You could have one slot per research building, allowing multiple cities to research multiple different techs, at varying speeds depending on the level/employment of that cities research building..

It could be a box on the colony screen where you 'build' the tech, much like you build a building, multiple colonies could 'build' towards the same tech.

The list of potential techs available could be partially randomised or blind like in alpha centauri. So you don't entirely know what order things will come each game. (I am not such a fan of randomised as it doesn't let you optimise your strategy as you replay, or could lead to being stuck with tech that are situationally useless for you this game.

Other effect features:

Some of the other fun effects that were available in M:C were the ability to change the type of growth unit that was produced. this allowed for a reshaping of the society and population depending on choice or need. In WtP it could for example produce 'Revolutionaries' in the late game who could have certain strengths/weaknesses that put pressure on you to declare independence, or assist you in independence or whatever.

I can't think of anything else right now... brain fart.
 
Just a few thoughts:

A) Our Education Buildings (e.g. School / University) currently only have 1 Profession / Yield (Student / Education).
  • They would still allow Multiple Professions per Building to be easily set up.
  • We could have a new Yield / Profession / Specialist in there (e.g. Ideas / Inventor / Great Inventor)
  • This would have the huge benefit that we don't need to have another Building Slot in City Screen (which is already quite full)
--> This would allow to make use of the known "Produce Yield" game mechanic.

B) We could have different Tech / Inventions categories (which should work differently than FF categories though).

Whenever a "Research is idle / completed" a Dialog could pop up and offer you to choose between researching in one of these categories.
(Without telling you the specific Tech you might gain - especially if we should randomize the order - this would make the outcome a surprise.)
  • Buildings (e.g. unlocking higher Buildings, improving Production Bonus of Buildings, adding more Production Slots ...)
  • Improvements (e.g. 2nd Level of Growing Improvements and stuff like "Forts" and "Monasteries")
  • New World (e.g. unlocking the Yield Increase of Bonus Ressources that are not known in the Old World - like Tobacco)
  • Land Military (e.g. unlocking stronger Land Military Professions or unlocking specific Promotions)
  • Ships (e.g. unlocking more powerful Ships or adding more Storage Slots to specific Ships or giving Free Promotions)
  • Expansion (e.g. making Scouts stronger, making Pioneers require less Tools, unlocking new Roads Types, unlocking Transport Units, ...)
  • Politics (e.g. unlocking Civics, unlocking Dialog options, unlocking DLL-Events, ...)
  • ...
- When there is no further Tech / Invention in that Category, the Category is simply no longer offered to select.
- The Techs you collected (researched or traded) can simply be visualized as Lists (one List for each Category) in new "Tech Screen"
- Progress status for finishing the current Tech (without knowing what it is specifically) could be visualized in new "Tech Screen" as well
- Of course more powerful techs need to have higher research costs.
- We would need to code some "dependencies" (e.g. other Techs first to prevent something too powerful to be researched too early)

--> Visualization is relatively easy. (Pop-up for selection, List for displaying the already researched Inventions)
--> It will be a little bit less deterministic and more surprising - which would improve replayability.
--> It would not simply be a clone of Founding Father System

C) Techs should be tradeable with other Colonial Nations (basically like in Civ4)
D) Every Colonial Nation should start with a few slightly different Techs (of course not too many)
E) Some Techs (e.g. of "New World" category) could be acquired by Scouts visiting Native Villages or found in Goody Huts

-------------

Summary:

  • Techs being researched by Yield / Profession (using MYPB) in Education Buildings
  • Researching only in Categories / resulting Tech Research being "blind" and a bit randomized but still having dependencies
  • Effects focussing on unlocking New World Bonus Ressources or stronger Buildings, Units, Promotions, Improvements, Features, ...
  • Techs being tradeable between European Colonies
  • "New World Techs" potentially acquirable by Scout (Native Villages or Goody Huts)
Mainly I would like to avoid simply creating a clone of Founding Father System.

-------------

Potential Problem with this concept for Players:

This feature concept is step by step unlocking things you can currently already do right from the start (if you have enough money).
Now you would need to "fight / research" your way from "not being able to do much" to "full capabilities".

Early game would become much more limited considering possibilities and way more challenging. :dunno:
But mid-game and end-game would become way more rewarding because you would have achieved to fight your way.

Potential Problem with this concept for AI:

We would of course not only limit possibilities for Player but also for AI.
If AI cannot handle research for acquiring these Techs, it will be totally wasted by Human Players.

It is pretty easy to prevent this by giving AI some advantages / AI cheats.
But if AI hast to play by the same rules as Human Players ...

-------------

This all however is just an idea for an implementation concept.
We still need to have a list / collection of the actual "Techs" and their effects as well as potential dependencies

-------------

Looking forward to feedback and further ideas form community. :)
 
Last edited:
Looking at what is in M:C, the following could be interesting too:
  • free experience for new units (specific units or all?)
  • pioneer work speed modifier (general and/or specific builds)
  • pioneer can start working after spending all movement points
  • improvement upgrade modifier (might take 40 turns instead of 50)
  • Changes to yield production at the colony plot (like all colonies produce +1 cotton if center plot produces cotton)
  • Europe screens as in say Africa isn't unlocked from turn 1
  • Modify tax related stuff like max tax cap
  • Modify native land prices
  • King's fee for transporting treasure modifier
  • Gold from natives modifier
  • Immigration cross requirement modifier
  • Buy in Europe price modifier
  • Unit heal rate modifier (settings for own team, neutral and enemy owned plots)
  • Unit stats (like movement points) changes for any unit, which might not have a UnitCombat (may or may not be needed)
  • Extra yield from plot if it produces more than a certain amount (like +1 fur for any plot producing at least 6 furs)
  • Modifier for research point requirements (per type of research points, like cost -5%)
  • FF point cost modifiers, specific type and/or all
  • Missionary conversion rate modifier
  • Improvement yield production change (providing we can make the code fast enough)
  • learn time in native settlement modifier
  • Europe travel time changes

@Nightinggale :
I like most of these (for Techs) as well. :thumbsup:

Only the ones in red I am not sure about.:think:
(Not talking about CivEffects allowing it but Techs using it.)

I believe we have the same or at least similar bonusses already on e.g. Traits or FFs and I don't like to have "duplicate" effects in different systems.

It could become an issue for balance if Techs, Traits and FFs give the same bonus.
(The sum of one specific bonus being applied twice could become too strong.)
 
Last edited:
I'm not certain a random, blind research mechanic adds to fun; I can see the argument for realism's sake, but it definitely lessens the amount of player agency and strategic thinking.

If I could offer a minor suggestion, I think the specialist reseacher unit should be named Natural Philosopher, as that was the common term in the 17th and 18th centuries for what we would call a scientist.
 
I'm not completely sold on this idea.

I understand the need to lock out features until later in the game, but I'm not convinced a tech tree will improve the game.

A lot of these suggested techs seem to be modifiers and I don't like the way that will impinge on the FF system, nor do I think it would be easy to balance.

I would suggest that a tech tree strictly has no modifiers (to distinguish from FF) and only unlocks units, buildings and improvements.
 
Last edited:
I'd double down on the FF concept and have categories of techs that line up with the FF points (with a few exceptions( and Just keep a counter of points in each category instead of resetting every time you take a FF. Then have techs determined by how far you've gone up that tree. Simplistic, easy to understand and the mech for getting points is already known. I think this would lead to more overall thinking about it. When I play a domination game I only care about a handful of FF and ignore whole FF categories. This type of system would give you more decisions. Heck their might even be a interesting tech that helps you on the military side that is only gained going up the exploration path.
 
Some of the other fun effects that were available in M:C were the ability to change the type of growth unit that was produced. this allowed for a reshaping of the society and population depending on choice or need. In WtP it could for example produce 'Revolutionaries' in the late game who could have certain strengths/weaknesses that put pressure on you to declare independence, or assist you in independence or whatever.
This is a civic feature, not a tech feature. Besides WTP doesn't have the various units, which could make something like this balanced. Imagine switching growth units to veteran soldiers. Yeah, I can't see it being balanced either.

(Not talking about CivEffects allowing it but Techs using it.)
I agree it's possible to make all sorts of stuff, which isn't well suited for techs, but remember that there are two parts to this. One is what we can do with techs, the other is what we can do with CivEffects. There are something, which only makes sense for civics and not techs and vice versa. The same system supports FFs, civs and so on. The design goal is that the design shouldn't be in the dll, only xml.

People kept talking about unlocking units as the only goal of adding techs. I wrote this to make it clear that we can do so much more if we want. Most if not all of what I wrote can be implemented without too many issues. In other words rather than saying how techs should be, this is more meant as an incomplete list of what tools we have available to make techs.

Figuring out what we want with the techs comes next and I haven't really decided or proposed anything in that regard. However the design discussion needs to know what we can tweak in order to figure out what to use and how to use it to reach the gameplay intended design goal.

C) Techs should be tradeable with other Colonial Nations (basically like in Civ4)
We should make this easily controllable and easy to disable. That way we don't have to work hard to disable this part if it turns out to have sideeffects. Fall From Heaven 2 even has tech trading as a game option. In fact it has two options, one for trading what you invented and one for trading what you gained through trading. The latter is to prevent a player from exchanging to get something, then exchanging that with another one, then with yet another and suddenly it's the most advanced player without having done research. It might not be that great for some players if multiple AIs decides to follow that path.

Maybe some rules about Europeans vs native vs kings regarding techs would be a good idea. Natives are strong early, but doesn't grow that much. Maybe we can assign CivEffects to them in late game to indicate that they have learned something from the Europeans. This is mainly a balance/xml issue because all players in the develop branch currently use CivEffects meaning the amount of dll work needed to add this is minimal if anything at all.

We could also add a bool to techs to disable trading the tech in question. In fact that would likely be a good idea to implement from the start even if we don't use it because it might be valuable for xml modders later for balance purposes and it's not much extra work if it's implemented while the code is written while it would be significantly more work to add later.

I believe we have the same or at least similar bonusses already on e.g. Traits or FFs and I don't like to have "duplicate" effects in different systems.
The main difference between techs and FFs is (or rather will be) that FFs applies exclusively to a single team while techs applies to a player, but can be used by multiple players. This means to determine what goes where, the main question is: should player A be able to get this even after player B gets this?
Sometimes the answer is simple, like access to Africa. In other cases it's less clear. For this reason it's important that CivEffects apply to either because it makes it very simple to move a feature from a tech to some FF. It's just copy paste some xml code.

As for the overlap, yes it can be done. Sometimes it's not a good idea and in other cases it could be. For instance free promotion could be justified in more or less anything, which can provide a CivEffect. A trait can give looter to units while a tech can give +1 movement to some ships. Once again in order to not make artificial limitations in the dll, the system should allow overlap even if it can be used to make the game balance horrible or confusing.

I'm not certain a random, blind research mechanic adds to fun; I can see the argument for realism's sake, but it definitely lessens the amount of player agency and strategic thinking.
I think I'm in this camp as well. However at the same time I can see the point regarding blind or semi-blind research. Maybe make it a game/map option?

I don't think it would be a major issue to make both systems. The question is if it is worth the hassle of making both balanced.

Researching only in Categories / resulting Tech Research being "blind" and a bit randomized but still having dependencies
A semi random tech tree could be interesting, particularly if you can't see anything where you have none of the requirements. Drawing the tech tree in a civ4 style could be interesting if the game should be able to change the layout, but it would at least remove the need for the xml modder to set the x,y coordinates for each tech.
 
My point with the changing growth unit is it opens up a lot of options, also if this is a civeffect it could be used as a civic or a tech or both. (though with only 1 growth yield this would obviously conflict if used in both but that is easily avoided, but still potentially useful if the growth yield is configurable and/or you can configure multiple growth yields in xml in the future), Also if something is horribly unbalanced you don't do that one option. However it is not really a valid argument to pick 1 unbalanced scenario and then say, therefore it won't work. That is what design implementation is about, using the tools correctly. We don't throw out hammers because one option is to smash yourself in the face with it :D
 
I would suggest that a tech tree strictly has no modifiers (to distinguish from FF) and only unlocks units, buildings and improvements.
That is basically what I suggested as well - I really would like to distinguish it from FFs as well. :thumbsup:
But I would have it unlock other things as well, like Promotions, Diplomacy Options, Civics, ...

Although I am also open to some exceptions to that - meaning they could also give a bonus or other benefit. :)
As long as we do not have the same effects configered in XML of other Systems like FFs or Traits.

I do however also see potential problems with the "unlocking" approach - even if I like the idea generally. :undecide:
It would change game play a lot and it would need a lot effort for adjustments to current AI coding.

But we might come up with better ideas or better concepts as well. :dunno:
Maybe the "unlocking" is also really liked by the community and can even be taught to reasonably to AI.:dunno:

As far as I understood there is some interest of Nightinggale in coding the base CivEffects System anyways. :thumbsup:
It might also help us in reducing other efforts anyways.

When we have that, we can take a look at it and decide on the next steps for building "Techs" on top of it (or not).
Until then we can already collect a list of possible "Techs" and their effects.

This is simply a "Chicken and Egg"-Problem. :dunno:
You need to start somewhere - if you are interested - discuss possible concepts and see how it turns out.

If we figure out of course that we don't want Techs at all, we also do not have to continue discussing it.
But currently I feel that there is a considerable number of team members and community that would like a "Tech System" that fits Civ4Col theme.

-------

I also still have a lot of "?" on this and currently only vague ideas.
But these can probably be solved and transformed to a real implementation concept - we are all smart people. :)
 
Last edited:
That is what design implementation is about, using the tools correctly. We don't throw out hammers because one option is to smash yourself in the face with it :D
True, you never know before you even tried. :agree:
If you always give up too easily there is no chance for success.
 
There are something, which only makes sense for civics and not techs and vice versa.
The same system supports FFs, civs and so on. The design goal is that the design shouldn't be in the dll, only xml.
I fully understood that and I like the concept of "CivEffect system can simplify a lot of other systems building on top of it.".
I also do trust you fully with the "CivEffects System" - thus I am mainly focussed on "What should Techs apply of that?".

I wrote this to make it clear that we can do so much more if we want. Most if not all of what I wrote can be implemented without too many issues. In other words rather than saying how techs should be, this is more meant as an incomplete list of what tools we have available to make techs.
Yes, but we need to come up with a concept for "How to use these CivEffects Tools in Tech System.".
For me personally as a "feature designer" - thinking a lot about gameplay of WTP - this is the main question.

Players don't care much about the technical system implemented, because they do not see it.
For us modders, that is of course totally different because we need to spend the effort.

Also "What do players want?" will influence the technical capabilities of the system we need to implement.
And of course the technical capabilities of the system will also influece "What can we give the players?".
Thus both needs to be discussed. :thumbsup:

In fact it has two options, one for trading what you invented and one for trading what you gained through trading.
Sounds great. :thumbsup:

The main difference between techs and FFs is (or rather will be) that FFs applies exclusively to a single team while techs applies to a player, but can be used by multiple players.
That is also true.:thumbsup:
But it should not stay the only difference.

These 2 Systems need to have more differences in gameplay (mainly effects, mechanism to gain them, visualization).
Otherwise it will feel like "same old same old".

However at the same time I can see the point regarding blind or semi-blind research. Maybe make it a game/map option?
Actually I personally prefer to have "one solution" for this or otherwise we end up wasting effort for maintaining both.
Whatever we decide - either "non random / open", "random / semi blind" or "whatever", let us please stick to it.

I don't think it would be a major issue to make both systems. The question is if it is worth the hassle of making both balanced.
Not for making it - in terms of DLL / XML implementation.
But definitely for maintaining, balancing and explaining to community.

A semi random tech tree could be interesting, particularly if you can't see anything where you have none of the requirements.
I like that as well, but of course we need a consense in the team and a majority of community to also like it.

Drawing the tech tree in a civ4 style could be interesting if the game should be able to change the layout, but it would at least remove the need for the xml modder to set the x,y coordinates for each tech.
Yes. :)
But well, we still need to do more brainstorming. :grouphug:
 
Last edited:
Hi, I appreciate all the work put into expanding the col experience, and adding on another layer via research seems very interesting.

I wonder if its possible not to go the route of regular civ games, with pop producing research yield - as that would just be another cross and bells system, instead of being its own interresting system, requiring other considerations.
Perhaps players receive Research (RP) whenever a colonist complete an education, with more RP for more expensive types of education.*
Of course, in the early days of colonization, development was tied alot to the development of the old world, and I think that should be simulated as well.
Either, the king provides a baseline RP per turn, which in the early game will make up most, if not all development, but as the colony grows, it becomes a smaller percentages;
OR, technologies are locked behind Ages, which is tied only to the game year - indicating that the colonies build on ideas developed in the Old World.

Also, it should be possible to get RP from exploring, either from events, natives, huts and/or revealing tiles.

Regarding having different tech-trees, or paths - it might be a bit on-the-nose to use the same categories as the FF. My suggestion would be to have an Old World Path, and a New World Path (not/less restricted by Age).
RP from the king is added to the Old World Path, RP from exploration is added to the New World Path and RP from Education is split by the average/settlements rebel sentiment between the Old and New Path.

Finally, to have a bit of a catch-up mechanic, the cost of technologies should be reduced as more and more players develop them. Old World techs should be heavily affected, while New World techs less so, as its easier to keep secrets when your king is not bragging about the latest invention to all of Europe.

*Choice between getting free RP from mainly going with low-level education, or boosting research by investing in higher education.
 
Perhaps players receive Research (RP) whenever a colonist complete an education, with more RP for more expensive types of education.*
But then players would start to mainly educate to get research instead of when education in itself makes sense.
There is also no real strategic decision making or choosing alternatives that way.

Research would be just a side product of education. It feels clunky to me or a bit too artificial and unimmersive.
We should not unnecessarily mix a game mechanic that in itself is has a specific purpose with another purpose.

Also, it does not really feel right to me, that you gain "Research" when a normal Colonist is educated to whatever.
Do we expect in reality that a student comes up with a great technological breakthrough when he is just learning the basics?

I don't really like that to be honest. :dunno:

We can easily have Education Buildings have 2 Professions that produce 2 different Yields.
(With Multiple Professions per Building - an already fully functional system in RaR / WTP).

Thus you could decide:
1. Do I either use the available Slots in this Building for Education or for Research?
2. Do I acquire a "Research Specialist" and spend the money on that or do I need it for something else?
3. Do I put a Colonist in this "Research Profession" at all or would I rather use that Colonist to produce something else?

There is at least some decision making involved in the part of the feature for "How to Gain Research".
(There will be further decision making of course when choosing Techs / or maybe Tech Categories.)

Other solutions might be possible as well of course - but a feature needs to have enough choices and consequences.
Otherwise it is plain boring for gameplay.
 
Last edited:
Fair enough Raystuttgart. I can accept that point of view, though you have not convinced me on all parts.
First off, it is of course not that people get new ideas on the last day of school, it is a system to simulate the benefit of educating ones population - just like I accept that it is not the same expert farmer working my fields for 50+ years, but it is the tradition he started that is carried over to new generations.

Perhaps basing RP output on completing education is a poor fit, however, I am not fond of the idea of basing it on yield generated as the only output of a job - I simply find the concept to to similar to the rest of the game (admittedly, that is a matter of personal taste, as consistency in systems have its own qualities). Though, institutionalized research have always been a large part of technological development, so has need-driven innovation by the society - with more success where people have the skills to attempt new stuff.

As for decisions, for me personally (considering my single player experience, with little to no reading on guides and play styles), I would have to decide to continue my non-education for the early to mid game, counting on my king and scouts to supply RP, or focus more on building schools early. Finding a balance that fits my style of play, and the treats and opportunities presented by each individual game - would be the decisions I take.
I can see that the decision disappears if you already embrace early education (more so if its is the better play-style). I envision the kings RP support to be enough that it is viable to skimp on education - at least part of the game and/or to some extend.

I would really like to hear your view on the other aspects - the (only) two technology paths, early game technology heavely supported by the king, splitting research via rebel sentiment, catch-up mechanics, and having some or all of it locked behind a barrier not movable by the players (Age by game year).
 
I would have to decide to continue my non-education for the early to mid game, counting on my king and scouts to supply RP, or focus more on building schools early.
You could still decide to keepy the "non-education stragety" in early game.
I actually do that as well - I start "education strategy" in mid-game myself.

But if you tie education and research that might not be possible or it might not be reasonable anymore. :dunno:
You might be "forced" to use "education" (because it has "research" as a side product) in early game because everything else would be stupid.

Otherwise you might either loose the "research strategy" (in early game) because you don't have any use for the education aspect or
"education + research" is overpowerd and there is no real tough decision to be made because you simply always use it.

That is why I don't like tying game mechanics with different purposes. :)

Finding a balance that fits my style of play, and the treats and opportunities presented by each individual game - would be the decisions I take.
Exactly. :thumbsup:

That is what a game should do - offer different strategies that are all valid and not one being overpowered.
This allows to make good decisions base on alternatives to fit the current game situation.

I would really like to hear your view on the other aspects - the (only) two technology paths, early game technology heavely supported by the king, splitting research via rebel sentiment, catch-up mechanics, and having some or all of it locked behind a barrier not movable by the players (Age by game year).
Sorry, I simply do not really understand what you suggest by that. :(

If you suggest that you get "free research" without doing anything then it is not an interesting game mechanic for me personally.
There should be some invest for being rewarded in my eyes. Not just free presents. :dunno:

I can only speak for myself and explain my own personal taste - and it is only one of many.
Community and team all have to state their opinion so we can come up with a good concept that we can live with and finally implement.
 
Last edited:
As far as I understood there is some interest of Nightinggale in coding the base CivEffects System anyways. :thumbsup:
It might also help us in reducing other efforts anyways.
Every time a new feature is needed, the existing code needs to be examined, new code planned and coded and then tested to fix all bugs. CivEffects is a code structure intended for modders to have a better chance of reusing existing known good code to skip those steps. This means less bugs and modders can work faster while reaching the same goals. Also rather than focusing on features when implementing CivEffects, I focused on data structures and access time, meaning we can also use it to make some existing features faster.

The fact that it unlocks the ability to add techs is an intentional bonus, but it's not a requirement for making good use of CivEffects. Also modmods will benefit greatly, which makes it easier to make a mod, which doesn't feel like a reskinned mod.

Sure we will use CivEffects with or without techs. It's a tool to make modding easier and modders can benefit from it without the players noticing anything.

We don't throw out hammers because one option is to smash yourself in the face with it :D
We can make a random event where UFOs attack a colony and kills everybody. I think that would be a really stupid addition, but at the same time I think it would be a mistake to code something in the dll to prevent xml from doing it. The dll shouldn't judge and leave the gameplay design issues to xml. If we make the dll prevent it, then we risk that some future modder can't add a random event where a colony is attacked by a bunch of polar bears.

Another question is if we should add the ability to make CivEffects change the growth unit. Sure we can do that and then disable it in xml if we end up not liking it, but that would be a waste of time. If we need to add support for something in the dll, we would need a plan to use it ingame.

That is what a game should do - offer different strategies that are all valid and not one being overpowered.
This allows to make good decisions base on alternatives to fit the current game situation.
That's the way I'm thinking too. There shouldn't be any "you need to do it this way" to play the game.
You start with gold and silver: ok, you buy a lot of stuff in Europe.
You start without any real value production: you aim towards making your own tools and weapons early.
No natives: you use learning by doing to get the native only experts.

Particularly with custom games people can end up in a lot of different situations and the game should make all of them viable. This means we shouldn't have a type of research, which you can only get by being friendly with the natives because then the player doesn't have a choice and a game without natives becomes... well different than it is right now.

Even without custom game settings, I have managed to settle on a decently sized island more or less clean of natives. If I had to interact with X settlements in order to accomplish something, then I would have had a problem simply by the way the random map happened to turn out.
 
For what its worth, I'm not sure having a tech tree is a good fit for the game.

It seems like it would add a lot of complication for little gain. It is essential for a game that goes from the stone age to space exploration, but for the time period this game is set in, I'm not sure there is much need. It seems like the real uses of technology would be to delay acquisition of existing items (buildings, ships, improvements, professions), or for adding new items, or stepping on the toes of the founding fathers bonuses.

The current mechanics of growing improvements and buildings requiring other buildings seems to be sufficient for delaying the acquisition of advanced options. Adding another layer to accomplish the same thing seems unnecessary. I worry also that in a search for interesting stuff to add to technology will result in needless bloat. New units, new promotions, etc.

It just seems like it makes the game too much like Civ instead of sticking in its own unique Colonization niche.
 
Top Bottom