Author Topic: SMACX Thinker Mod  (Read 168206 times)

0 Members and 1 Guest are viewing this topic.

Offline Induktio

Re: SMACX Thinker Mod
« Reply #405 on: November 24, 2019, 07:20:04 PM »
Hmm ok. One of the main things to note here is that modifying reactor hit point values was already mentioned in Details.md, in the sense that those values are hardcoded in so many places in the game binary I would seriously discourage anyone from attempting to patch them.

Other than that, if you want to keep adjusting this mod further, it's possible to later squash the items to one commit and merge it to the main branch. But there's a couple of style issues in the code I would adjust to keep it consistent with Thinker. Also I think these changes are extensive enough that they should be opt-in from the config file and a separate alphax.txt could be shipped for them. It's just that Thinker generally tries to avoid changing game mechanic formulas.

Re: SMACX Thinker Mod
« Reply #406 on: November 30, 2019, 10:45:01 PM »
Something is going on with prototype cost when you use ability. I don't know if it is your code or remnant of something Yitzi did but it does not add up. I tried freshly installed Thinker 0.7.

560 * 1.5 = 840 and not 750 as on the picture.

Re: SMACX Thinker Mod
« Reply #407 on: December 06, 2019, 01:23:52 AM »
I am playing your mod with my text changes on top of it. Research pace feels much much faster than in vanilla. I doubt this is my changes as I am just rearranging things a little and actually increasing cost of formers and colonies. Yet I need to turn research speed down to 50% and even then I feel like everybody are exchanging technologies at incredible speed.
Did you notice anything like that in your mod? If so, how do you cope with it?

Re: SMACX Thinker Mod
« Reply #408 on: December 10, 2019, 01:47:52 AM »
What is your revised_tech_cost for? It doesn't seem to affect a sequence in which technologies are picked by AI. True that in this sequence higher leveled technologies will take somewhat longer to research. However, if you keep the total tech tree research cost the same then it also doesn't change research pace on large scale either.

Offline dino

Re: SMACX Thinker Mod
« Reply #409 on: December 10, 2019, 07:44:05 PM »
Maybe I shouldn't, but I'll try to answer for him.

It's supposed to remove the cheese of gaining an advantage, by avoiding to trade techs, in order to keep the cost of essential tech you are beelining toward low.
Also an annoynce of picking some currently unnecessary tech from a pod.

The other goal was to make late game techs cost rise much faster to keep up with the development speed of competent player/ improved AI and prolong the late game, without changing the pace of early game research much. It's the first time Induct0 dabbed into changing gameplay mechanics, since he improved AI enough for it to become even more noticeable problem, than in vanilla game. It's also the first attempt, you can play with the source and try to find a better balance.

Re: SMACX Thinker Mod
« Reply #410 on: December 10, 2019, 08:21:46 PM »
Maybe I shouldn't, but I'll try to answer for him.

You definitely should. That is why I posted it on a forum to solicit opinions.
:D

It's supposed to remove the cheese of gaining an advantage, by avoiding to trade techs, in order to keep the cost of essential tech you are beelining toward low.

Sorry, I do not follow.
What is "remove the cheese of gaining an advantage"? Isn't the advantage what everyone wants? Why remove the cheese? Why do we want to avoid trading techs?
How does it keep the cost of essential tech you are beelining toward low when it penalizes higher level techs??? I think it does the opposite and keeps the cost of lowest techs low = penalizes beelining.

Also an annoynce of picking some currently unnecessary tech from a pod.

I may have gap in my knowledge but I am unaware of how pod tech selection relates to researched cost. The pod tech has no any research cost associated with it - you get it for free.

The other goal was to make late game techs cost rise much faster to keep up with the development speed of competent player/ improved AI and prolong the late game, without changing the pace of early game research much. It's the first time Induct0 dabbed into changing gameplay mechanics, since he improved AI enough for it to become even more noticeable problem, than in vanilla game. It's also the first attempt, you can play with the source and try to find a better balance.

I am explaining exactly this thing in my post that you are replayed to.
Mere reassigning existing research cost from higher level techs to lower level techs does not change research pace as long as it maintains same total research cost and same acceleration rate as in vanilla. It doesn't even alter research pace on average in each historical period. Everything it does is generating local research cost fluctuations depending on whether you pick slightly higher level or slightly lower level tech for current research. The average cost of researching 10 technologies stays the same.

Now. Please don't engage into exact math proving contest. I do not care if my math above is exact but it is somewhere in the ballpark. I would discourage any change that fails to deliver a clear an unambiguous understanding for all players. Even those with basic math level. The feature we are currently discussing is not.

Re: SMACX Thinker Mod
« Reply #411 on: December 10, 2019, 09:02:56 PM »
I agree with the problem statement. Yes, it is quite noticeable that early game research rate stays somewhere at 20 turns/tech after you pick few very cheap initial technologies. Middle game pace varies in range of 4-10 turns/tech. Whereas very late game gives 2-3 techs a turn!

I do not agree that beelining is a problem and should be penalized. However, this is completely different statement and should be discussed and fixed separately if at all.

Obviously, research rate doesn't match the contemporary civilization research power. By itself it does not break the game as it applies fro all factions equally. However, it is inconvenient from strategy planning point of view. Waiting 20 turns for tech to research is as frustrating as getting a rain of them. Either extreme defeats the feeling of research direction control.

Logically the fix is straightforward. Match the rate that is currently unmatched. One way to do it is to make growth more exponential looking: slower in the beginning, much faster at the end.

Current game formula is very convoluted. It is more convoluted by using different formula elements for human and AI.
http://alphacentauri2.info/wiki/Technology_Cost
http://alphacentauri2.info/index.php?topic=3505.0

For starter I don't see a point in "add 1 for factions with a natural penalty to research, or subtract 1 for factions with a natural bonus to research" step. There is already RESEARCH SE scale that does this. No need for additional hidden value.

Then the "Modify by WORLDSIZE" notorious problem. The world size does not scale your civilization. It limits it. So it should put more cost on latest technologies when you are utilizing whole map surface but it shouldn't affect initial research cost when your civilization is as small as on any other map size.

What is "faction tech cost modifier"? Never heard of such.

Prevalent factors are number of techs faction researched already plus small discount if faction is behind. It seems that linear dependency on TECHS is the root of evil here. It does block research quickly at the beginning and doesn't block them enough at the end. Game designer overlooked obvious exponential empire growth. It is actually double exponential: both in number of bases and base sizes dimensions but whatever.
I'd suggest to replace it with exponential growth formula. Say each following tech is 7% more expensive. That doubles the cost every 10 techs and increases ~400 times for the last tech. Giving that you starts with 4 working squares (2 bases * 2 square) and end up with 400 working squares (40 bases * 10 squares) * 3 for improved terraforming and facilities * 2 for multiplying facilities = 2400 / 4 = 600 times bigger research contribution. That seems like a match.
Of course, it takes few tweaks like bonuses for those fell behind, etc. However, I don't want to add obscure bonuses for AI vs. human - AI is already very nicely tuned by growth and production multipliers.

Offline dino

Re: SMACX Thinker Mod
« Reply #412 on: December 10, 2019, 09:34:30 PM »
In vanilla game the tech cost is based on the number of techs known, so you avoid trading the techs until you get the essential ones you need, so you keep the research cost low and can get these essential techs much faster, than AI which can't purposefully avoid trading could. The new formula makes tech cost static (except for first 10 techs, due to early game balance issues ). So gaining a new tech from trade, or any other mean is never a disadvantage. It's also the way it works in later Civ games, it's more realistic for sure, whether realistic is better is another question. On one hand it prevents mentioned cheese/exploit and has more versimilitude to it, on the other it penalizes beelining deep into the tree, limiting viable player options.

In a discussion before this feature was implemented, the main stated goal of the feature was to make late game techs much more expensive than vanilla, to keep up with exponential growth of energy income of competent player, or improved AI, while not fundamentally changing the pace of early and mid game research.

Now, I've never analysed the new formula mathematicaly and played only some early games with it.
From what you are saying, it seems that Inducti0 in the first revision of the feature, implemented only static, tech tree level based cost, while keeping the general cost curve close to vanilla.
He probably was going to play with the tech cost curve itself in the next release, but was distracted with his other projects, or work and didn't get around doing it.
Last time he talked about the feature in this thread, he asked for a feedback and shared how he thinks the curve should be adjusted.

Since the feature is implemented and we have the source code, anyone can play with it and try to find a satysfying solution.
You could even get rid of the static tree level based cost and only change the cost curve if you wanted.

> What is "faction tech cost modifier"? Never heard of such.

I think it's a trait you can give a faction in the editor/ txt file, none of the vanilla factions uses it, there are few more functional, but unused by vanilla factions traits.
« Last Edit: December 10, 2019, 09:55:02 PM by dino »

Offline dino

Re: SMACX Thinker Mod
« Reply #413 on: December 10, 2019, 09:46:10 PM »
I agree that this feature is not in a satysfying state and I agree with your complaints about it's current state.
I thought you could be the right person to make it work, this is why I mentioned it in the other thread.

Re: SMACX Thinker Mod
« Reply #414 on: December 11, 2019, 12:11:15 AM »
Good point about trading hold off exploit. I agree setting fixed price for each tech would solve it and makes it easy for everybody.

So we have two fixes:
1. Fix technology cost.
2. Adjust cost growth to match economical progress.

#1 Can be done arbitrarily. It doesn't much matter as long as they are reflecting how far the technology down the tree. Level based is a simplest and most visual idea.
#2 I think exponential approach is the easiest. It does fix both initial technologies and late game ones. We just need two parameters: initial cost and multiplier.

Inductio already started working on it. I don't want to tamper with it until he finishes. He may be in the middle of it. Then I can see if I can tweak his parameters.

Re: SMACX Thinker Mod
« Reply #415 on: December 11, 2019, 01:52:33 AM »
Here is the sample tech cost graph assuming everything goes smoothly: 400 turns for 85 techs, everybody has same number of techs, etc. It varies very slightly with parameters but mostly stay the same. Apparently it is practically linear, which is exceptionally incorrect design for 4X game.
« Last Edit: December 11, 2019, 02:14:21 AM by tnevolin »

Re: SMACX Thinker Mod
« Reply #416 on: December 11, 2019, 02:11:57 AM »
And here is the simulation of what happens when labs grow exponentially, research cost as in previous post and all research got discovered by 270 turn something. I don't think the exact year matters it is just an illustration how vanilla research cost formula deals with exponential labs growth.

Clearly there is a plateau in first third of the game and surge in the last.

----------------------------

Below are slightly more accurate simulation. Standard map. This time I assume sigmoidal number of bases growth from 2 to 15 in the turn 150 and then to 30 in turn 300. Average number of worked tiles per base grows from 2 to 10 in a turn 300 linearly. Average labs yield per tile grows from 0.5 (1 energy per tile * 50% allocation) to ~9 in turn 300 (4 energy/tile * 50% allocation * 3.5 multiplier * some RESEARCH bonuses).

It is more linear. Still the first third slowness is there.

----------------------------

However, keep in mind these are some math simulation only. Could be far off the real game. For example, the labs growth in the very beginning when you only explore, don't have third base yet and don't have Ecological Engineering is practically zero.
« Last Edit: December 11, 2019, 03:56:43 AM by tnevolin »

Re: SMACX Thinker Mod
« Reply #417 on: December 12, 2019, 07:17:08 PM »
I agree that this feature is not in a satysfying state and I agree with your complaints about it's current state.
I thought you could be the right person to make it work, this is why I mentioned it in the other thread.


First of all, see my elaboration of tech cost here http://alphacentauri2.info/index.php?topic=21359.msg122661#msg122661.

About forcing blind research engine to pick lower level techs first. I don't think it is even a problem. What's wrong with getting better tech by all means possible? If you are so afraid to give up advanced technologies then just forbid it on engine level and be done with it. Of course, this would kill a strategical research element of the game but now everybody are equal - complete balance.
:)

For AI to miss an important low level techs in blind research is another question. I agree this is an AI related problem. However, it is there not because higher level techs are better but merely because blind research is presented with multiple opportunities and not always pick the best choice. That is extremely easy to fix. Just give best technologies best weights (in all domains) and be done with it. Now when such technology appears it'll be chosen automatically by blind research engine. That is what weights are for.
In my mod I did exactly same and then emulated random research progress to assure best technologies are selected first.

Offline Induktio

Re: SMACX Thinker Mod
« Reply #418 on: December 12, 2019, 08:05:15 PM »
Thinker version 1.0 is now available from downloads. Releasing this version was important to update the documentation to keep up with the changes in develop builds. Here's the changelog since the last release:

* SMAC in SMACX mod files are now included with Thinker by default (can be enabled with smac_only=1)
* Removed smac_only dependency for ac_mod/labels.txt (redundant file for the mod)
* Factions with positive Planet rating will build less boreholes than the average
* Adjust tech_balance feature to also prioritize probe team prerequisite tech
* AI should relocate lost HQs faster than previously
* New option: revised_tech_cost provides an extensive overhaul for the research cost mechanics. More info in Details.md.
* New option: expansion_factor limits how many bases the AI will attempt to build before stopping expansion entirely
* New option: limit_project_start determines how soon the AIs are allowed to start secret projects
* Fix issue where AI sometimes ignored undefended enemy bases when it had the chance to capture them

I don't currently have much plans to keep on adding more features on this mod. Of course, tnevolin is welcome to keep on developing his fork of this mod. I don't know if I can merge all of that stuff though if it changes game mechanics in a really extensive way and does not have configuration options. But maintaining a separate fork should not be problematic at all if the upstream release is mostly static.

Re: SMACX Thinker Mod
« Reply #419 on: December 12, 2019, 08:11:10 PM »
* Factions with positive Planet rating will build less boreholes than the average

AI factions?
Do you count current PLANET rating = innate + SE? If so, does it mean when faction chooses specific SM to increase their PLANET rating it actually program itself to build less boreholes?

Stupid question.
How does this improve this specific faction AI? Isn't it a drawback?

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

The genetic code does not, and cannot, specify the nature and position of every capillary in the body or every neuron in the brain. What it can do is describe the underlying fractal pattern which creates them.
~Academician Prokhor Zakharov 'Nonlinear Genetics'

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 37.

[Show Queries]