Optional Tech Dependency and Missing Techs

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Message
Author
User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Optional Tech Dependency and Missing Techs

#1 Post by Geoff the Medio »

A feature of the original Master of Orion is that techs may be missing from an empire's research screen. That is, the tech just can't be researched by that empire. This is admired by some because it forces players to play differently from game-to-game in order to work with the available set of techs, or to trade with other empires or invade their planets to get missing techs by conquest.

I'm pondering if FreeOrion should try to use a tech mechanism like this.

At present, it would be difficult due to the mandatory prerequisites for techs, which would make it difficult to remove anything as that would make everything that depended on it also unresearchable. So, I'm wonder instead if tech prerequisites could be made optional. Specifically, a tech could have several prerequisites, but an empire would need only one of the prereqs to research the tech. If an empire had multiple prereqs, there would probably be a reduced cost for the tech.

This rule might be modified slightly to deal with refinements, in that you'd need to have a base tech before a refinement of it could be researched, although those refinements could have other optional prereqs.

This rule might be modified slightly to deal with refinements, in that you'd need to have a base tech before a refinement of it could be researched, although those refinements could have other optional prereqs to make them cheaper.

This would make the player's path through the tech tree a lot more flexible, which might be interesting.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Optional Tech Dependency and Missing Techs

#2 Post by eleazar »

Geoff the Medio wrote:A feature of the original Master of Orion is that techs may be missing from an empire's research screen. That is, the tech just can't be researched by that empire. This is admired by some because it forces players to play differently from game-to-game in order to work with the available set of techs, or to trade with other empires or invade their planets to get missing techs by conquest.
I think that is a fine mechanic in theory, but could do more harm than good depending on how it is integrated with the rest of the tech system.
Geoff the Medio wrote:At present, it would be difficult due to the mandatory prerequisites for techs, which would make it difficult to remove anything as that would make everything that depended on it also unresearchable. So, I'm wonder instead if tech prerequisites could be made optional. Specifically, a tech could have several prerequisites, but an empire would need only one of the prereqs to research the tech. If an empire had multiple prereqs, there would probably be a reduced cost for the tech.
The current tree has a majority of techs with only one prerequisite. A major reason for this is that the tree display system doesn't do a good job laying things out, and multiple prerequisites tend to come from far apart (as measured in pixels) on the tree, so that it is very hard to how things connect. I predict that if every tech had two or three prereqs, the visual part of the tech tree would be virtually unusable.

In general-- even with theories much reduced, i think the experience of using the tree is too confusing. I'd like to see changes (mechanics or interface) that move it in the direction of greater simplicity and/or obviousness.

Much of this ground was covered in the first half of this thread, from a year ago.

My basic conclusion is that IMHO it is better to go all the way with MoO1&2 style columns (without MoO3 hidden branches or crosslinks), than to try to weld MoO column features onto a tree.
This conclusion is pretty much the same if the desired new feature is mutually exclusive tech choices (something BigJoe is keen on) rather than randomly disappearing techs.

EDIT:
For the practicability of the two options, i guess you have to estimate weather it would be easier to make a new columnar interface, or to make the tree arrange things in a much more optimal manner.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Optional Tech Dependency and Missing Techs

#3 Post by Geoff the Medio »

eleazar wrote:For the practicability of the two options, i guess you have to estimate weather it would be easier to make a new columnar interface, or to make the tree arrange things in a much more optimal manner.
Improving the automatic tree layout would probably be less work than making a whole new interface design. It also has the advantage that the actual decisions about how to do the layout are independent of the code that does the display of the layout, so it's probably easier for someone not familiar with the existing UI code to work on.

The layout certainly can be improved, given its tendency to have dependency lines make long detours completely unnecessarily.
Attachments
sub-optimal dependency line routing
sub-optimal dependency line routing
detour.png (29.22 KiB) Viewed 1695 times

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Optional Tech Dependency and Missing Techs

#4 Post by eleazar »

* Assuming we can make the tree display in a way to make all connections optimally apparent, I'm not so sure that after giving most techs two or three prerequisites that the overall tech tree would be easier to use. That's a lot of lines.

* Nor am i thrilled with the idea of developing along with a tech tree that has a lot more connections between the techs, though that's a lesser consideration.

* I'd be interested in an example of a game that used a tree, with randomly hidden techs that was considered successful (the tree, not the entire game).

* I assume certain techs will be able to be marked "necessary", so they won't randomly disappear?

* I assume that before randomly hiding a tech, the game would make sure that at least one prerequisite would be left for everything?

* Can the AI make good research decisions with an arbitrarily-connected tree?

* While many prereqs are fairly arbitrary, many are obvious and natural, and with more work, more prereqs can make sense. I expect if we need to have two or three prereqs per tech that most of the prereqs will be pretty arbitrary. A system of tech Levels to fall back on when there are no prereqs would probably be easier to understand. I.E. if you have researched a Level 5 Growth tech, you can then research any Level 6 Growth techs, with or without prereqs.

But then we are a good way towards the MoO columnar system, and you need to ask the question weather why the player should care about prereqs at all? Sure we can make it cheaper to research if you have the prereqs, but it is questionable weather this system has anything to offer over the pure columnar system except complexity.

Computer.Pers
Space Floater
Posts: 39
Joined: Wed Nov 07, 2012 7:14 am

Re: Optional Tech Dependency and Missing Techs

#5 Post by Computer.Pers »

eleazar wrote: But then we are a good way towards the MoO columnar system, and you need to ask the question weather why the player should care about prereqs at all? Sure we can make it cheaper to research if you have the prereqs, but it is questionable weather this system has anything to offer over the pure columnar system except complexity.
As for me researching goes too fast now. I think that prereqs is player problem and a part of strategy.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Optional Tech Dependency and Missing Techs

#6 Post by Geoff the Medio »

Computer.Pers wrote:researching goes too fast
That's likely a balancing issue, not a tree structure design flaw...

User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

Re: Optional Tech Dependency and Missing Techs

#7 Post by Sloth »

eleazar wrote: * I assume certain techs will be able to be marked "necessary", so they won't randomly disappear?
I think this is very important. For various reasons some techs should always be there (AI, balancing, realism,..).

To get things started i would mark some techs as "random" and only those techs would have a chance to be absent. This way the feature can be tested without the need to solve most of the mentioned problems now.
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

User avatar
Krikkitone
Creative Contributor
Posts: 1559
Joined: Sat Sep 13, 2003 6:52 pm

Re: Optional Tech Dependency and Missing Techs

#8 Post by Krikkitone »

eleazar wrote:* Assuming we can make the tree display in a way to make all connections optimally apparent, I'm not so sure that after giving most techs two or three prerequisites that the overall tech tree would be easier to use. That's a lot of lines.

* Nor am i thrilled with the idea of developing along with a tech tree that has a lot more connections between the techs, though that's a lesser consideration.

* I'd be interested in an example of a game that used a tree, with randomly hidden techs that was considered successful (the tree, not the entire game).

* I assume certain techs will be able to be marked "necessary", so they won't randomly disappear?

* I assume that before randomly hiding a tech, the game would make sure that at least one prerequisite would be left for everything?

* Can the AI make good research decisions with an arbitrarily-connected tree?

* While many prereqs are fairly arbitrary, many are obvious and natural, and with more work, more prereqs can make sense. I expect if we need to have two or three prereqs per tech that most of the prereqs will be pretty arbitrary. A system of tech Levels to fall back on when there are no prereqs would probably be easier to understand. I.E. if you have researched a Level 5 Growth tech, you can then research any Level 6 Growth techs, with or without prereqs.

But then we are a good way towards the MoO columnar system, and you need to ask the question weather why the player should care about prereqs at all? Sure we can make it cheaper to research if you have the prereqs, but it is questionable weather this system has anything to offer over the pure columnar system except complexity.

I think a columnar system with randomness could be good.
However, I think it would be more interesting if the options varied from game to game rather than just empire to empire... ie in one game No one can research Fusion beam I. In another there are no shields beyond the first level, etc.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Optional Tech Dependency and Missing Techs

#9 Post by Dilvish »

Hmm, some interesting stuff. Here's some thoughts on managing the tech tree visual complexity and also working in some of the "randomly removed" and similar capability.

Current Features that are either not-so-obvious or that have interesting and not-so-obvious nuances/potentials
  • * In the tech tree layout and associated navigation panel, Tech A is layed out as, and identified in the navigation panel as, unlocking tech B IFF tech B lists tech A as a prereq
  • * Tech A can currently instead unlock Tech B by listing tech B as an "unlockable item" Such does not affect the tech tree layout nor navigation panel, but does add a link in the 'Unlocks' segment of the Pedia entry. This unlocking works even if Tech B is internally marked as unreasearchable.
  • * In the tech tree window, the 'Unresearchable' button toggles the display of those techs that are not YET researchable due to prereqs, but are not actually internally marked as 'unresearchable'. The true 'unresearchable' techs, like "DEF_PLANET_CLOAK" (currently I think all the techs obtainable through ancient ruins are marked thus), are NEVER shown on the tech tree, even if they have been awarded.
  • * A tech not internally marked unresearchable is still displayed even if its sole prereq is hidden due to being internally marked unresearchable
Proposals
  • New Feature 1: An additional tech window button, named 'Barred' or somesuch, which toggles the display of such techs that are internally marked as unresearchable, or whose pre-req(s) all stem from paths passing through a tech internally marked as unresearchable.
  • This Allows: Tech tree visual complexity could then be simplified taking a mid-tier Tech B with one preReq, tech A, and then adding the already supported 'unresearchable' flag to the Tech B techs.txt entry, and adding the already supported "Unlock = Item type = Tech name = "Tech_B" to the Tech A techs.txt entry. Tech B would then still be unlockable by Tech A exactly as before, but it, and techs whose branches depend on it, would only be displayed if the 'Barred' button was active. It seems to me this would be especially handy if the tree portion after the internally 'unreasearchable' tech were all within the same tech category.
  • New Feature 2: (a possible implementation of what's previously proposed) In the tech parser, have an additional, optoinal, entry after the sport for researchable/unresearchable, which would be 'removable' and which would default to false/non-removable; this would also then get a slot in the Tech constructor. If a Tech were then selected for 'random' removal (or perhaps due to a triggered disaster, etc, it would simply be re-flagged internally 'unreasearchable', so that its not displayed in the Tech window unless the 'Barred' button was active, and would be blocked for that empire (or perhaps it applies to all empires in that game) unless...
  • Removal Could Be Softened By: Only designating a given Tech B as removable if they are also the target of an "unlocked items" entry of some other Tech A, selected so as to be a more expensive route than provided by the normal pre-req, but still giving the empire(s) a way to eventually unlock the tech.
  • Potential Dynamic Effects: Mutually exclusive tech paths could then be enabled by having a pair of Techs each with an Effect that re-flags the other one internally as 'unresearchable'. Such an Effect could also allow dynamic unresearchability to be tied to the presence or absence of a given building, or a disaster, empire size, espionage, etc.
** Edit** To enable empire-specific dynamic effects, the Tech internal 'unresearchable' flag could be overridable by an empire-level researchability map.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

Re: Optional Tech Dependency and Missing Techs

#10 Post by Sloth »

Dilvish wrote:
  • New Feature 2: (a possible implementation of what's previously proposed) In the tech parser, have an additional, optoinal, entry after the sport for researchable/unresearchable, which would be 'removable' and which would default to false/non-removable; this would also then get a slot in the Tech constructor. If a Tech were then selected for 'random' removal (or perhaps due to a triggered disaster, etc, it would simply be re-flagged internally 'unreasearchable', so that its not displayed in the Tech window unless the 'Barred' button was active, and would be blocked for that empire (or perhaps it applies to all empires in that game) unless...
I think this feature alone would add a lot of possibilities already, without needing any further code changes. It could only be used for techs that aren't required for other techs, but it would be start.

I would give the techs flagged as 'removable' a cool sounding name like 'secret techs", so for the player it looks like he is gaining something ("hey Ma' look - there's a secret tech in my tree i've never seen before") instead of being prohibited to do something normal ("Bug report: I can't research my favorite tech XY this game - this sucks").

Content that can be added this way:
- Species can be Creative (50% of all secret techs are unlocked), Normal (25%) or uncreative (10%).
- Species can unlock fixed secret techs (maybe even native species).
- Specials can unlock secret techs (which is much more balanced than giving a tech right away).

Positive gameplay effects:
- Replayability.
- More reason to explore (and get long term benefits).
- More reason to trade or spy techs.

Techs that are good examples of what could become secret techs:
Spatial Distortion Generator, Psychogenic Domination, Planetary Starlane Drive
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Optional Tech Dependency and Missing Techs

#11 Post by eleazar »

Trying to enforce mutually exclusive tech paths seems rather arbitrary and fragile. The player could just trade/steal on of the techs past the "barrier" tech. If those are forever forbidden, why?


If we stick with the tree, the best wrinkle to add IMHO is techs that are invisible/innaccessable unless a certain condition is met.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Optional Tech Dependency and Missing Techs

#12 Post by Geoff the Medio »

eleazar wrote:Trying to enforce mutually exclusive tech paths seems rather arbitrary and fragile. The player could just trade/steal on of the techs past the "barrier" tech.
The alternative to having techs that become unresearchable is to have the resulting content be only usable, or only practically usable, if no other mutually-exclusive content is being used. For example, production-boosting buildings reduce research, stargates don't work if subspace generators are produced, strategic resources can be used for producing only one building on a planet but multiple buildings require the resource to be produced...

User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

Re: Optional Tech Dependency and Missing Techs

#13 Post by Sloth »

eleazar wrote: If we stick with the tree, the best wrinkle to add IMHO is techs that are invisible/innaccessable unless a certain condition is met.
This is exactly what i proposed. Techs that have to be unlocked.

I think the things that have to be programmed (for us scripters to take over) is:
- Each empire needs a list of unlocked techs. This list starts empty at the start of the game.
- When a tech is flagged as 'removable' and not on the unlocked list of the empire it won't appear on the research screen.
- There has to be a script command that unlocks a tech for an empire.

The rest will be mostly scripting.
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Optional Tech Dependency and Missing Techs

#14 Post by Geoff the Medio »

An alternative to making some tech missing for some empires might be to make tech costs have a large random factor. For example, every tech for every empire could be independently assigned one of three cost modifiers at the start of a game: easy, normal, difficult. During that game for that empire, easy techs would be 1/2 normal cost and minimum research time, normal techs would be the defaults, and difficult techs would be 4 times larger for both. Certain techs might be marked as unmodifiable for various reasons. The numbers and distributions of the labelled techs would need to be balanced between empires, which is likely a nontrivial problem.

This prevents problems of techs being missing and making a whole list of dependencies completely unavailable, but might have much of the same consequences for strategy as randomly removing techs at each level in each category as in MOO.

That said, this would probably still work better if prerequisite were "OR" instead of "AND", and more techs had more prerequisites...

... or alternatively, if prerequisites were replaced with later techs being unlocked like ship parts, hulls, or buildings when a tech is researched. This would make it simpler / more obvious to have a tech (or other content) be unlocked by an in-game event as an alternative to research. One might normally have to research prereqs to unlock a tech, but could have it unlocked early by producing a building or interacting with a monster or colonizing at a special. Or, later techs would act as a backup in case something doesn't become available in the universe, to prevent major problems if a key resource is unavailable.

User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

Re: Optional Tech Dependency and Missing Techs

#15 Post by Sloth »

Geoff the Medio wrote:An alternative to making some tech missing for some empires might be to make tech costs have a large random factor. For example, every tech for every empire could be independently assigned one of three cost modifiers at the start of a game: easy, normal, difficult. During that game for that empire, easy techs would be 1/2 normal cost and minimum research time, normal techs would be the defaults, and difficult techs would be 4 times larger for both. Certain techs might be marked as unmodifiable for various reasons. The numbers and distributions of the labelled techs would need to be balanced between empires, which is likely a nontrivial problem.
I'm concerned that the additional info makes checking the tech tree at the start of a game more complicated for old and new players alike. Removal of techs on the other hand makes it easier (especially for new players).
Geoff the Medio wrote:That said, this would probably still work better if prerequisite were "OR" instead of "AND", and more techs had more prerequisites...
The number of techs available at most parts of the game is already too high. This change would make it worse.
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

Post Reply