Opened 3 years ago

Last modified 16 months ago

#6364 new enhancement

Allow multiple researchers to research one technology.

Reported by: Freagarach Owned by:
Priority: Nice to Have Milestone: Backlog
Component: Simulation Keywords:
Cc: Patch:

Description

Allow multiple researchers to help researching one technology (with diminishing returns perhaps).

Why: This allows for more depth in the game.

How: Storing a technology object in TechnologyManager's (TM) with:

  • Total technology points (TP) needed for the tech.
  • Current TP invested in the tech.
  • Researchers.
  • Maximum amount of researchers

Having a Researcher (refs. #6363) with a TP/time that does work in the TM.

One can let the techs be persistent, so that even when the last researcher has stopped, the progress is still saved.

Caveats: How to handle (re)funding? Every researcher pays the same amount? But how to handle stopping one researcher when work has been done?

  • Funding: E.g. a percentage of the total has to be paid. If the tech is already 40% compleat, a new researcher pays only 60%.
  • Refunding: E.g. on every update a part (relative to the TP used) of the resources is 'consumed', i.e. removed from the item. What is left is refunded on stop.

Change History (6)

comment:1 by Freagarach, 2 years ago

I'm working on step one: Splitting the research part from the ProductionQueue to a separate Researcher component.

Version 0, edited 2 years ago by Freagarach (next)

comment:2 by Freagarach, 2 years ago

In 26000:

Split tasks from ProductionQueue.

The task of the production queue should first and foremost be that; a queue for production items.
Hence, the specifics of training/researching are delegated to specific components.

As a side effect, this improves the test coverage and fixes:

  • Resource not refunding when hitting the entity limit. Introduced in r25753 / rP25753.
  • Autoqueue changing when unable to spawn. Introduced in r25779 / rP25779.

Modders can change their templates using https://code.wildfiregames.com/P256.

Differential revision: https://code.wildfiregames.com/D4333
Fixes: #6363
Comments by: @Silier
Refs. #6364

comment:3 by Freagarach, 2 years ago

Step two: handling all tech stuff in the technologymanager: Phab:D4438.

comment:4 by Freagarach, 2 years ago

In [26252]:

Handle researching technologies in the TechnologyManager.

Moves the work done from cmpResearcher to cmpTechnologyManager. No functional changes.

It allows fancy stuff in the future (#6364).

Differential revision: https://code.wildfiregames.com/D4438

comment:5 by Stan, 2 years ago

Milestone: Alpha 26Alpha 27

Unlikely to get done for A26

comment:6 by Freagarach, 16 months ago

Milestone: Alpha 27Backlog

Pushing back.

Note: See TracTickets for help on using tickets.