Page 1 of 1

Producing Colony Ship Bug

Posted: Tue Nov 22, 2016 9:05 am
by zarquan
Hello. I like the more realistic cost of population for a colony ship. Unfortunately, this has resulted in a bug. I quite often dump my production points in colony, outpost, and troop ships if I am waiting for my next military tech. In version 0.4.5, this was fine. However, in 0.4.6, this was a problem. Before I realized colony ships costed population, I placed a job for 10x cryocolony ships to be built on a planet with 26 population. It seems to build fine, but it hung at 0.01 pp left. I know now that I shouldn't have done that, but there was no indication other than a thorough reading of the rules or experimentation that could have let me know before I dumped all those resources on colony ships.

Is this feature intended to stop someone from mass producing colony ships?

I don't like stating a problem without having some idea of how to fix it, so here are my thoughts.

Judging from what I've seen this would not be an easy thing to fix.
My thinking is that the population cost could be gradual rather than all at once at the end. It is a bit unrealistic and cold blooded if you cancel a colony ship if the population is not restored, but it would be a fix.

I was also thinking it would be nice (in this case and in general) to be able to split a job in to pieces. If I am ordering 10 colony ships in one job, it would be nice to split it in to two jobs that are each making 5 colony ships. This would good if you had a large military job (building warships) and you were attacked and needed some of those ships sooner but didn't want to lose the progress on the other ships.

I am running FreeOrion v0.4.6 [build 2016-09-16.49f9123] MSVC 2013 on Windows 10.

Re: Producing Colony Ship Bug

Posted: Wed Nov 23, 2016 9:09 pm
by MatGB
Geoff?

Having colony ships cost population was a relatively recently introduced feature of yours and I never did spend any time working on the balance of it, given it's not also applied to colony buildings I'm still not sure what the objective was, can you answer the questions?

Re: Producing Colony Ship Bug

Posted: Wed Nov 23, 2016 9:56 pm
by Geoff the Medio
I think part of the problem is that there's no way to check in a location condition if something is being produced as a batch production order. So if you want to produce 1 colony ship, it's fine if the minimum population for that is 5, but if you're producing 10 ships that will consume 3 population upon completion, it thinks everything is fine until gets to the point of trying to create the ships, then realizes it needs 30 population to consume to do that, and then halts the production order at almost complete. I suppose the first thing to add would be a built-in location condition (similar to things needing to be unlocked for the empire) that requires the production location to have enough of whatever is consumed by producing the production order (batch or otherwise) to allow any PP to be spent. This would make the problem immediately obvious to the player, rather than delaying the realization until all the PP has been spent/wasted.
zarquan wrote:If I am ordering 10 colony ships in one job, it would be nice to split it in to two jobs that are each making 5 colony ships. This would good if you had a large military job (building warships) and you were attacked and needed some of those ships sooner but didn't want to lose the progress on the other ships.
Sounds reasonable.

Re: Producing Colony Ship Bug

Posted: Fri Dec 02, 2016 11:21 pm
by zarquan
Thank you for your response.

Re: Producing Colony Ship Bug

Posted: Sat Mar 18, 2017 11:26 pm
by Dilvish
Geoff the Medio wrote:I suppose the first thing to add would be a built-in location condition (similar to things needing to be unlocked for the empire) that requires the production location to have enough of whatever is consumed by producing the production order (batch or otherwise) to allow any PP to be spent.
I am not quite understanding what you mean for this new "built-in" location condition. It seems to me that the most straightforward approach would be to add a new ValueRef, perhaps named NumberOnQueue, related to the Enqueued Condition (it could use almost all of the same code but would not have the high and low options). and then that ValueRef would enable our current Location field to specify the appropriate restriction for things like colony ships without anything more being needed to be coded up. It wouldn't prevent the item from actually being added to the queue, but it would immediately grey it out and prevent it from sucking up PP.

Re: Producing Colony Ship Bug

Posted: Sat Mar 18, 2017 11:41 pm
by Dilvish
As for the balance question that MatGB brought up in the related Issue, there is no great way to decide where to remove population for the colony buildings and that probably should not happen (just like we reject ship upkeep being a reduction against PP). I am not convinced of a need for colony ships to reduce PP (oops, I really meant "population" here), but if we really want colony ships to reduce population then I think a reasonable balance adjustment would be to make them at least a bit cheaper then colony buildings. It probably doesn't have to be a lot cheaper -- from an initially well-populated planet the population will rebound from the reduction in as little as 1-2 turns, and for planets with smaller (but still sufficient) population, it could take quite a bit longer to rebound but it seems that a major part of the whole intent of the change was to discourage/limit the ability to population from marginally sufficient planets?

Still, though, while the pop reduction may not (or may?) be an actual violation of KISS, it's not at all clear to me that it is needed. What is the rationale? There might be simpler ways to meet it.

Re: Producing Colony Ship Bug

Posted: Sun Mar 19, 2017 12:16 pm
by Vezzra
Dilvish wrote:there is no great way to decide where to remove population for the colony buildings
Unless we provide the means for the player to designate "migration sources" - colonies from which immigrants for new colonies might be taken.

Otherwise, I agree that the idea of consuming pop from existing colonies to be able to create new ones does not work with the colony building mechanic. And having colony ships consume pop while the colony buildings don't does not seem right to me. So either we provide the means to enable the player to specify the colonies they want pop to be taken from for new colonies created by colony buildings, or we don't consume pop for new colonies at all (neither for producing colony ships nor for colony buildings).

Everything else looks like patchwork to me.