Feedback Imperial Stockpile (Rev 4,5). Unlimited input Rulez

Describe your experience with the latest version of FreeOrion to help us improve it.

Moderator: Oberlus

Forum rules
Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
Message
Author
Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#31 Post by Ophiuchus »

Oberlus wrote:
Ophiuchus wrote:If we had the PP-into-stockpile-project in the build queue, we could always give the standard red warning if PP are added by excess.
Right now I really like this option. Regarding micromanagement, versatility and usability by FO 0.4.7- users I think this is the best option so far.
Even if "added by excess" here would mean "wasted" (so that all PPs not sunk into a project are actually wasted). But I prefer your initial idea, that looks like there is an invisible, lowest-priority IS-stockpiling project (ISP) always in the queue that triggers the warning sign when it is receiving PPs.
I guess the implementation would be like:
  • for the PP-into-stockpile-project, available supply-group-PP would be added to the imperial stockpile up to the amount specified (Question-A: what does it mean to specify higher amount?)
  • if after that supply-local PP are available, normal processing occurs (Question-B: are those build items allowed to pull from the stockpile or not?)
  • if all the supply-group's build queue projects are finished and there are still supply-local PP left, then these get transferred to the stockpile and the warning is shown
Regarding Question-A: What does it mean to specify higher amount of PP-into-stockpile-project than is supply-locally available?
  • The amount means: transfer up to this amount PP per turn. The number of repetition means: do this transfer for the specified number of turns
  • Or: Like a normal build item, it means: i want to spend the specified PP amount on that PP-into-stockpile-project, so transfer the PP to the stockpile when you are finished with the project batch, then consider repetitions
The soft limit "up to this amount" is probably more useful in real life. But of course the different semantics could confuse people. Id like the soft limit approach more.

Regarding Question-B: are build items with "lower priority" than a PP-into-stockpile-project allowed to pull from the stockpile or not?
  • Having a PP-into-stockpile-project in the build queue means: stop stockpile processing for items of the same supply-group lower in the queue. If id wanted those projects to use the stockpile, Id put them higher in the queue than the PP-into-stockpile-project
  • Or: Having a PP-into-stockpile-project higher up in the build queue than other projects means: next turn i want this amount of PP to be transferred to the stockpile rather than building the lower projects with local PP. It doesnt say anything about the stockpile use of this turn, so projects lower in the queue can still draw from the stockpile
The stop-processing version would help with micromanagement. The independent version is probably less confusing. With this one i dont have an opinion. Probably we should try out the independent version first.
Actually, I like this more. Setting stockpiling projects for every non-producing supply-groups looks like a very easy and negligible (micro-)task for non-stockpiling species that want to make some use of the IS. Stockpiling species that actually want to stockpile in many places can just ignore all this and let the ISP do the job (and the warning sing will often not show off because the IS input is not greater (enough) than output. Non-stockpiling species that just want to ignore IS can keep playing as always, watching for the IS sign when it appears (even if it only appears for 3x or bigger input to max. output ratio).
Yes, especially for the non-stockpiling species we probably still want a(t least simple) version of the traffic light (ignoring neglible transfer to the stockpile). I think also for a stockpiling species the warning could be helpful.

And also, if you dont care about the warning, you can also decide not to add the PP-into-stockpile-project to the supply groups.
Last edited by Ophiuchus on Tue Feb 20, 2018 3:33 pm, edited 1 time in total.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#32 Post by Ophiuchus »

If nobody steps up Id say Id implement the very simple traffic light version for the next iteration.

This would mean: show the production waste warning if PP more than 3 times the extraction limit is put into the stockpile.

@core-devs @dilvish @geoff...
Im not sure Im able to implement the PP-to-stockpile-project (had a look at the code and was clueless howto). Should i ask on github for help?
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

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

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#33 Post by Dilvish »

Ophiuchus wrote:Im not sure Im able to implement the PP-to-stockpile-project (had a look at the code and was clueless howto). Should i ask on github for help?
I think that the forums here are a better place for "How can I do X?" kinds of questions. The first think to do is to locate the current code for managing the display of the icon. I believe that would be in UI/MapWnd.cpp -- once you find that, look it over, and then start a new thread in the Programming forum with whatever more particular questions you might have.
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
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#34 Post by Oberlus »

Ophiuchus wrote:I guess the implementation would be like:
  • for the PP-into-stockpile-project, available supply-group-PP would be added to the imperial stockpile up to the amount specified (Question-A: what does it mean to specify higher amount?)
  • if after that supply-local PP are available, normal processing occurs (Question-B: are those build items allowed to pull from the stockpile or not?)
  • if all the supply-group's build queue projects are finished and there are still supply-local PP left, then these get transferred to the stockpile and the warning is shown
Regarding Question-A: What does it mean to specify higher amount of PP-into-stockpile-project than is supply-locally available?
  • The amount means: transfer up to this amount PP per turn. The number of repetition means: do this transfer for the specified number of turns
  • Or: Like a normal build item, it means: i want to spend the specified PP amount on that PP-into-stockpile-project, so transfer the PP to the stockpile when you are finished with the project batch, then consider repetitions
The soft limit "up to this amount" is probably more useful in real life. But of course the different semantics could confuse people. Id like the soft limit approach more.

Regarding Question-B: are build items with "lower priority" than a PP-into-stockpile-project allowed to pull from the stockpile or not?
  • Having a PP-into-stockpile-project in the build queue means: stop stockpile processing for items of the same supply-group lower in the queue. If id wanted those projects to use the stockpile, Id put them higher in the queue than the PP-into-stockpile-project
  • Or: Having a PP-into-stockpile-project higher up in the build queue than other projects means: next turn i want this amount of PP to be transferred to the stockpile rather than building the lower projects with local PP. It doesnt say anything about the stockpile use of this turn, so projects lower in the queue can still draw from the stockpile
The stop-processing version would help with micromanagement. The independent version is probably less confusing. With this one i dont have an opinion. Probably we should try out the independent version first.
I'm afraid I don't understand all you said here, particularly regarding the alternative answers you give for questions A and B. But I understand the questions, so here I go (with some rewording of the implementation you propose, to make sure we are on the same page):

Implementation:
- Add to the game an invisible (not shown in prod. queue), ubiquitous (not attached to a given supply group but to all of them), lowest priority (last to take effect) stockpiling project for each empire that puts into the IS all unspent PPs and that triggers the (ex-waste) warning icon as talked before.
- Add to the game manual stockpiling projects modded to specify a number of PPs and turns. The effect: each turn up to the specified number of PPs is added to the IS, the amount depending on the stockpiling project receiving enough PPs from its supply group.
This projects are equivalent to a regular production project in regards to where and when does it take PPs, or if it gets them at all, except that they should not take never any PP already stockpiled in the IS.
To specify the number of turns, I'd re-use the repetition drop-down menu, allowing for infinite repetitions.
To specify the number of PPs stocpiled per turn, I could re-use the Nx drop-down menu, the one used to stated number of units per batch, but it would be way better to allow manual typing of the number (unrestricted to the current 1x, 2x... 10x, 20x... 99x) and keep the mouse-wheel ability to increase and decrease numbers.

Q&A

Question-A: What does it mean to specify higher amount of PP-into-stockpile-project than is supply-locally available?
Nothing, or probably that you foresaw some other consuming project will be finished soon and you already know you will want the future extra PPs into IS once they are available.

Question-B: are build items with "lower priority" than a PP-into-stockpile-project allowed to pull from the stockpile or not?
Yes, no doubt. We already have a versatile mechanic to control who gets (and who doesn't) PPs from the supply group and the IS.
The order in the prod. queue determines who gets PPs, first from its supply group until depleted and then from the IS until depleted or max. output is reached.
To fine-tune this regarding the IS-drawing, we have the toggle (enabled by default, best choice).
Since it can't never make any sense to allow an stockpilling project to draw from the stockpile (wasted work that consumes a share of the IS outpot for nothing), the stockpiling projects should never draw from the IS (grey-out or remove the enable/disable toggle for them).

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#35 Post by Ophiuchus »

Oberlus wrote:I understand the questions, so here I go (with some rewording of the implementation you propose, to make sure we are on the same page):
...
Q&A

Question-A: What does it mean to specify higher amount of PP-into-stockpile-project than is supply-locally available?
Nothing, or probably that you foresaw some other consuming project will be finished soon and you already know you will want the future extra PPs into IS once they are available.
So in this case say you have locally 5 PP industry and 10PP max-industry. If you add at the top a 10PP and 3 repetitions PP-into-stockpile-project this means:
turn 1: 5PP is added to the project, i.e. the first repetition is halfway finished
turn 2: 6PP is added to the project, i.e. the first repetition is finished, the second repetition gets 1PP. 10PP get added to the stockpile
turn 3: 7PP is added to the project, i.e. the second repetition has 8PP.
turn 4: 8PP is added to the project, i.e. the second repetition is finished, third repetition has 6PP. 10PP get added to the stockpile
turn 5: 9PP is added to the project, i.e. the last repetition is finished. 10PP get added to the stockpile. 5PP go to the next lower project in the same supply group.

is that what you'd want?
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#36 Post by Oberlus »

Yes.
In case I want the lower priority projects to get more PPs I move itthem up the queue. Or I make the stockpiling project to be 5PP per turn.

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#37 Post by Oberlus »

The current implementation of the IS (yet without the stockpiling project for better control of the IS), with the old warning icon showing now when there is a great amount of PPs going into IS (which makes my life easier), is nicely playable. I guess once the stockpiling project is implemented and working properly, the IS stuff will be done?

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#38 Post by Ophiuchus »

Oberlus wrote:The current implementation of the IS (yet without the stockpiling project for better control of the IS), with the old warning icon showing now when there is a great amount of PPs going into IS (which makes my life easier), is nicely playable. I guess once the stockpiling project is implemented and working properly, the IS stuff will be done?
Stockpiling project is implemented and merged to master. If @Vezzra recovers I think he will put up new builds containing the stockpiling project.

As there was no one really voicing big concerns about the current design of the stockpile I think we are feature complete for releasing it. I think the concerns concerning Sly and Flux Bubble hull were addressed as well.

There are some things which should be addressed, mostly UI
  • code encyclopedia entry for stockpiling project in BuildDesignatorWnd
  • fix "Wasted Production" window in map - no negative waste amounts
  • add maximum stockpile use limit (probably to both of) "Production" and "Imperial Stockpile" in map window
  • find out usefullness of stockpiling tech and focus by playing Etty and Laenfa, maybe multiplayer
What then will follow is normal balancing of tech and Sly and bubble flux hull.

I'll add issues for the UI issues. Anyone aware of more loose threads regarding the imperial stockpile?

If thats all maybe we should start ramping down to the 0.4.8 release; right now there are 7 open "v0.4.8 (mandatory)" and 127 "v0.4.8 (optional)" issues on github.

edit: besides his many talents it seems Vezzra is able to read thoughts and put up new builds while i was writing this ... yaaaay
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#39 Post by Oberlus »

find out usefullness of stockpiling tech and focus by playing Etty and Laenfa, maybe multiplayer
Single-player; testing Laenfa, Trith, Human and Egassem; standard settings (150, disc, all-medium, maniacal, 6 AIs) plus random seed, two games for each species.

In every case my main strategy is always get fitst Nascent Artificial Intelligence, then Adaptive Automation, then Quantum Networking, then eat the world as well as the rest of the tech tree.

For Human an Egassem I keep playing as always and pay no attention to the IS mechanic. It seems natural, what gets in and out of the IS is mostly irrelevant and the attention (how much and why) I pay to it is almost the same than to the waste warning icon with the pre-IS mechanics.

For Laenfa I heavily rely on its native planetary stealth to expand unarmed for longer, and then either prolong that strategy with the bubble colonisers and IS mechanic (emulating Sly strategy) or get early lasser+grid robos and eat up one neightbour before turn 60. Nice. Easier than with non stealthy species because the AI doesn't cope well with it yet.

With Trith it's the Laenfa's second strategy: some stealthy, unarmed expansion until I start pumping out lasser+grid robos to conquer, depopulate and repopulate. So same use of the IS mechanics than with Human and Egassem (i.e. negligible). With Etty I guess it will be mostly like with Trith (without the camp-everywhere and less growth-techs focus).
Last edited by Oberlus on Fri Mar 09, 2018 6:46 pm, edited 1 time in total.

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

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#40 Post by Geoff the Medio »

Oberlus wrote:In every case my main strategy is always get fitst NA, then AA, then QN, then eat the world as well as the rest of the tech tree.

For Human an Egassem I keep playing as always and pay no attention to the IS mechanic.
Please avoid (over)use of such initialisms that not obvious to non-experts.

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#41 Post by Oberlus »

Right. Edited.

User avatar
Oberlus
Cosmic Dragon
Posts: 5715
Joined: Mon Apr 10, 2017 4:25 pm

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#42 Post by Oberlus »

I have the feeling that immediate availability of the IS is not right for non-stockpiling species. What do you think about making the IS mechanic unlocked by the first IS tech, and unlock that tech for good/great stockpiling species from start?

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

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#43 Post by Geoff the Medio »

That might be problematic in that it would require the player to spend some in-game resources to avoid a possible micromanagement issue.

Gault.Drakkor
Space Floater
Posts: 40
Joined: Sat Jul 01, 2017 4:54 am

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#44 Post by Gault.Drakkor »

I dislike the current interspecies academy.

It has double restrictions of species and minimum distance. Those separate would be OK. But together trying to put all 5 buildings up is a micro-management challenge. A brain teaser puzzle/ in game mini-game.

My proposed quick fix: chop the min-distance requirement.

Also how do starlane bore affect it? (link systems that were 6+ jumps apart)Looks like constructed interspecies academy are grandfathered in.
Chop min distance and complexity and potential confusion go away.

It might be tolerable with some UI support. Ie all buildings that have a min-separation have an icon at the system level (similar to fleet icons). Upon selection of icon the exclusion zone is highlighted.

But it strikes me as the real goal is: "This should cost X PP per Y systems". The more systems you have the more expensive this should be.
The min separation looks to be like a micro-management way of achieving that.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Feedback Imperial Stockpile (Rev 4,5). Unlimited input R

#45 Post by Vezzra »

Oberlus wrote:I have the feeling that immediate availability of the IS is not right for non-stockpiling species. What do you think about making the IS mechanic unlocked by the first IS tech, and unlock that tech for good/great stockpiling species from start?
That's actually exactly what I wanted to see. I always thought the immediate availability of the IS for all species has only been a stop-gap solution for testing purposes, and would be removed/replaced (with only stockpiling species having it from the start) to get the feature release ready.

All species having (even if just rudimentary) IS capability right from the start is something I definitely did not want...
Geoff the Medio wrote:That might be problematic in that it would require the player to spend some in-game resources to avoid a possible micromanagement issue.
How so?

Post Reply