Discussion:
[Freecol-developers] New-colonists and Breeding-control options
Fenyo
2015-05-28 21:53:54 UTC
Permalink
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
Michael T. Pope
2015-08-03 07:56:37 UTC
Permalink
On Thu, 28 May 2015 23:53:54 +0200
Fenyo <***@gmail.com> wrote:
> > 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.

OK... that sort of makes sense. I am quietly mumbling "just build more
wagons", but I that is close enough to reasonable to not immediately
dismiss. I am aware of the problem of food accumulating in the wrong
places, but usually that is late in the game when the colony in question
can reasonably just give the new colonist some horses and have it head off
to a better place promptly.

So what then is your use-case for controlling the breedable goods
production? I am guessing you want to not give the horses any food?
Does it have to be a ratio, or is a boolean sufficient? And if you
really want a ratio, is this worth doing for other goods types?

> > 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.

That is so easy to say.

> > 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,

OK, now I understand *why* you want to do this, I can see that asking to
go first to a global setting is not a good way to test it properly.
Scratch that idea.

> > 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.

OK, this is where I am still not convinced. There is a high level
similarity perhaps, but the internal mechanism is very different. I would
much prefer the breeding part to be attached to the colony building
for the goods type, and the population part to trigger a panel very
similar to the current Build Queue --- to stop colonist production you
would just clear the Population Queue. That would enable other interesting
enhancements such as colonies that can produce particular colonist types.
Not to mention separating the functionality as I would still strongly
prefer.

Cheers,
Mike Pope
w***@genial.ms
2015-08-03 08:29:45 UTC
Permalink
Hi,

> > 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,
>
> OK, now I understand *why* you want to do this, I can see that asking to
> go first to a global setting is not a good way to test it properly.
> Scratch that idea.
>
> > > 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.
>
> OK, this is where I am still not convinced. There is a high level
> similarity perhaps, but the internal mechanism is very different.

I really like having options to adapt applications to my needs, but
I have to object to putting more and more of them into the game.

We just experienced first hand that more options mean less testing
and more hidden bugs, as we just used the premade maps for testing
and forgot to thoroughly check the maps the map generator produced,
resulting in a broken release.
And this is not the only time this happened.
Mike, Caleb and me seemed to all like the classic colony labels more
than the new style and always had that option set that way.
Then one day I thought I should check if the modern labels look right
and guess what, the text was not aligned correctly and noone saw it
-- for months.
Recently, I tried using the Classic FreeCol UI mod and immediately
saw there was a glaring problem with the dialog backgrounds not being
set correctly. The InfoPanel text is also partially overlapping the
frame of the classic skin, but thats tolerable.
There have been other longstanding problems with mods, which I only
found as I was trying to keep them compatible to the resource key changes.
Shortly before 0.11.4 I was checking on another bug I just found and
saw, that font loading for Russian was broken and that also affected
all Asian languages with local glyphs.

We simply do not have enough people testing the game for all the
included options to be kept working, adding more options will only
make it worse.


Regards,

wintertime

------------------------------------------------------------------------------
LoneVVolf
2015-08-03 12:12:58 UTC
Permalink
On 03-08-15 10:29, ***@genial.ms wrote:
>
>
> We simply do not have enough people testing the game for all the
> included options to be kept working, adding more options will only
> make it worse.
>
>
> Regards,
>
> wintertime
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Freecol-developers mailing list
> Freecol-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freecol-developers
Maybe we should go for a feature freeze and treat requests like this as
freecol 2 stuff ?

LVV


------------------------------------------------------------------------------
Loading...