Terrain Effects for movement
-
And an example of fractional movement cost. Here we assigned coast to only have a movement cost of 0.5 for infantry so they can move 2 only across coast:
<attachment name="territoryEffectAttachment" attachTo="Coast" javaClass="TerritoryEffectAttachment" type="territoryEffect"> <option name="movementCostModifier" value="germanInfantry" count="-0.5"/> </attachment>
-
@redrum Ok, so it is official that I can have "production" units that have basic movement 0 and if I assign -1 for them on sea zones, then I can load them on transports without requiring any land transport units to go into the transport too?
-
@Cernel Yep. Here is an example:
<attachment name="territoryEffectAttachment" attachTo="Sea" javaClass="TerritoryEffectAttachment" type="territoryEffect"> <option name="movementCostModifier" value="germanAntiAirGun" count="-1"/> </attachment>
-
@redrum How much fuel will be used? Will there be decimal fuel used? And will the player's fuel in bank also be like 102.75 fuel left?
-
@Frostion I'm not changing any of the fuel logic with this initial implementation. It will still just be based on the number of territories moved through. But if a map is going to use fuel and movementCost then I'll take a look at updating fuel cost to be based on movementCost instead.
But to your point, one of the issues is that resources don't support decimals at the moment so that would either need to be changed or fuel would have to round up/down.
-
@Frostion Actually taking a quick look at the fuel logic, I don't think its much effort to update it as well. The only limitation is I'm not going to update resources to allow decimals yet so fuel will have to round off. So my proposal is the fuel cost will be based on movement cost of the route (doesn't change for maps without territory effect movement costs) but will round the amount used up (the reason not to round down is that you could potentially game the system by moving 1 territory at a time). So an example would be lets say I have a tank where it costs 1 fuel per move and it has 2 moves (so costs 2 fuel total to move 2 territories in a turn with no territory effects). Now let's say I add Road territory effects so that territories only cost 0.5 to move across. Now a tank could move a max of 4 Road territories (would be charged 4 fuel without these fuel updates) but here would be the fuel charges that I'm proposing:
- Moves 1 Road territory - costs 1 fuel (0.5 movement cost rounded up)
- Moves 2 Road territories - cost 1 fuel (1 movement cost)
- Moves 3 Road territory - costs 2 fuel (1.5 movement cost rounded up)
- Moves 4 Road territories - cost 2 fuel (2 movement cost)
-
@redrum To avoid having to make all movement 0 units selectable (this should have really been a setting per unit, not general) can I, instead:
1: Make the unit movement 1 and give +1 movement cost for it in any land territories (no effects for sea zones), so it can only go into sea zones. In particular, a land unit offloading into a territory will always do it without any movement cost implied, so that it doesn't matter if that land territory would normally be movement cost 1 or 2 or whatever, for it?
2: Make the unit movement 1 and giving -1 movement to self, and -1 movement cost in sea zones only. So, this way it will work just like if it would be a simple movement 0 units (but I can keep the other actual movement 0 units non selectable). -
@Cernel Assuming you'll confirm it, the fact that movement cost is never applied for offloading units (offloading always being an exactly cost 0 movement) should be documented in pos2, especially with reference also to the fact that offloading into a territory increasing your movement would not do it (as also per the general rule that you cannot move after offloading). Confirmed?
-
@Cernel Finally, a land/air transported unit will ignore whatever movement costs to self, both the basic 1 and any modifiers from territory effects, correct?
-
@Cernel All 0 movement units are already selectable so nothing changing there.
Correct, unloading units doesn't check movement and ensures any unloaded units can't move any further.
Land/air transported units shouldn't be impacted at all since they don't check movement and just like unloaded units can't move any further.
-
@redrum said in Terrain Effects for movement:
@Frostion Actually taking a quick look at the fuel logic, I don't think its much effort to update it as well. The only limitation is I'm not going to update resources to allow decimals yet so fuel will have to round off. So my proposal is the fuel cost will be based on movement cost of the route (doesn't change for maps without territory effect movement costs) but will round the amount used up (the reason not to round down is that you could potentially game the system by moving 1 territory at a time). So an example would be lets say I have a tank where it costs 1 fuel per move and it has 2 moves (so costs 2 fuel total to move 2 territories in a turn with no territory effects). Now let's say I add Road territory effects so that territories only cost 0.5 to move across. Now a tank could move a max of 4 Road territories (would be charged 4 fuel without these fuel updates) but here would be the fuel charges that I'm proposing:
- Moves 1 Road territory - costs 1 fuel (0.5 movement cost rounded up)
- Moves 2 Road territories - cost 1 fuel (1 movement cost)
- Moves 3 Road territory - costs 2 fuel (1.5 movement cost rounded up)
- Moves 4 Road territories - cost 2 fuel (2 movement cost)
I'm thinking, also, but not only, for consistency, probably you shouldn't have any possible non integer movement left for the remaining movement either. You are supposed to make all your movement in 1 go, so you can sum it all up, round it up, and apply it to the unit always as integer. Players are not really supposed to make multiple moves with the same unit, but rather use Ctrl to set the path, if needed (I know many casual players don't realize there is this possibility, but we can assume maps with non integer costs will be played by the fanatics). Unless in future there will be a way for non air units to move both in combat and non combat (which may be cool, especially for land raiding), the matter is current truly relevant only for air units, that would have their movement cost rounded up to integer at the end of their combat move, thus possibly moving less then what they could (for example, a fighter that moves through cost 2.5, would have only 1 movement left in non combat movement, instead of 1.5). So, how about being consistent between movement and fuel costs, and always rounding all up to integer at the end of the single (possibly multi territories) movement? It really impacts only on air units, currently, and only on any units able to move both in combat and non combat, in case this might be extended outside air units only, in the future.
-
@redrum said in Terrain Effects for movement:
@Cernel All 0 movement units are already selectable so nothing changing there.
Not sure if you misunderstood what I was saying. Are you aware that is the case only if the property "Selectable Zero Movement Units" is true?
I'm not actually sure if that is relevant only for the human player and not for AI, actually (since the AI doesn't have to manually select). This would be interesting to know, if only as a curiosity.
To make an example, what I was saing is that, in Total World War, in order to be able to select, thus move, the "material", you need to generally make all movemnt 0 units selectable, that means you will be able to pointlessly (and a bit confusigly) select also factories, plants, fortifications, etc.. I just said that would have been cleaner as an option per unit, like you can make selectable only the material, instead of as a property for all movement 0 units.
And, then, I just added a couple of way to hack it, that is leaving the "Selectable Zero Movement Units" false and have the movement 0 units you want to select being actually movement 1 and giving -1 movement to self or, now that you have territory effects, having them as movement 1 but having a -1 additional malus in all land territories, so that way you will both achieve having a clean selection of only the relevant units unable to move on their own on land, as well as achieving the feat of freely loading them on sea transports.
-
@Cernel "any possible non integer movement left for the remaining movement either" - In short, no. Movement left will allow decimal values for flexibility and to your point if there are eventually maps that allow movement during both phases and for air. Putting a limitation on movement left to be an integer based on fuel, I don't think is the right long term direction.
"Selectable Zero Movement Units" - Correct but if you are going to allow 0 move units to be selected and move then you should be setting that property already (TWW being a good example). I think you could argue that it should have been a per unit setting rather than overall game property and that is something we could consider changing. I don't believe the property is relevant to the AI (though the AI doesn't really handle 0 move units that can actually be moved well at the moment) and really is actually more of just a UI functionality property that allows the player to select them and try to move them. I would much rather improve that existing property than try to hack something with weird movement costs. If that hacks work then you are welcome to try and use them but I definitely don't think either of your examples are really the ideal way to achieve those things.
-
@redrum Well, I said that they were hacks, but is really making the material etc. movement 1 and giving +1 to all land territories more hacky than making it movement 0 and giving -1 to all sea zones?
On the user side, the second one is much a better solution, currently, as it will allow you not to have selectable 0 movement units, both saving you keeping selecting all those factories, plants, etc., and having the material etc. highlighting upon hovering (as all units that can be moved should really be).
Really, I would rather say that it is the "Selectable Zero Movement Units" property that is sort of hacky, or at least unpolished, both as a matter of gameplay and as a matter of usability (allowing selecting but not highlighting what you can select is really half-baked).
Anyways, no worries, I was just pointing out some options currently to achieve the result of having immobile land units able to self moving into ships only, if that is wanted.
The second method would also allow limiting it to harbour only, if you have the unit having 1 movement, the harbour giving 1 movement and all land territories having +2 movement modifier while all sea zones having +1 movement modifier.
-
@redrum
I was just asking about how fuel would work. I really didn’t have any intentions of proposing fuel charge/usage changes.But now when you might make fuel usage be affected by the territory, I am already thinking about how to make use of this feature
As I see it ... yes a wormhole should also let the ship unit save some if not all fuel, but a territory with highways compared to a territory with small roads should not necessarily let the units save fuel buy racing across the territory in high speed. So in my mind movement cost should not always affect fuel cost.
-
@Frostion The matter is arguable. Faster roads are usually better roads, and better roads are usually fuel saving. But, yes, it can go both ways, or anywhere in the middle, in practice.
-
@Cernel I think you officially win the award for the "most emotions expressed by emoji in a single post"! But yeah, the others are a bit more hacky but could be better for certain situations. The good news is that they all should work. And yes unit selection/highlighting for 0 move units isn't very polished or flexible (seems like it would be a good feature request).
@Frostion Ok. Well, I think having it proportion to movement cost rather than just number of territories moved is probably better as a default. But really whoever makes the first good map with fuel and movement cost can request how they think it should work and most likely I'll adjust it then.
-
I have been testing out the territory effect that should affect movement. To be honest I think it is so un-intuitive that it is bordering to useless, as players probably have a very hard time figuring out how it works and how it will affect the unit movement.
Like this example:
A ship with 2 movement wants to go from X to X
It is adjacent to a “windy” sea zone (all sea zones with a bouy) giving "movementCostModifier" count="-0.5"
Can this be done in a single move? How far can this 2 movement ship actually sail in this turn, towards the goal?
The point is that all players should be able to give the answer immediately, if it was intuitive and user friendly.I can’t remember why it was decided that that the modifier should be given to units ENTERING and not EXITING a territory. I can’t remember how we got to the decision that a “movement cost modifier” was the way to go instead of just a +1, +2 or -1 to the units original movement... or if I even advocated these things. But this is not the point of this post, so I will not read this entire thread again.
But I do think that the feature should be altered to something more simple, like into that the effects should apply to units already in a territory and just give + or – a number to the movement.
Does any map actually use the feature as of now? (Not counting my Warcraft map that is testing this feature out, but will probably scrap it because of its un-intuitive nature)
-
@Frostion said in Terrain Effects for movement:
I can’t remember why it was decided that that the modifier should be given to units ENTERING and not EXITING a territory.
Maybe because only 1 user was advocating giving the modifier upon exiting (or at least having a property to customize the behaviour), and everyone else was suggesting giving it upon entering. Just making a guess. Of course, at the end it was up to @redrum to decide.
-
@Frostion So I'm open to adjusting this as I don't think any map has fully implemented yet. I tried to implement what I felt the majority of folks commenting were asking for.
For your example, my general intuitive answer would be it depends if the last movement requires units to have enough to cover that move. So looking at it I would expect the moves to cost 3 * 0.5 for the 3 windy tiles then 1 for the last tile so 2.5 total. Whether you can make the move then just depends on if units can use any remaining movement to move into the last tile or require enough movement for the last tile. Am I missing something? Is that not how most other TBS games like Civilization handle it?