On Fri, 29 May 2015 19:57:04 +0200
Fenyo <feny...@gmail.com> wrote:
>>[Independence turn]
> I think there is one small problem with this: it stores the turn, not the 
> year.

Yes, deliberately.  If you use the year but increase the seasons you
make it progressively more easy to get the bonus, and the bonus available
continues to increase.  IMHO that is a balance problem.  I put in some
effort in a previous release to make the scoring algorithm as
Col1-compatible as possible.  Using the turn makes scores comparable no
matter what a player does with the seasons.  All that changes is the
actual year that the bonus applies at, which is less important than score
compatibility IMHO.
  
> Of course the model.option.independenceTurn is in the specification,
> so a Season mod should just overwrite this

It could, but it should not.

> But i think you have missed something about this: model.option.seasonYear

Indeed not.  In fact, there was a compliant a while back on a forum about
using seasonYear to artificially increase the amount of turns and thereby
get a higher score.  That is what prompted me to switch to using the turn
when moving that magic number to the spec.  Apparently, as usual, I can not
please everyone.

> I think it is not a good idea to completely separate the setting of names
> and the number of seasons.
> Imagine:
> The user loads the MonthSeasons, and sets the number of seasons to 10.
> Then he/she will have months from January to October, so the MonthSeasons
> would be truncated. The same applies to DaySeasons.

There are *lots* of places where users can muck things around with the
option settings.  Ultimately all we can do is provide sensible defaults.
If you are really worried by this, have the mod override the option and add
value="12" minValue="12" maxValue="12".  The alternative is to not have
any option, and set the number of seasons from the contiguous messages
found, somewhat like we do with settlement names.  I considered that, but
it is brittle against typos in the messages file (which has happened) and
probably too risky for a number that controls the turn-to-year conversion.
 
> > For the mods with many seasons it would be easier to make the display
> > routines check Messages.containsKey and on failure fall back to using
> > something like:
> >     model.season.default=Week %number%
> > That seems like a better result to me.
> 
> But with this, how can you make a mod like the MonthSeasons ?

What is wrong with:

model.season.0=January
...

> DaySeasons

If you insist on having the month name in there, you are stuck with
specifying every day:  model.season.{0,1,2...365}

model.season.default is just intended to be a shortcut or fallback for
simple cases like the above week example, only used if the expected
model.season.*number* message is missing.

> > No funky double message interpretation.
> 
> What is the double in that?

1. Look up messages for model.season.day.0
2. Get "%model.season.january.name% 1"
3. Look up messages for model.season.january

I see two lookup steps there.  If there were other places we did something
like that, fair enough, but as a convenience for implementing a pretty
weird mod (4 seasons: fine, 12 seasons: strange, 355 seasons: crazy) when
there is a simple alternative, I am not convinced.

> If we erase formatMessage(), then the name resoultion will everytime
> results model.season.default. :(

No.  Once again, all you have to do for the days mod is specify the full
name in the numeric message format for every day:

model.season.0=January 1
model.season.1=January 2
...

> But that is not language independent!!
> "%model.season.march.name% 1" <- this version has the benefit that
> the base messages will be completely translated, and the mod can use
> the strings of that, so it will be automatically localized!
> "%model.season.march.name% 1" <- this will result "March 1" when
> English language is selected,
> and it will result as "Március 1" when Hungarian language selected.

That is a separate issue.  Mods can contain translated versions of the
messages file too.  If they are there, they will be used.  We have a
problem at present that mods are not getting translations, which is on my
list of things to sort out with the translators, however I have been
causing them quite enough grief lately and there are worse problems that
need fixing.

Tell you what, if this is really annoying you, I will revise my
previous remark about not supplying translation files, and accept
translations for *mods*, at least until getting around to a better
solution.  So data/mods/DaySeasons/FreeColMessages_hu.properties is ok,
but not data/strings/FreeColMessages_hu.properties.
 
> Please say that you don't want to broke this localization possibility.

I do not want to add another localization mechanism.  I want to use the
one we have.

> Ok, if you want, i can make a Version-4 where there is no Season.java,

I recommend you wait a bit until I have fixed the problems with Turn.
Less annoying rebasing for all of us, and I may yet be wrong about how
fixable it is.

Cheers,
Mike Pope


Attachment: pgpYl2mhc8IJm.pgp
Description: OpenPGP digital signature

------------------------------------------------------------------------------
_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to