Research Progress and Decay

Research Progress and Decay; support/discussion/questions

Moderator: thunderchero

Post Reply
User avatar
Gowron
Code Master
Code Master
Posts: 304
Joined: Sat Apr 26, 2008 2:00 am
Location: 50° N, 11° E

Research Progress and Decay

Post by Gowron »

Very good work by The_Nighthawk , this information makes it possible to predict the behaviour of those science progress bars.

Btw, anybody seen The_Nighthawk lately? I did not see his name at the new forums yet :?


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
The_Nighthawk wrote:I've worked out the research like this:

Decay - I haven't worked a number out, but if you have progress and then stop funding a research area, it will decay by ~5% of what has been researched, based on your numbers. So 0.95^5 (turns) * 95% = 73%

As for researching, it seems that as you put RP into a project, it starts a 'snowball' effect where the research progress itself adds more RP's to the effort, so long as you continue putting RP's into the tech.

The specific numbers I don't know, but it works something like this. Research will add a percent of the current value of the research, up to the RP's you contribute on that turn, before bonuses. What that % bonus is, I don't know, but I have a feeling it's in the neighbourhood of 10-15%.

So say I have a 5000RP tech that I've researched 85% of, and I'm getting 400RP /turn. At 100% I would add 400 RP to the 4250 I've already researched, and you'd expect the bar to be at 93%. Instead, the project gets completed! Because the research itself contributed the other 350. It would have contributed perhaps up to 425 itself, but that's a guess. Also, it will only match the RP's you put in yourself (400 in this case).

Example 2: 60000 RP project is 85% complete. You're pulling in 4000 RP a turn, and have a 120% bonus to that tech. Where do you need to put your slider for the tech to research, but not waste a ton of RP's?

15% of 60k is 9000. You'd think 4000RP +120% is only 8800 and you won't get it, but you'd be wrong and waste a bunch of RP (not a lot, but enough). The project itself will match your contribution of RP, so you need to take 9000 and divide by 3.2 (1 for your contribution, 1 for the free contribution and 1.2 for the bonus). You get 2813, and set your slider to 71% (or 75% if you want to play it safe). You get to sink 1000+ RP into your next research and maybe pop it out a turn early.

There is a maximum that the research will match your contribution, and I don't know what it is, but trial and error lead me to believe it's around 10% of what you have researched already (5100 in the example above, well below the 2813 we end up contributing).

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


And a small remark by myself:

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

Also, a 1% allocation always seems to be sufficient to prevent any decay from happening.
So, as long as the slider is not set to zero, there's no research decay, even if your total research output is zero. Funny, isn't it? ^^
A discovery consists in seeing something everybody has seen and at the same time thinking something nobody has thought yet.
User avatar
The_Nighthawk
Lieutenant-Commander
Lieutenant-Commander
Posts: 149
Joined: Tue May 06, 2008 2:00 am
Location: Vancouver, BC Canada (GMT-8)
Contact:

Post by The_Nighthawk »

I'm here. :) I hadn't gotten around to re-registering yet, but I have dropped by a couple times since the site went back up.
Playing BoP whenever the wife allows!
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: Research Progress and Decay

Post by Spocks-cuddly-tribble »

Sub_4529F0 controls the research progress of empires.

The_Nighthawk wrote:Decay -(...) if you have progress and then stop funding a research area, it will decay by ~5% of what has been researched
Decay value is stored at 0x177328 default 0.05 (8 bytes)

The_Nighthawk wrote:As for researching, it seems that as you put RP into a project, it starts a 'snowball' effect where the research progress itself adds more RP's to the effort(...) up to the RP's you contribute on that turn, before bonuses.(...)
There is a maximum that the research will match your contribution(...) 10% of what you have researched already
Research bonus limit value is stored at 0x177330 default 0.1 (8 bytes)


The whole bonus concept isn't very useful, so I'd recommend an AI-only modification. :)
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1884
Joined: Sun Apr 27, 2008 2:00 am

Re: Research Progress and Decay

Post by Spocks-cuddly-tribble »

Gowron wrote:Also, a 1% allocation always seems to be sufficient to prevent any decay from happening.
So, as long as the slider is not set to zero, there's no research decay, even if your total research output is zero. Funny, isn't it? ^^
Yes indeed, at asm-452AE5 "bx" (% allocation) mistakenly gets tested instead of "edx" (actual research points for science area).

:arrow: Research Decay Bug-fix:

In trek.exe at 0x51EE5 change: 66 85 DB to -> 90 85 D2




Spocks-cuddly-tribble wrote:The whole bonus concept isn't very useful, so I'd recommend an AI-only modification.
This research progress bonus feature, albeit confusing, somewhat rebalances the counterparties due to the fact that empires with slower progress in specific science areas benefit more from it. Probably this goes also for the AIs (equipartition of %-allocations), so we leave it intact. :wink:





:arrow: Adding Custom AI Research Bonuses


In addition to a difficulty level bonus, this modification focuses on rebalancing AI research via race specific research bonuses in order to adjust AI vs. AI imbalances. So the AI problem children research-wise(e.g. vanilla cards & klingons) can be 'patched up' directly. :)


Following code provides the AI with a research bonus of 5% per difficulty level above 'simple':

Code: Select all

trek.exe at 0x51E14
replace: (104 bytes)
89 C3 8D 04 95 00 00 00 00 B9 E8 17 5B 00 01 D0 31 F6 C1 E0 02 66 89 DE 01 C1 8D 04 B5 00 00 00 00 29 F0 C1 E0 02 89 C6 C1 E0 03 8B 3D 50 18 5B 00 01 F0 01 C7 8D 04 D5 00 00 00 00 01 D0 C1 E0 02 01 D0 C1 E0 02 89 C2 C1 E0 02 29 D0 05 98 1A 5B 00 05 98 00 00 00 89 44 24 70 8B 40 14 89 44 24 6C 30 E4 89 4C 24 68
with:
6B F8 6C 03 3D 50 18 5B 00 6B C2 14 05 E8 17 5B 00 89 44 24 68 69 C2 BC 01 00 00 05 30 1B 5B 00 89 44 24 70 8B 40 14 8A CA B5 01 D2 E5 84 2D 28 2B 5A 00 75 2D 0F B6 9A EB 29 45 00 8A 15 44 2B 5A 00 4A 6B D2 05 03 DA 0F AF D8 8B CB 83 C1 03 C1 E9 02 03 D9 C1 E9 03 03 D9 83 C3 60 C1 EB 07 03 C3 89 44 24 6C 32 E4


452A14     6BF8 6C          IMUL EDI, EAX, 6C  // race research index * 108
452A17     033D 50185B00    ADD EDI, [5B1850]  // techInfo
452A1D     6BC2 14          IMUL EAX, EDX, 14h  // race Id * 20
452A20     05 E8175B00      ADD EAX, 5B17E8   // science assignations list
452A25     894424 68        MOV [ESP+68], EAX
452A29     69C2 BC010000    IMUL EAX, EDX, 1BC  // race Id * 444
452A2F     05 301B5B00      ADD EAX, 5B1B30   // empsInfo+98h
452A34     894424 70        MOV [ESP+70], EAX
452A38     8B40 14          MOV EAX, [EAX+14] // empsInfo+AC = research points total
452A3B     8ACA             MOV CL, DL // race Id
452A3D     B5 01            MOV CH, 1
452A3F     D2E5             SHL CH, CL
452A41     842D 282B5A00    TEST [5A2B28], CH   // if player...
452A47     75 2D            JNZ SHORT 452A76   // ...skip AI bonus
452A49     0FB69A EB294500  MOVZX EBX, BYTE [EDX+4529EB]  // AI race bonus
452A50     8A15 442B5A00    MOV DL, [5A2B44]   // difficulty level
452A56     4A               DEC EDX   // difficulty level -1
452A57     6BD2 05          IMUL EDX, EDX, 5   // (difficulty level -1) *5
452A5A     03DA             ADD EBX, EDX  // AI race bonus + (difficulty level -1)*5
452A5C     0FAFD8           IMUL EBX, EAX  // calculate AI research bonus...
452A5F     8BCB             MOV ECX, EBX
452A61     83C1 03          ADD ECX, 3
452A64     C1E9 02          SHR ECX, 2
452A67     03D9             ADD EBX, ECX
452A69     C1E9 03          SHR ECX, 3
452A6C     03D9             ADD EBX, ECX
452A6E     83C3 60          ADD EBX, 60h
452A71     C1EB 07          SHR EBX, 7
452A74     03C3             ADD EAX, EBX   // add AI research bonus
452A76     894424 6C        MOV [ESP+6C], EAX   // research points total
452A7A     32E4             XOR AH, AH
Bonus percentage per difficulty level above 'simple' is in trek.exe at 0x51E59 (default 5).


The custom AI race bonuses are at asm-4529EB: (movzx ebx, byte [4529EB+edx])

i.e. in trek.exe at 0x51DEB (default: 00 00 00 00 00) 1 byte unsigned! per race in ascending order: car/fed/fer/kli/rom

Example:

For 0x51DEB = (00 00 00 14 00) on 'Hard' the klingon AI gets a total bonus of 35% (20+3*5)

Note the AI bonus is applied to the total research points loaded from [empsInfo+AC] before any progress and/or building bonuses (so it should be quite effective). :)
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
EnPhreg
Lieutenant-Commander
Lieutenant-Commander
Posts: 130
Joined: Thu Jul 10, 2008 2:00 am

Re: Research Progress and Decay

Post by EnPhreg »

The_Nighthawk wrote:
As for researching, it seems that as you put RP into a project, it starts a 'snowball' effect where the research progress itself adds more RP's to the effort(...) up to the RP's you contribute on that turn, before bonuses.(...)
There is a maximum that the research will match your contribution(...) 10% of what you have researched already
Spocks-cuddly-tribble wrote: Wed Mar 09, 2011 11:13 am
Spocks-cuddly-tribble wrote:The whole bonus concept isn't very useful, so I'd recommend an AI-only modification.
This research progress bonus feature, albeit confusing, somewhat rebalances the counterparties due to the fact that empires with slower progress in specific science areas benefit more from it. Probably this goes also for the AIs (equipartition of %-allocations), so we leave it intact. :wink:
some info:
the bonus depends on the value of research points you actually invest in a tech field per turn and doubles them after some time.
the bonus affects only the research points and ignores any bonus given by special department bonuses (like vulcan academy or sheliak bio center give).
but bonuses that already given local at a system (moral, tech, local research bonus) are affected.

Research bonus limit value is stored at 0x177330 default 0.1 (8 bytes)
this bonus value determines how fast you will reach the maximum bonus: 0.1 means it will need ten turns to reach max value 100%.
each turn 10% are given additional to your per turn invested amount of points until the 100% max is reached.
if you choose 0.2, it will take 5 turns.

so indeed, the longer you need to research a tech field, the more you will benefit from this bonus.
Post Reply

Return to “Research Progress and Decay”