Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. *Read more...*

Feature #687553

open

civ2civ3 - Disallow Triremes to navigate rivers

Added by Jacob Nevins over 5 years ago. Updated 11 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Rulesets
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

(This was gna patch #7079. It didn't seem to reach a conclusion before Gna shut down, so I'm reproducing it here so it doesn't get lost.)


bard:
The ability of triremes to move on rivers introduces some exploits that I do not know how to prevent:
  1. It is possible to bypass the rule "slow invasion" by moving from ocean to river.
  2. It is possible to use chains of triremes to allow one unit to move an unlimited number of tiles (along a river) in one single turn (by repeating load-move-unload, load...)
  3. Even without chaining, a unit can move in the same turn inside a trireme and then continue his own movement along the river.
    It feels like using twice the bonus to movement on river and it causes a lot of micromanagement.

I think the bonus to movement by river is a good representation of sails being used to move the units faster. I suggest to remove this capability of triremes for good.

civ2civ3-trireme_river-S2_6.patch


New version of the patch that includes some related changes:
  • Make Trireme obsolete by Caravels, again.
  • Fix reference in the Lighthouse wonder.
  • Update Readme.

civ2civ3-trireme_river_v2-S2_6


cazfi:
It's quite likely we need to make some code changes first, for sensible handling of 2.5 savegames with triremes up in the river.


bard:
They sometimes use Triremes on rivers for longturn online games, so they might not be as unbalanced as I think.
If it is problematic we can try to keep it for now.


cazfi:
I attach a draft patch (S2_6) in case you want to progress with this.

In essence it adds the Trireme-that-cant-travel-rives as a new unit type and class. The old river-moving one is unbuildable, so it can be in the game only if it's old savegame (or via editor). The old one has the rule_name "Trireme" (for loading old savegames correctly) but display name "Riverboat", while the new one has display name "Trireme" and rule_name "SeaTrireme".

SeaTrireme.patch


bard:
I like your solution. I'll test it.


Christian Knoke:
Units transported by triremes sailing on a river loose all their move points ATM the trireme moves.


jtn:

The old river-moving one is unbuildable, so it can be in the game only if it's old savegame (or via editor).

I vaguely wonder about doing something to weed out old Riverboat units, like adding a retirement effect that disbands them 10 turns after the old savegame is loaded (...this probably isn't possible), or giving them zero moves in the new ruleset but allowing them to be disbanded for production points, or something like that. Just to avoid the incentive to hang on to your special unique riverboats forever.


bard:

Units transported by triremes sailing on a river loose all their move points ATM the trireme moves.

Such feature would be an improvement, but it'd not prevent all the issues about transported units.
For example, a unit does not require move points to be unloaded and loaded to other transport in the same river tile (or inside a city), so chained movement would be still possible.

Anyway, if the only purpose of triremes on rivers is to increase the movement of units, this can be simulated with the reduced costs of the movement along the river tiles, that requires much less micromanaging. The same than rails does not require a train unit in order to take advantage of the extra movement.

I attach a draft patch

Now that I opened your patch, I'm not sure if it is worth to introduce a whole new unit class just for this purpose.

I vaguely wonder about doing something to weed out old Riverboat units, ... or giving them zero moves in the new ruleset but allowing them to be disbanded for production points

I like how it sounds.
An intermediate solution could be to decrease the movement points to 1 when on river, so it is not worth to use triremes further inland, but only near the coast. I'll test it.


An intermediate solution could be to decrease the movement points to 1 when on river.

After some tests, I see the same issues. It was not a useful idea.

like adding a retirement effect that disbands them 10 turns after the old savegame is loaded

We could use negative Unit_Recover to remove hit points to the new riverboat unit every turn. For example:

; 3 turns of lifetime outside cities (and no recover inside cities)
[effect_riverboat]
name    = "Unit_Recover" 
value   = -4
reqs    =
    { "type", "name", "range" 
      "UnitClass", "Riverboat", "Local" 
    }

I have made a new patch based on cazfi's, but keeping the name trireme for the old class (native to rivers, non buildable), and using the name galley for the new unit and the new class.

Updated the helptexts and readme.

civ2civ3-trireme_river_galley-S2_6.patch


I have found a bug in my patch. The trireme is showed twice in the tech tree.


Patch v2 fixes the double entry in the tech tree, and revises some related code comments.

We could use negative Unit_Recover to remove hit points to the new riverboat unit every turn (3 turns of lifetime outside cities).

At the end, I did not include this effect. This patch lets players continue v2.5 games almost as if nothing happened.

If we are going to kill the old triremes, I think it is not worth to create a legacy class for them.

civ2civ3-trireme_river_galley_v2-S2_6.patch


Files

civ2civ3-trireme_river-S2_6.patch (1.46 KB) civ2civ3-trireme_river-S2_6.patch Gna file 27027 (obsolete) by bard Jacob Nevins, 2017-08-02 12:17 AM
civ2civ3-trireme_river_v2-S2_6 (3.5 KB) civ2civ3-trireme_river_v2-S2_6 Gna file 27075 (obsolete) by bard Jacob Nevins, 2017-08-02 12:17 AM
SeaTrireme.patch (10.8 KB) SeaTrireme.patch Gna file 27370 by cazfi Jacob Nevins, 2017-08-02 12:18 AM
civ2civ3-trireme_river_galley-S2_6.patch (15.2 KB) civ2civ3-trireme_river_galley-S2_6.patch Gna file 29908 (obsolete) by bard Jacob Nevins, 2017-08-02 12:18 AM
civ2civ3-trireme_river_galley_v2-S2_6.patch (18.5 KB) civ2civ3-trireme_river_galley_v2-S2_6.patch Gna file 29915 by bard Jacob Nevins, 2017-08-02 12:19 AM
Actions #1

Updated by David Fernandez (bard) over 5 years ago

Right. Thank you.
I assumed that you (devs) might prefer triremes that can navigate rivers, and I see it ok.
This patch will be included in civ2civ3_earth modpack, but it introduces a whole new class just to keep savegame compatibility, and I'm still not sure if it is worth to include it in official civ2civ3.

Actions #2

Updated by Jacob Nevins over 5 years ago

I can't speak for other developers, but I haven't formed an opinion on it yet. I just found a reference to it from gna patch #8124 / r35442 and didn't want it to be lost just because of the migration.

Actions #3

Updated by Anonymous over 5 years ago

I think slow invasions should do:
- either remove all movement points when unloading from ship (and require > 0MP to unload)
- or unit loaded on anything should lose MP with each tranport movement (eg for transport with 6 moves, unit would lose 16.66% at each tranport move) - also unit with 0 MP couldnt be loaded on ship in that case. Unloading would be for free.

With current settings nukes have easily global range with chain of sumbarines.

Actions #4

Updated by David Fernandez (bard) over 5 years ago

᳇ Ϻ⚸Яℨ⚔ ᳇ wrote:

I think slow invasions should do:
- either remove all movement points when unloading from ship (and require > 0MP to unload)
- or unit loaded on anything should lose MP with each tranport movement (eg for transport with 6 moves, unit would lose 16.66% at each tranport move) - also unit with 0 MP couldnt be loaded on ship in that case. Unloading would be for free.

I'd also like something like that, but it'd require changes to game engine that are beyond my capabilities.
I opened a ticket on gnu some time ago with a similar request, but I guess it is not easy to change it.

With current settings nukes have easily global range with chain of sumbarines.

In my tests with v2.6, at least it is not possible to transfer cargo for free on the same tile, so each time the unit is loaded on another transport, it loses one mp, and it can not do it indefinitely. It is good enough for me, but I agree the range is still almost global.

Actions #5

Updated by Sławomir Lach over 5 years ago

What simply didn't makes unload unit twice in turn takes entire move points of unit?

Actions #6

Updated by Jacob Nevins about 5 years ago

  • Blocks Task #694704: civ2civ3: introduce new features for 2.6 added
Actions #7

Updated by David Fernandez (bard) about 5 years ago

Sławomir Lach wrote:

What simply didn't makes unload unit twice in turn takes entire move points of unit?

I guess it'd work, but it'd require changes to game engine. The purpose of this ticket was to find a workaround by changing only the ruleset, not the game code.

I wonder if it could be an improvement to make triremes on rivers "Unreachable", so they can only be killed by other triremes, and units would be unable to embark/disembark outside cities (by default).

Actions #8

Updated by Marko Lindqvist about 5 years ago

David Fernandez (bard) wrote:

will be included in civ2civ3_earth modpack

Is the best course of action to just test this on civ2civ3_earth on freeciv-2.6, and not touch included civ2civ3. With the experience from S2_6 civ2civ3_earth we can make better decisions on freeciv-3.0 time. Isn't this just the kind of experiment civ2civ3_earth was said to exist?

Actions #9

Updated by David Fernandez (bard) about 5 years ago

Marko Lindqvist wrote:

Is the best course of action to just test this on civ2civ3_earth on freeciv-2.6, and not touch included civ2civ3. With the experience from S2_6 civ2civ3_earth we can make better decisions on freeciv-3.0 time. Isn't this just the kind of experiment civ2civ3_earth was said to exist?

It is ok to me.
This patch introduces a new unit class that can not be removed in the future (in order to keep savegame compatibility), so I'm also reluctant to introduce it in the official release.
In the meantime, I'll try to test other ways to keep triremes on rivers in a way that I find more balanced.

Actions #10

Updated by Marko Lindqvist about 5 years ago

  • Sprint/Milestone changed from 2.6.0 to 3.0.0
Actions #11

Updated by Marko Lindqvist about 5 years ago

  • Blocks deleted (Task #694704: civ2civ3: introduce new features for 2.6)
Actions #12

Updated by Marko Lindqvist over 3 years ago

Marko Lindqvist wrote:

David Fernandez (bard) wrote:

will be included in civ2civ3_earth modpack

Is the best course of action to just test this on civ2civ3_earth on freeciv-2.6, and not touch included civ2civ3. With the experience from S2_6 civ2civ3_earth we can make better decisions on freeciv-3.0 time. Isn't this just the kind of experiment civ2civ3_earth was said to exist?

So, what should we do now in S3_0?

Actions #13

Updated by Alexandro Ignatiev over 3 years ago

IMHO, river boats are cool, we'll have to learn playing another game without them. And the chain-move exploit/feature is another problem (finally, if you can have submarines everywhere by the ocean and know nukes, is it so imbalanced that your development allows you to nuke any place?). Commercial Civ3, for to note, has chain-move. It has neither river-boats (and any land transporters except helicopters that work more like reverse paradrop base) nor river movement bonus, and it takes all unit mp iff loading, as well as unloading, is performed to a different tile.

Actions #14

Updated by Alexandro Ignatiev over 3 years ago

(of course, it is presumed that inside a coastal city units first unload, then walk; and loading requires presence of mp). Even if we are going to imitate Civ3 closer in fc3.1, we should then make a special civ3 ruleset and leave changes in _earth, not touching civ2civ3 that actually is good for itself. For me, diagonal movement prohibition on rivers was more than enough. Any way, the ruleset questions should be risen on forum/discord, where the players are present.

Actions #15

Updated by Sveinung Kvilhaugsvik almost 3 years ago

David Fernandez (bard): Do you need the ability to charge a different amount of movement for transport to transport transfer than for land to transport transfer? In that case you should request fake generalization for "Transport Embark". See Feature #848708

Actions #16

Updated by David Fernandez (bard) almost 3 years ago

Sveinung Kvilhaugsvik wrote:

Do you need the ability to charge a different amount of movement for transport to transport transfer than for land to transport transfer? In that case you should request fake generalization for "Transport Embark". See Feature #848708

It sounds good enough to me if those actions (transport to transport, and land to transport) use the same amount of movement.
I have not tested the modding capabilities of 3.0 yet. If it is possible to force units to lose all their movement points when they are loaded to a transport (even if they are in the same tile), I guess it would solve the issues I see about transport units, but I'd need to test it.

Btw, thanks for all your work with generalized actions. I have not been able to play freeciv lately, but sooner or later I'll make use of them in my rulesets.

Actions #17

Updated by David Fernandez (bard) almost 3 years ago

Marko Lindqvist wrote:

Marko Lindqvist wrote:

David Fernandez (bard) wrote:

will be included in civ2civ3_earth modpack

Is the best course of action to just test this on civ2civ3_earth on freeciv-2.6, and not touch included civ2civ3. With the experience from S2_6 civ2civ3_earth we can make better decisions on freeciv-3.0 time. Isn't this just the kind of experiment civ2civ3_earth was said to exist?

So, what should we do now in S3_0?

I vote to keep it untouched for now, unless someone else is actively working on the ruleset to try to improve it too.
At least I know that current version of 2.6 was deeply tested and reasonably playable.

Current _earth version was properly tested, and I'd not name it experimental. I simply continue the development of the ruleset the same way that I did for 2.3, 2.4 and 2.5 until it was versioned here.

My plan was to backport here (from _earth version to this repo) the changes that seem to be working and clearly improve the ruleset, but it is not that easy, because if you cherry-pick only some of the changes, you end up with a completely different ruleset that needs to be tested and balanced by itself. And I had not got enough feedback from players, nor enough time to test it properly by myself.

I'll see if I can do it now.

Actions #18

Updated by Sveinung Kvilhaugsvik almost 3 years ago

David Fernandez (bard) wrote:

I have not tested the modding capabilities of 3.0 yet. If it is possible to force units to lose all their movement points when they are loaded to a transport (even if they are in the same tile), I guess it would solve the issues I see about transport units, but I'd need to test it.

This is possible in 3.1. It is too late for 3.0. Its ruleset format has been frozen.

Btw, thanks for all your work with generalized actions. I have not been able to play freeciv lately, but sooner or later I'll make use of them in my rulesets.

You are welcome. I'm glad to hear it.

Actions #19

Updated by Marko Lindqvist 11 months ago

  • Sprint/Milestone changed from 3.0.0 to 3.1.0

Also available in: Atom PDF