1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Research and Tech tree

Discussion in 'Gedemon's Civilization, a total overhaul project' started by Gedemon, Jun 21, 2017.

  1. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    Yes, but you can't use the tech and civic tree for that.

    A tech is only unlocked by another tech.

    A civic is only unlocked by another civic.

    You can't have a tech unlocking a civic.

    You may have a tech or civic unlocking projects, but that's useless for the mod as then the project is available in any city without any way to control it.

    So we must code a new mechanism, preferably one transparent for the AI and not requiring any custom action (like clicking on an item of a new tree unrelated to the base game, without being able to sent the info over the network for MP)

    So yes, I can reuse the civic tree, but only by copying it and make from it a locked display of an Application tree.

    It would be perhaps easier to rework the tech tree item to show more data (larger items holding more icons, larger tooltips)

    yes.

    Application are their own entities in every proposed design, can you rephrase ?

    I understand that it may be too complex, and that UI feedback would be important, as usual, but my design allow automatic progression (good for AI and new players) while allowing more experimented players to speed up the items (tech or app) they want to get first (you still have choices)

    Well, it's planned that way since a long time (more than one year !), and it costed me a few weeks of coding to integrate it to the tech tree, I won't change it now that's the only thing left is to fill the data.

    Speaking only of the tech tree here, not worked on the app tree yet.

    I don't think it's an issue, we can make sheets if it helps for development, then think about how to integrate it in the UI. But I don't understand why having hundred of source for research points is an issue for the representation, it would be the exact same problem with one or a thousand of source for points, the "cost" property itself won't change, the prerequisite techs/apps won't change, so the tree and item placement would be the same anyway.

    I don't thing that you should be able to lock a research if there is a need or another source of points for it (see the previous mention about the AI), that why I propose the other way, ie projects accelerating Apps research, but not researching Apps on projects only.

    That was my first thought, but too many replacements, can you visualize the list of builder units required ? And the code to select which ones are available in a city ?

    And that builder could be used on any city plot after being build, no way to lock it to a city area.

    Units and Buildings are already locked/unlocked at the city level by the fake buildings mechanism coded in the mod, it's a new column in the DB (one in the Buildings table, one in the Equipment table) and 2 lines of code to implement a prerequisite Application.
     
    Knasp likes this.
  2. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    Alright, I was unsure if Civics could be unlocked by Tech when I first suggested it, and now I see that I've misinterpreted your previous response. The Civics approach was entirely premised on the possibility of unlocking Civics through Tech. So thanks for clarifying that!
    Alright, so Projects can't have requirements for showing up in the City's list?
    But it seems to be possible to have requirements for Units? Can you have requirements for Buildings?
    I don't think you should try to create a new "Application tree" from scratch nor did I suggesy adding custom actions. If I gave that impression, then I phrased my suggestions poorly.

    Yes, I think we both need to clarify our use of the words. I'm not sure if I understand what you consider to be Applications and what you consider to be Global/local knowledge? Do you see applications and local knowledge as the same thing?

    To take an easy example:
    The Archery development unlocks the Artillator building, right?
    So would that building and in extension the Archer unit be the applications?
    Because I used the word Application to be the intermediate step required to unlock certain "stuff", not just the stuff itself.

    How do you envision global/local knowledge in that case? Is 'Global knowledge' simply finishing the Development. And the Development itself gives the universal unlock of the building?

    Or is Global knowledge just the first step and then you have to work/wait to gain the Local knowledge to gain the stuff?

    I hope we can get on the same page!

    I'm not against automatic and complex progression, and it could simply be that I haven't grasped your design yet.

    I don't mean to be disrespectful. I just question because I want to understand how you envision Developments, Applications, Global knowledge and Local knowledge to work. Especially if we have different conceptions about these things.

    For me it makes a big difference if I'm looking at individual items compared to a group of items.
    Take Sailing for example, which represents the development of:

    Fishing boats
    Fish market
    Shilyard
    Galleys
    Builder embarking(?)

    Sure, the concept of Sailing might be the prerequisite for all of these, but each item should probably have its own requirements and several of these were likely developed in different/varied circumstances.
    At least for me, I find it increasingly difficult to generalise, the more things you have to take into account at the same time.

    So, the main reason for my conceptions of Applications, in the form of Projects/fake buildings, is that it would be a simple way to separate all these (Sailing) items into subgroupings, that are easier to tackle. If Sailing unlocks the application of idk: "Warships", then you can more easily define the boosts/obstacles to such development.

    Are you planning an app tree, that is separate from the Development tree, or am I misinterpreting you? Please clarify what you mean by apps, so I can follow the reasoning.

    Fair point, I guess you'd need a lot of special-builders, though I could see improvements/actions accumulatiny over time, so you wouldn't need a special builder for every resource. There might still be other simpler solutions to avoid that issue, even if I can't envision any at the moment.

    I don't see that as a poblem, but rather think of that as a feature. Of course you should be able to send your seasoned Rice farmers to another City and use their expertise.
     
    Gedemon likes this.
  3. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    Sorry, I didn't meant to sound harsh, but reading my post again, I did, so my apologies. I may be a bit frustrated by a small flu (or big cold) that prevent me from coding since 4 days as I lack concentration, could also explain my lack of understanding or difficulty to present my design.

    Apps are anything you want them to be, but LOCAL (OK, that sound even more confusing now, I'll develop below)

    And yes, it's an App tree, as it can have branches (app requiring previous apps), even if it's not displayed as such, and there can be orphan leaf.

    So an app is an item that have the following properties:
    - a type name to identify it
    - a cost to determine how long to research it
    - a linked tech from the global development tree (optional)
    - a prereq tech from the global development tree (optional)
    - a prereq app from the city app tree (optional)
    - a prereq buildings (which could be a fake building) (optional)
    - a list of events that give points to research the app, one of those event could be the local production of a fake building acting as a project, another could be the use of "knowledge resources" specific to that app (or specific to the linked tech when there is one defined)
    - it could unlock anything that the mod can control (building, fake buildings, equipment, units that don't require equipment, other app, ...), but not tech as explained
    - it could affect any mechanisms that the mod has added (resource production/consumption/conversion/trade, health, population needs, ....) or that the mod can control without breaking MP compatibility (maybe I should make a full post somewhere about that)

    Taking your examples, starting with Archery:

    The Development item "TECH_ARCHERY" currently unlock the Artillator Building, which in turn allow production of Equipment that will unlock the Archer (and other units)

    There is no obligation to create an Application if we thing that once TECH_ARCHERY is researched, any city should be able to build the Artillator Building.

    But IF we think that Archery should be a local knowledge, then we could have an APP_ARCHERY.

    Then we can determine exactly HOW that APP_ARCHERY is acquired in each city. It could be locked (ie can't be researched) until TECH_ARCHERY is researched, or it could be locked until the prereq tech for TECH_ARCHERY is researched. The later would allow parallel research of TECH_ARCHERY (global, dev tree) and APP_ARCHERY (local, events or fake projects unlocked by the prereq tech)

    If we set TECH_ARCHERY to be the linked tech for APP_ARCHERY, then when you have one, you gain bonus research points for the other, using the "knowledge resources" mechanism.


    For your Sailing example (embarked builders are a tech tree property only, no possible local unlock for that), if we don't want it to unlock everything globally:

    we could have a APP_SAILING, researched LOCALLY any way we want as explained above, and unlocking everything at once (Fishing boats, Fish market, Shipyard, Galleys)

    OR

    we could have anything as separate Application unlocking each component (APP_FISHING_BOAT unlocking Fishing Boat, APP_FISH_MARKET unlocking Fish Market, etc...)

    OR

    we could have a complete mix, with Fishing Boats and Fish market unlocked globally by TECH_SAILING (and by APP_FISHING_BOAT/APP_FISH_MARKET or APP_SAILING if we want to have local Fishing Boats or local Fish Markets before the Tech is known at the global level), and Shipyard, Galleys unlocked ONLY by one or two Applications.


    Note that we could have Applications completely independent from the development tree and unlocked on any event we want (for example when a city reach a specific size)
     
    Knasp likes this.
  4. SeelingCat

    SeelingCat Warlord

    Joined:
    Oct 27, 2016
    Messages:
    135
    Gender:
    Male
    Location:
    US
    Just a quick note since I haven't seen it mentioned here, but I believe you can restrict Projects by making them require a resource (I think it used to be buggy, but has been fixed?). So if you're willing to create (a bunch of) dummy resources granted by techs/developments through lua, I think you could use projects for that then
     
    Knasp likes this.
  5. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    Thanks for the clarification on apps!

    Then I suppose that the researching of apps can be visualized using a mouse-over tooltip, like the health icon in the city banner.
    And we could list all the apps in the Civilopedia, so players can read up on the specifics, like prerequisites and how to get research points for a specific app.

    I can definitely see how we could use a combination of unlocks, projects and buildings for similar items, when it is appropriate.

    For e.g. the Galley could become available through the Shipyard but the Quadrireme should definitely be unlocked (locally) by an app, rather than a (global) Development.

    Warships, fortifications and siege engines are typical items that shouldn't be unlocked globally but rather result from apps.
     
    Last edited: Dec 10, 2018
  6. Xefjord

    Xefjord Prince

    Joined:
    Jul 17, 2015
    Messages:
    310
    Gender:
    Male
    I skimmed through everything, and just wanted to bring this up if it hasn't already. Some kind of tech diffusion or tech trading feels neccesary to me. As this sounds like a relatively complicated new system of advancing in tech, and at least from some of the first posts, it seems like it would seriously help civs who are really far behind (Or civs who are really far ahead) equalize with the rest of the world. Is there any plans to implement something like this so even if you don't get a great start you can still trade with other civs for technology like happened historically?
     
    Knasp likes this.
  7. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    Yes, that's one of the planned usage for the "knowledge resources"
     
  8. HorseshoeHermit

    HorseshoeHermit 20% accurate as usual, Morty

    Joined:
    Apr 5, 2013
    Messages:
    1,309
    Location:
    Canada
    I don't think I like the taxonomy of research fields you've given. It also looks excessive to subdivide every technology into so many 'tags' that your tagging is neither abstracting or unifying. I mean, just the raw techs are only slightly more diverse than your type system.

    Other games have tread out this space, and the fields are always Physics, Engineering, Societal, maybe Economic, maybe Mathematics.

    Now, maybe it seems one thing you're doing is to classify not the fields of study, but the sources of "academic fervor" I guess, where your civ has a certain score in how much inquiry there is going to be into "Exploration" or "economy" and so on. If so, it's the mechanics of such allocation that I find to miss the mark. Settling how exactly your game actions will manipulate these fervors seems to be the correct step to precede an extended survey of the tech tree.
     
  9. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    Your critique is interesting but a bit too abstract (for me). Could you please elaborate?

    And perhaps you could suggest which fields/themes you'd prefer and why?
     
  10. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    The way I've coded it, you should be able to mod it any way you want using XML.

    I needed a bigger tech tree for the test, but it's not fixed, we'll work on a better version of all trees (techs, buildings, units, equipment, ...) once all the other mechanisms are coded.

    What we're limited by are the gameplay events to base our research fields on, for example, I don't see how to have a "Physics" research field.

    I've finally finished to merge the Civics/Tech trees, and added the code to handle multiple fields and events (but only coded a few events so far), as well as a small pass on the UI to show what can contribute (and how much) to research each Technology

    Spoiler Research Contributions :
    Clipboard-3.jpg Clipboard-5.jpg Clipboard-6.jpg Clipboard-7.jpg
     
    Knasp, Nigel_Tufnel2 and SeelingCat like this.
  11. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    @Gedemon :

    So nearly a year later, I've finally posted my timeline at https://forums.civfanatics.com/thre...-illustrated-by-civilization-vi-icons.640096/

    I think it will be useful as a historical reference when we're designing our tech/civic tree, like our discussions about applications and when certain buildings/units should be unlocked. Archers and Chariots are two items that I've covered, and thanks to Boris the timeline of Gunpowder is quite detailed as well. An important thing to remember is that I haven't taken the game mechanics into account when placing items in the timeline.
     
    Last edited: Dec 31, 2018
    Gedemon likes this.
  12. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    A few thoughts on tech diffusion and how to handle the knowledge/tablet/scroll/book resources.

    Small reminder about those "resources" and my initial thoughts in relation to applications:
    Now, more globally:

    Initially, the Palace would handle the creation of "TechA knowledge/tablet/scroll/book" resources in the capital (if TechA has been researched), the number being based on the city Science output (and maybe other factors), those resources would be available for exportation to cities of Civilization that have at least a DoF, and maybe use bonuses based on alliances)

    We could have later a new unique building per Civilization (a National Library) that could be build in any city that would then be your Civilization source of knowledge "exportation".

    The Palace or National Library would also handle convertion of any unallocated points in a research field (for example Military Research) at the end of a turn into "Research Field knowledge/scroll/book" resources (for example "Military Book" resource if you have paper)

    The convertion of "TechB knowledge" (imported from other civs or cities if TechB research is possible but not completed) or "Research Field knowledge" (stocked or imported from other civs or cities) resources into research points for TechB (multiple factors could handle how much of the knowledge resources could be converted each turn) would be possible in any cities with a library (or the capital without library). TechB research points could be also gained from "AppB knowledge" if TechB and AppB are linked and AppB research is already completed in that city.

    Creation and convertion of "AppA knowledge/tablet/scroll/book" would be possible in any cities with a library (or the capital without library)

    "AppA knowledge" is created in cities that have researched "AppA" and are still gaining research points for that Apps (from research events)

    "AppA" research points could be gained from "AppA knowledge", but also from "TechA knowledge" (if AppA and TechA are linked)
     
    Last edited: Jan 30, 2019
    Knasp likes this.
  13. Knasp

    Knasp Warlord

    Joined:
    Sep 10, 2011
    Messages:
    266
    Let me see if I understand your description by restating it differently and you can tell me if it sounds about right:

    All creation and converting of Knowledge resources require Palace or Library.

    1. Researching Tech_A yields Tech_A_Knowledge.
    2. Tech_A_Knowledge is exported to friendly Civs
    3. When you get points for a research field in which the techs can't accept any more Contribution, the excess points are converted to Researchfield_Knowledge.
    4. When you import knowledge for a tech you don't have researched, or relevant research field, it is converted to research points.

    Apps (Assuming tech and app are linked):

    1. If city has App_A then it yields App_A_Knowledge and possibly Tech_A_Knowledge
    2. If city has App_A but the Civ hasn't completed Tech_A, then App_A_Knowledge would be used directly for researching Tech_A.
    3. App_A could be researched in a City using either imported App- or Tech_A_knowledge
     
    Last edited: Feb 1, 2019
  14. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    Thanks, that's it.

    Once researched, yes (but not while researching else the city would use the resource to gain more points the next turn)

    Yes, but even if I've included it in my description, I'm still unsure if we should allow import/export of Research field knowledge.

    Same here, not sure of the final mechanism, that's where we need to define the maintenance cost and decay methods for applications.
     
    Last edited: Feb 3, 2019
  15. BackseatTyrant

    BackseatTyrant Queer Anarchotranshumanist

    Joined:
    Jul 10, 2013
    Messages:
    251
    Is this mod available/functional yet? Is it GS compatible?
     
  16. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    Not yet, I'll work on that after next YnAMP update.
     
  17. Gedemon

    Gedemon Modder Super Moderator

    Joined:
    Oct 4, 2004
    Messages:
    9,569
    Location:
    France
    While I'm having a better vision of the code/design, I'm pondering to change the way we'll handle the basic "knowledge" resource types.

    ATM the design is to have the same mechanism for it than other "science resources" like tablets/scrolls/books, ie converting research points into/from all of them, with different ratio and decay rates.

    Now I'm proposing to make it a mandatory intermediate resource:

    At the beginning of a turn, all your research points are added to the corresponding knowledge resource type. This is a "human resource", we could cap it based on the total population in a city, that city working specialization and its literacy value (based on social stratification for the initial implementation, pondered by other parameters later)

    Then based on that pool (and the literacy value, the buildings, the policies, ...), generate either directly research points for techs/apps or "store" the knowledge into tablets/scrolls/books if available.

    The knowledge resources would have a very high decay rate relatively to the other science resources, which would be also pondered by the mortality rate of the city the resource is "housed" in.

    Using a simple ratio value, it would also allow it to spread from city to city migration, while the other resources are dependent of trade routes level currently based on diplomatic relations.
     

Share This Page