Fenyo
2015-05-28 21:53:54 UTC
Ok, let's discuss this subject.
> I have several objections to this patch as it stands.
> First, I would like to see some reasoning for why you would want to
> suppress colonist production at all. Very odd idea IMHO. I think it
> would have been better to discuss this on the developer list.
Ok, background:
There is a colony, where i do not want to make new colonists,
because i need the food it produces.
(And i have a lot of colonies where i do not want the new colonists,
i want them to appear somewhere else, not in that colony)
You can say for this that i should collect the food from such colonies
with a wagon train or a ship, before the food reaches 200.
But - unfortunatelly - i can not guarantee everytime that my wagon train
or ship will arrive before the food hits 200.
And when it does, it will convert the food to a new colonist. :(
I have experienced this a lot in my games.
And this population control is the solution for such problems.
I am sure that i am not the only one with this problem.
> Second, even if you do have a good reason, I do not see a need for
> a game option for a boolean value that should always be true.
I presume you mean the global default value.
Well, that's the point, it should NOT be always true.
I will set it to FALSE in my games, so there will be no
new colonist production at all everywhere, by default.
And this is where the per colony setting comes to the picture.
I want to turn on the new colonist production ONLY in the selected
colonies (which are NOT the majority in my case).
So i will turn it on only in those colonies, and it will be turned off
by default everywhere else.
> The game option for the breeding functionality makes more sense,
> and I think it is a good idea. However this whole area is very
> sensitive. Changing the code here needs to be done with caution, so
I think you have no reason to fear.
I have already tested it very thoroughly. And it works perfect.
And the main thing of this patch pack is in
common\model\ProductionCache.java, private synchronized void update().
(everything else is just a UI or class for storing data, etc)
update() is not a big code, you can easily see it through.
If you want i can even explain it to you. :)
> I am not immediately going to go all the way to allowing individual
> colony settings, but am willing to allow a global breeding control
> so we can check if this breaks anything. Once we are more confident
> it is working, I will be happy to consider the individual colony settings.
It won't break anything.
And i promise you that if we still find out it does, i will fix that very soon!
But if you insist for a global value only at first, i can
temporarily turn off the per colony panel at all (invisible button),
this way the global-default will apply always.
And when you are satisfied, we can turn it back on with a single line modification.
What do you say?
> Finally, the patch is way too complex, as it bundles several
> separable pieces of functionality.
Yeah, i thought that myself too. But since the new colonist suppression
is reproduction related just like the breeding, they have to be
on the same panel: Reproduction.
And because of this, they can not be separated, since that panel
is not existent yet. (and i do not want to create it twice in two
independent packs)
Waiting your answers. :)
Regards,
Fenyo
> I have several objections to this patch as it stands.
> First, I would like to see some reasoning for why you would want to
> suppress colonist production at all. Very odd idea IMHO. I think it
> would have been better to discuss this on the developer list.
Ok, background:
There is a colony, where i do not want to make new colonists,
because i need the food it produces.
(And i have a lot of colonies where i do not want the new colonists,
i want them to appear somewhere else, not in that colony)
You can say for this that i should collect the food from such colonies
with a wagon train or a ship, before the food reaches 200.
But - unfortunatelly - i can not guarantee everytime that my wagon train
or ship will arrive before the food hits 200.
And when it does, it will convert the food to a new colonist. :(
I have experienced this a lot in my games.
And this population control is the solution for such problems.
I am sure that i am not the only one with this problem.
> Second, even if you do have a good reason, I do not see a need for
> a game option for a boolean value that should always be true.
I presume you mean the global default value.
Well, that's the point, it should NOT be always true.
I will set it to FALSE in my games, so there will be no
new colonist production at all everywhere, by default.
And this is where the per colony setting comes to the picture.
I want to turn on the new colonist production ONLY in the selected
colonies (which are NOT the majority in my case).
So i will turn it on only in those colonies, and it will be turned off
by default everywhere else.
> The game option for the breeding functionality makes more sense,
> and I think it is a good idea. However this whole area is very
> sensitive. Changing the code here needs to be done with caution, so
I think you have no reason to fear.
I have already tested it very thoroughly. And it works perfect.
And the main thing of this patch pack is in
common\model\ProductionCache.java, private synchronized void update().
(everything else is just a UI or class for storing data, etc)
update() is not a big code, you can easily see it through.
If you want i can even explain it to you. :)
> I am not immediately going to go all the way to allowing individual
> colony settings, but am willing to allow a global breeding control
> so we can check if this breaks anything. Once we are more confident
> it is working, I will be happy to consider the individual colony settings.
It won't break anything.
And i promise you that if we still find out it does, i will fix that very soon!
But if you insist for a global value only at first, i can
temporarily turn off the per colony panel at all (invisible button),
this way the global-default will apply always.
And when you are satisfied, we can turn it back on with a single line modification.
What do you say?
> Finally, the patch is way too complex, as it bundles several
> separable pieces of functionality.
Yeah, i thought that myself too. But since the new colonist suppression
is reproduction related just like the breeding, they have to be
on the same panel: Reproduction.
And because of this, they can not be separated, since that panel
is not existent yet. (and i do not want to create it twice in two
independent packs)
Waiting your answers. :)
Regards,
Fenyo