Dilvish wrote:It looks to me like the 'issues' portion [of making all tech prereqs be optional] has already been discussed fairly thoroughly...
I still don't understand what the argument is for why required-prerequisites are important to have. Vezzra asserts they are useful / important...
Vezzra wrote:Obviously the ability to make a certain, very special/very powerful tech harder to get. Or to grant access to certain special techs only to players who have researched a certain combination of other tech (lines).
But I don't remember seeing a clear discussion / example of when and why it would be very important to have required-prerequisites, rather than just any-of-prerequisites.
Dilvish wrote:[Besides (UI) simplicity over a mixed system] I don't think I've seen any other proposed advantage of the 'pure alternatives' system over the mixed system-- do you have any other advantages to advocate?
An advantage of a pure optional tech dependency system is that it encourages the creation of dependency webs that make having "unavailable" techs more possible and plentiful. If there is too much emphasis on strict required tech dependencies, then the potential for having optionally-available techs is substantially reduced without other specific effort towards supporting it... That said, even with strict dependencies, local branching arrangements could be set up, so that, for example, a tech might unlock 4 other techs, any one of which will unlock the following tech and any 3 of which could be removed from the tree without breaking overall connectivity. But having only optional prereqs would encourage setting up a wider variety of optional paths through the tech tree, so that unless there is a reason why required prereqs need to be used, it might be better to not use them at all.
Dilvish wrote:Tech A might unlock Building X, and the presence of Building X could be necessary to get the benefit from Tech B.
Not necessarily "the" benefit... Something to consider for future tech tree reworking is to consolidate multiple unlocks and effects from multiple separate techs into single multi-purpose techs, especially at the start of the game, to reduce the number of tech options at any one time (or equivalently reducing the breadth of the tree). A tech could give a bonus to a building unlocked from another tech. A tech could also unlock a building that has location requirements including the presence of another building, or a building could have location requirements for multiple other buildings all with their own distinct unlocking requirements.
Dilvish wrote:As for displaying things, it seems to me that it would probably work out just fine if the primary graphical distinction were solid lines versus dotted (or dashed) connecting lines, indicating an AND-type unlocking or an OR-type unlocking. If Tech A and Tech B are both needed to unlock Tech C, their connections to Tech C are solid. If it's that either Tech A or Tech B is needed to unlock Tech C, their connections to Tech C are dotted. This would even let you clearly show that Tech E can be unlocked by either (i) Tech A (dotted line), (ii) Tech B (dotted line) or (iii) the combination of Tech C and Tech D (solid lines).
I don't understand the bold part... It sounds like
- tech dependencies
- techsdepends.png (7.19 KiB) Viewed 5636 times
Which I think you mean would indicate that E requires (A or B or (C and D)). But I would have guessed that that would indicate that C and D are both required, while A and B give some benefit to researching E but are not required.
In terms of what to implement in the engine, I think it would make sense for techs to have arbitrary combinations of:
-Required prerequisites: these must be researched to be able to research the following tech
-Optional prerequisites: if there are no required prerequisites, at least one of these must be researched to research the following tech. if there are required prerequisites, researching these reduces the time/cost of the following tech
-Negative / Exclusion prerequisites: if any of these are researched, the following tech cannot be researched
I imagine exclusion prerequisites would be mostly used for pick-one-of arrangements, where tech A unlocks techs B-1, B-2, and B-3, but only one of the B techs can be researched. This would be interesting because it forces the player to choose just one option. Situations where a following tech could be already-researched and then made unresearchable by an exclusion prerequisite being researched could be a bit odd, but might have some use as well. Generally I'd think that forcing a choice between mutually exclusive options on a larger scale (ie. only one of these three whole branches of the tree) would be best done with a non-tech gameplay system, such as picking a government or social policy or idiology point allocations.
I'd like to avoid nesting unlock logic like And(A, Or(B, (C and D))). As noted elsewhere, if absolutely required for some reason, other techs can be added to create that sort of dependence out of simpler relationships.
It might be worth removing the "prerequisites" list from tech definitions, and instead do all the unlocking with an expanded "unlocks" list, which would allow the various types of tech unlocking (required, optional, exclusion) to be specified. Having two ways to unlock techs seems unnecessary, and we can't avoid having the unlock list for other things, so it might make sense to remove the prereqs list instead.