Yes, but you can't use the tech and civic tree for that.The point as I see it is to limit "Developments" to represent only new ideas, and researching a "Development" would simply unlock a number of Applications ("Civics"/Projects).
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.Of course, 'Developments' could directly give the player access to new governments, maybe some social policies and other abstract effects. But (almost) all new Unit types, Refined resources, Improvements, Districts, Buildings, Wonders etc would require the additional step of researching the related Application, before they could be unlocked. This would allow us to have for several Military developments, but depending on which Application that you research in which City, the pursued application would block/limit other possible applications. Then you could have specialisation of Cities/Civs. Say for e.g. one City that goes for Archery application, while another focuses on Slingers/Javelineers, a third focuses on Hoplites and a fourth on Cavalry. You could have some applications in common between Cities, some would be easily shared and spread in your Civ, and yet other applications would remain a speciality of that particular City.
Application are their own entities in every proposed design, can you rephrase ?CIVICS
I feel that an additional layer is necessary to make the Development and Local/Global knowledge mechanics easier to keep track of and more manageable. I think we have to establish Applications as their own entity, because I believe that the research mechanics are possibly too complex.
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.Meaning that I find it difficult to work out how things (e.g. units/buildings) should become unlocked, especially when you consider the grouping of items and all the hundreds of ways to gain research points. Not to forget that we also need to decide which fields should add points to what, including max limits of contribution.
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 believe we could keep the interesting though complex research mechanics as long as we can separate the individual "items" further. I see a repurposed Civics-tree or Projects as two possible ways to accomplish this, which offer the Player choices that can be compared relatively straight-forward. If all the mechanics of development/applications/unlocking and so on work in a complicated manner that mostly happens behind the scenes, then it's hard for the player to overview the progress and make meaningful choices. I'm not saying that we must split up all individual items or add the additional layer of Applications, but only that I find it difficult to plan the tech/developments/applications without such a design.
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.PROJECTS
The 'need' contribution would be the 'needs' of the City that is working on the application, including the 'needs' in connected Cities. Couldn't a 'need' calculation be used to boost or slow the "production" of the Project? A City that is collecting a surplus of food (without rationing) shouldn't get a boost to any Project for developing entirely new means of Food production. But they could get a boost for working on a Project that aims to increase the profits/exports of the current Food production.
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 ?Promotions would be simplest, but if promotions can't be used to unlock new actions for the Units, then I guess the alternative would be to add a special builder unit that could replace the standard Builder. In the e.g. of the Rice farming, that special builder would have the ability to build a "Rice farm", that a default Builder doesn't. This would require a unique improvement for many resources, but how could we otherwise limit the possible unit actions? And how could we limit Units/Cities by their current Local knowledge, rather than Global knowledge?
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.