On Mon, 05 May 2014 00:24:12 +0200 LoneVVolf <lonew...@xs4all.nl> wrote: > I finished the table for Conifer Forest terrain, took about 6 hours of work. > It's a tedious and boring task, and i am currently the only one working > on them.
No doubt about that. Thanks for the effort. > Comparing hills / mountains and Conifer forest tables suggest that how > the x2 expert/master bonuses are applied depends on the product. I have looked hard at the results so far and agree with you. Here is my full analysis: Catenating and simplifying the coniferForest table by omitting the plowed and convert columns we get: Bonus Resrc Road River FreeC Expert -2 - - - 4 10 -2 - - Y 6 12 -2 - Y - 6 12 -2 - Y Y 8 14 -2 Y - - 8 18 -2 Y - Y 10 20 -2 Y Y - 10 20 -2 Y Y Y 12 22 -1 - - - 5 11 -1 - - Y 7 13 -1 - Y - 7 13 -1 - Y Y 9 15 -1 Y - - 9 19 -1 Y - Y 11 21 -1 Y Y - 11 21 -1 Y Y Y 13 23 0 - - - 6 12 0 - - Y 8 14 0 - Y - 8 14 0 - Y Y 10 16 0 Y - - 10 20 0 Y - Y 12 22 0 Y Y - 12 22 0 Y Y Y 14 24 +1 - - - 8 16 +1 - - Y 10 18 +1 - Y - 10 18 +1 - Y Y 12 20 +1 Y - - 12 24 +1 Y - Y 14 26 +1 Y Y - 14 26 +1 Y Y Y 16 28 +2 - - - 10 20 +2 - - Y 12 22 +2 - Y - 12 22 +2 - Y Y 14 24 +2 Y - - 14 28 +2 Y - Y 16 30 +2 Y Y - 16 30 +2 Y Y Y 18 32 Bonus Resrc Road River FreeC Expert Looking at these results, here are some observations, annotated with [C] where Col1 is doing something we are not, [F] where the FreeCol behaviour was already correct, and [f] where FreeCol is now correct in trunk following git.3980654. 1. When the colony bonus is positive, it is worth 2 * bonus, and 4 * bonus lumber with an expert[C]. In the non-positive cases, the bonus is just added unmodified[F]. 2. The resource bonus is doubled when using the expert unit[f], but is otherwise always worth +4[F]. 3. Roads and rivers are cumulative and both worth +2[F] in all cases. 4. Base productivity is 6[F], doubled with the expert unit[F]. 5. We are omitting the Swedish national building advantage, but that is a FreeCol extension which we have always just added at the end. 6. A formula that works for coniferForest/lumber is: (BASE + RESOURCE) x EXPERT + RIVER + ROAD + COLONY BASE = 6 ; conifer forest/lumber RESOURCE = 0 ; no resource 4 ; lumber resource present EXPERT = 1 ; non-expert 2 ; expert unit RIVER = 0 ; no river 2 ; river present ROAD = 0 ; no road 2 ; road present COLONY = <rebel-bonus> ; bonus <= 0 2 ; bonus > 0 4 ; bonus > 0, expert-unit OK, so far so good, only one outstanding bug. Now let us consider confierForest/fur: Bonus Resrc Road River FreeC Expert -2 - - - 0 2 -2 - - Y 2 6 -2 - Y - 2 6 -2 - Y Y 4 10 -1 - - - 1 3 -1 - - Y 3 7 -1 - Y - 3 7 -1 - Y Y 5 11 0 - - - 2 4 0 - - Y 4 8 0 - Y - 4 8 0 - Y Y 6 12 +1 - - - 3 6 +1 - - Y 5 10 +1 - Y - 5 10 +1 - Y Y 7 14 +2 - - - 8 16 +2 - - Y 12 24 +2 - Y - 12 24 +2 - Y Y 16 32 Bonus Resrc Road River FreeC Expert 1. Colony bonus is different here. The +2 result is just weird. Otherwise the bonus is just added unmodified[F] except for the positive-expert case where it is +2[C]. 2. Missing the resource data --- the game resource should be relevant. 3. Roads and rivers are cumulative and worth +2[F], except for the expert unit where they are worth +4[C]. 4. Base productivity is 2[F], doubled with the expert unit[F]. 5. The formula above only works with more special handling for the colony bonus and special cases for road-or-river-with-expert. A formula of (BASE + RESOURCE? + ROAD + RIVER) x EXPERT + COLONY' would work better here. But not for confierForest/lumber. Looking at BR#2628, we can consider hills/ore: Bonus Resrc Road River FreeC Expert 0 - - - 4 8 0 - Y - 5 10 0 Y - - 6 12 0 Y Y - 7 14 +1 - - - 6 12 +1 Y - - 8 16 +2 - - - 7 14 +2 Y - - 9 18 Bonus Resrc Road River FreeC Expert 1. Colony bonus follows the same pattern as for coniferForest/lumber[C], although negative cases are not present in the data. 2. The resource is worth +2[F], doubled for the expert unit[f]. 3. A road is worth +1[F], but +2[C] with an expert unit. This is more like coniferForest/fur. 4. River data is omitted. 5. Base productivity is 4[F], doubled with the expert unit[F]. 6. The formula that might work here is: (BASE + RESOURCE + ROAD + RIVER?) x EXPERT + COLONY which is different again from the previous two. I could add in the results from BR#2629, but silver is also just weird. The question then is how to accomodate these variations. The colony bonus already has its own special routine, which will clearly have to get a bit more complex. The different handling of roads and rivers means we have to pick one formula and vary the road and river bonuses by context. I propose arbitrarily to work from the coniferForest/lumber formula (mainly because that is the closest to the existing code and tests), and try varying the bonuses using scopes-by-unitType. We shall see if that can work. No promises on whether this can be completely fixed in a backward compatible way. The (BASE + RESOURCE) bracketing is done (git.a565ae7), but the rest looks like a nasty rathole. > Since we are aiming for a release, i think we should focus on getting > the display to match what the production code does now. Agreed, and the display should now match as of git.3980654. If that worked, that is the last of the release blocking bugs folks. Look hard for things that have been forgotten. If nothing serious surfaces, I will aim to release on the "next free weekend", which is a rather unconstrained quantity but might include the coming one. Cheers, Mike Pope
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce
_______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers