Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjusting the tech tree #225

Merged
merged 20 commits into from Jun 22, 2020
Merged

Conversation

LynxAbraxas
Copy link
Contributor

PR relating to #129 (and #190), trying to reoder some dependencies of the advance graph (tech tree) in order to have more advances between theocracy and fascism such that the AI longer stays with theocracy where clerics and televangelist can be built, which represent a very interesting game concept that currently is cut very short.

@LynxAbraxas
Copy link
Contributor Author

@MartinGuehmann should fascism even be made dependent on explosives or mass-media such that it is more likely that the AI comes up with televangelists or should televangelists be made available earlier?

@LynxAbraxas
Copy link
Contributor Author

And in regard to #129 (comment), should the default strategy have thocracy on top to further increase the chance for many clerics/televangelists?

@MartinGuehmann
Copy link
Collaborator

@MartinGuehmann should fascism even be made dependent on explosives or mass-media such that it is more likely that the AI comes up with televangelists or should televangelists be made available earlier?

That doesn't really make sense, because the AI would then switch to another government that offers more cities.

The alternative would be to put the televangelists into later government.

@MartinGuehmann
Copy link
Collaborator

And in regard to #129 (comment), should the default strategy have thocracy on top to further increase the chance for many clerics/televangelists?

No, because the AIs don't use the default strategy. The default strategy is just a fallback strategy. The AIs use :

STRATEGY_MILITARIST_DEFAULT
STRATEGY_DIPLOMATIC_DEFAULT
STRATEGY_ECONOMIC_DEFAULT
STRATEGY_SCIENTIST_DEFAULT
STRATEGY_ECOTOPIAN_DEFAULT

And those have different orders of government.

@LynxAbraxas
Copy link
Contributor Author

The alternative would be to put the televangelists into later government.

Yes, something like an modern form of theocracy. Would it be tricky to introduce an additional goverment or would it be better to adjust an existing one?

@MartinGuehmann
Copy link
Collaborator

The alternative would be to put the televangelists into later government.

Yes, something like an modern form of theocracy. Would it be tricky to introduce an additional goverment or would it be better to adjust an existing one?

I don't think so, we could just add it to the end to the database, or put it even in between. The in between solution might be a bit problematic since we shift the database indices, which might be saved in the games. However, I would expect that the game would handle the index shift.

Alternatively, we could put them into Democracy, since televangelists are a US-American phenomenon. Actually, as far as I know you can also find them in South America.

@LynxAbraxas
Copy link
Contributor Author

Hm, or, even though not related to reality/history, into communism which so far suffers from interest in ctp2 due to its settings.

@LynxAbraxas
Copy link
Contributor Author

9d3ea46 such that "advanced undersea mines" are available before "undersea mega mines" as currently:
ss_2019-12-08_23:25:03

@MartinGuehmann MartinGuehmann changed the title WIP: Adjusting advance graph WIP: Adjusting tech tree Jan 19, 2020
@MartinGuehmann MartinGuehmann changed the title WIP: Adjusting tech tree WIP: Adjusting the tech tree Jan 19, 2020
@MartinGuehmann
Copy link
Collaborator

9d3ea46 such that "advanced undersea mines" are available before "undersea mega mines" as currently:
ss_2019-12-08_23:25:03

That's a bit odd, but you can change what the advances enable. I also renamed this PR, because advance graph would only apply in this context to the poster, even so you are right that in computer science it is not a tree, but just a graph.

@LynxAbraxas
Copy link
Contributor Author

Have now a game where at least one of the AI civs chose Theocracy:
ss_2020-01-28_21:10:53
Let's see if it turns up with Clerics and uses them properly.

@LynxAbraxas
Copy link
Contributor Author

Even though there are now 2 civs who chose Theocracy neither of them has built Clerics for many turns (>40)

ss_2020-02-10_22:34:19
ss_2020-02-10_22:35:12

even though they seem to be able to built them.
So the problem might not only be the time they stay in Theocracy but possibly also some setting that prevents AIs in Theocracy to choose to built Clerics.
@MartinGuehmann any idea? While I tested some turns with #190 the AI came up with Televangelists (and used them all right), but none of them was in Theocracy.

@LynxAbraxas
Copy link
Contributor Author

Tested also with #190 before Televangelists can be built. Clerics are built by the AI and used all right, but apparently not if the AI is in Theocracy. So far I could not find any setting that would prevent the building of Clerics for AIs in Theocracy, but in any case that would not be part of this PR but perhaps rather of #190.

@LynxAbraxas
Copy link
Contributor Author

e1d5787 is reverted because it is difficult to propagate the changes back. However the reduced graph from GV's tred is helpful in case other tech tree modifications are done in future. An advance can only depend on 2 advances, with tred unnecessary direct dependencies are removed, making space for additional other possible dependencies (that are not implied).

@LynxAbraxas LynxAbraxas changed the title WIP: Adjusting the tech tree Adjusting the tech tree Mar 8, 2020
@LynxAbraxas
Copy link
Contributor Author

@MartinGuehmann what do you think? Ready for merge?

@MartinGuehmann
Copy link
Collaborator

Could you still update the GreatLibrary.txt files? Shall I also merge in the Polish text files of #278 since you would also like to update those? Originally, I wanted to make sure that I have the same strings in these files before, I merge them in.

@LynxAbraxas
Copy link
Contributor Author

Could you still update the GreatLibrary.txt files?

In which way? The changed dependencies are already reflected in the in-game views of the tech tree.

Shall I also merge in the Polish text files of #278 since you would also like to update those?

No, better someone with knowledge of Polish should do that in the scope of #278;-)

@MartinGuehmann
Copy link
Collaborator

MartinGuehmann commented Mar 29, 2020

Could you still update the GreatLibrary.txt files?

In which way? The changed dependencies are already reflected in the in-game views of the tech tree.

That is not the only place where that matters. All these advances have the Requires fields:

[ADVANCE_ADVANCED_COMPOSITES_PREREQ]
Requires:
<L:DATABASE_ADVANCES,ADVANCE_CONSERVATION>Conservation
<L:DATABASE_ADVANCES,ADVANCE_SUPERSONIC_FLIGHT>Supersonic Flight
[END]

Shall I also merge in the Polish text files of #278 since you would also like to update those?

No, better someone with knowledge of Polish should do that in the scope of #278;-)

That's just moving around some entries, so why would yo need to understand any Polish for that?

… Advance.txt:

find ctp2_data/ -name Great_Library.txt -exec bin/prereqAdv.sh {} \;
…s technologies are more likely to come in order
does remove quite a few unnecessary/implied dependencies
resulting layout is simpler but has a top-left drift
…ks but removals are very hard to propagate back to Advance.txt, which is used by the game

This reverts commit cebb6c179548b66cf6c67bfbf0f4dfefde5fda7d.
…ned in Advance.txt:

find ctp2_data/ -name Great_Library.txt -exec bin/prereqAdv.sh {} \;
@LynxAbraxas
Copy link
Contributor Author

Could you still update the GreatLibrary.txt files?

In which way? The changed dependencies are already reflected in the in-game views of the tech tree.

That is not the only place where that matters. All these advances have the Requires fields:

[ADVANCE_ADVANCED_COMPOSITES_PREREQ]
Requires:
<L:DATABASE_ADVANCES,ADVANCE_CONSERVATION>Conservation
<L:DATABASE_ADVANCES,ADVANCE_SUPERSONIC_FLIGHT>Supersonic Flight
[END]

OK, so now 8220f95 contains the automatically determined advance prerequisites as defined in Advance.txt and fdcc0cc reflects the changes made in the dependencies.
Similar to #321 (comment) this also contains the changes for awk to work properly (f675a2d, c3be288, e8881e4), which needs to be tested if that has any negative effect on windows. @MartinGuehmann could you do that? Otherwise ready for merging?

@MartinGuehmann
Copy link
Collaborator

The line endings don't seem to change anything on Windows. So this can go in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants