February 4th, 2019, 15:39
(This post was last modified: February 4th, 2019, 15:44 by Seravy.)
Posts: 10,492
Threads: 395
Joined: Aug 2015
We've successfully fixed pretty much every problem we had with ships except this one : a unit transferring to another ship then another and so on, moving an unlimited amount as long as enough correctly positioned ships are available.
I've been thinking about it and a good solution seems to be the following :
-Whenever the unit is carried by a ship, store the unit ID of the ship on it
-At start of turn, reset this value
-If there is a ship ID stored when stack collective movement type is calculated, Sailing can only take priority over Walking if the stored ship ID matches the unit's ID with Sailing.
This would effectively limit each unit to be carried by at most one ship per turn. Unfortunately, multiple wind walkers, would still be able to do the same thing but those are not commonly available except for the Draconian Air Ship. The hard part is storing this much (2 bytes of) data on the unit. While there are still bytes that appear to be unused, they are most likely the upper half byte of other data that doesn't actually happen to use it. 1F and 10 might be entirely unused though.
It probably also means flying ships on land can still do the thing except for being restricted to walking movement.
...maybe it would be better if we instead added the check to movement itself, if it detects a moving stack that has a stored ship ID that doesn't match a ship in a stack, overwrite (temporal) remaining moves for the stack with zero and thus end the move immediately without anything actually happening - same result as clicking on the tile the stack was already on.
February 4th, 2019, 16:44
Posts: 5,010
Threads: 17
Joined: Aug 2016
I don't understand why this is worse than being able to move onto a ship, get transported by one ship for its full movement, then disembark and use the rest of your movement.
I agree your scenario should be stopped. I don't understand why my scenario shouldn't.
February 4th, 2019, 17:10
(This post was last modified: February 4th, 2019, 17:12 by Seravy.)
Posts: 10,492
Threads: 395
Joined: Aug 2015
The units need to be able to leave the ship before the enemy attacks it - in 90% of the time the AI has naval superiority. Let's not reopen that again please. If you don't understand why moving 30 extra tiles is a greater problem than moving 1-3 tiles, I can't help that.
Of course, it would be better if the AI could also unload their ships the turn they arrive but unfortunately we can't do that.
February 4th, 2019, 17:26
(This post was last modified: February 4th, 2019, 17:27 by Nelphine.)
Posts: 5,010
Threads: 17
Joined: Aug 2016
My proposed solution still allows your units to disembark on the same turn, if the ship moves one square less than max. In most cases 3 squares of ship movement is enough, so moving one less than max should be plenty.
Moving 1-5 squares extra after ship movement is literally as good as moving on an entire second ship. That's absurd. Yes 30 squares is more absurd, but absurd is still absurd. If you want to fix the problem, why are you arbitrarily fixing only part of the problem?
February 4th, 2019, 17:52
Posts: 10,492
Threads: 395
Joined: Aug 2015
Because these are two different problems. It's not the same problem even if the consequence is similar (a unit moving further than it should) and it doesn't even affect the same group of units.
Your problem can be solved by making it so that units carried by ships use up movement but always have 0.5 remaining like wind walkers, except this applies even if the ship used up the last move.
(and I believe I refused that because that allows a windwalker and a ship to carry each other indefinitely? Not entirely sure. This is why I hate bringing back dead topics, I don't remember. We must have had a reason why we didn't do that, I don't care about units being able to move their full amount, as long as they can leave the ship the same turn. )
Meanwhile chain shipping and chain windwalking would not be affected by any such solution and affects windwalkers while the other problem does not.
February 4th, 2019, 18:32
Posts: 5,010
Threads: 17
Joined: Aug 2016
No, you apply the same rules as currently, which means you can chain windwalkers, as long as there's space for them in the stack. You make ships and windwalkers affect each other the same, so there's no infinite problem, the same way windwalkers currently act when stacked.
The only reason I've ever heard to keep the units movement after moving on a ship was because that's how the original game worked.
February 5th, 2019, 04:41
Posts: 441
Threads: 4
Joined: Apr 2018
(February 4th, 2019, 15:39)Seravy Wrote: We've successfully fixed pretty much every problem we had with ships except this one : a unit transferring to another ship then another and so on, moving an unlimited amount as long as enough correctly positioned ships are available.
I've been thinking about it and a good solution seems to be the following :
-Whenever the unit is carried by a ship, store the unit ID of the ship on it
-At start of turn, reset this value
-If there is a ship ID stored when stack collective movement type is calculated, Sailing can only take priority over Walking if the stored ship ID matches the unit's ID with Sailing.
Wouldn't that prevent units from moving between two ships and then continuing? That's different from chain shipping as it spends a movement point to go between the two ships. I'd find that too restrictive, part of winning in lunatic is logistics.
February 5th, 2019, 08:38
Posts: 10,492
Threads: 395
Joined: Aug 2015
(February 4th, 2019, 18:32)Nelphine Wrote: No, you apply the same rules as currently, which means you can chain windwalkers, as long as there's space for them in the stack. You make ships and windwalkers affect each other the same, so there's no infinite problem, the same way windwalkers currently act when stacked.
The only reason I've ever heard to keep the units movement after moving on a ship was because that's how the original game worked.
Do you know where we had this discussion? I'd like to read it again to refresh my memories.
February 5th, 2019, 09:07
Posts: 5,010
Threads: 17
Joined: Aug 2016
No I couldn't find it. Unfortunately I shouldn't have said 'I've never heard'. I don't recall hearing a reasoned argument for the extra movement of troops. We had the first one.. probably 2017 or early 2018. The recent one was.. 2-4 months ago?
Let's see, I think the argument went something like 'thats how it was in the original. This can be explained as the unit not using any movement while being transported - the unit doesn't get tired, and in fact has a chance to rest, so it's reasonable to move its full movement regardless of ship movement.'
However, windwalkers don't get that. This could be explained that the windwalker movement is a lot more strenous as the unit is kind of being granted flying. But the discrepancy has always bothered me - at the end of the day the windwalker let's the unit go further than its normal overland speed, so that implies it can't be overly strenuous. Further, in theory the full ship movement uses up the full month of the turn - and full normal unit movement uses up full month of the turn, so how can you do one and then the other? Admittedly embarking already allows this, so windwalkers aren't permitted to transport someone who has moved their full movement.
From balance point of view, windwalking grants flying and therefore 'over land' overland movement. This is much stronger than ship movement, as we've seen from discussions on wraithform ships. So on the one hand it makes sense that ship movement is more efficient than windwalker movement. Additionally, as you've mentioned, the AI is designed for naval superiority, so it also is imperative that ship movement be functional for the human, particularly transport of stacks of 8 for life and chaos and potentially sorcery.
However, also on balance side, windwalking is rare, so it's reasonable that it should be more efficient than ship movement; and the AI can't functionally use movement before or after ship movement so anything we allow the human to do is effectively a human only bonus.
Given those, I don't think there's a balance reason to allow full movement of a unit after full ship movement. I do understand that embarking may have to stay different between them for ai purposes, but even disembarking from a ship for an ai doesn't seem to be allowed if the ship has already moved (I could be wrong? I'm not sure. Ai disembarking rules are very bad for the AI regardless).
Hopefully this reminds you of your thoughts, even if I've forgotten a big reason to say no.
February 5th, 2019, 10:09
Posts: 10,492
Threads: 395
Joined: Aug 2015
One thing that I noticed right now - no matter what we do the inconsistency will stay. You can move the unit 5 tiles first, ending the 5th move on the ship then carry it 3 more tiles which is the same distance as carrying the unit 3 tiles first, then moving it 5 tiles. It makes no sense to only penalize the second. We also need the unit to be able to take at least two additional steps overall, one to board the ship and another to leave it.
Currently, at least wind walkers and ships do the same for units "boarding" them, and only have a difference with units leaving. While it makes little sense for flavor, for a game mechanic it makes at least a little sense : Wind Walkers allow the unit(s) to fight while carried, ships do not. So units need to be able to leave the ship immediately, but are fine staying with a windwalker.
I can only think of two reasons why I said no right now :
1. Because it was discussed way before we dealt with how ship movement is handled. Right now it's as simple as changing "do not spend movement" to "do not spend movement below 0.5" but back then this wasn't a thing, units on ships were spending movement normally, and you had to patrol them to get around that (which was an intended feature ofc, but from the coding perspective it didn't say units moving on ships spent no movement anywhere. Patrolling units were naturally exempt from spending the points because they weren't set to "moving" status in the first place.)
2. Because no way of fixing it cleans up the inconsistencies anyway. Why make leaving the ship have different rules than boarding it? Why does windwalkers allow fighting when ships do not? But why does Floating Island allow it when it's a ship, not a windwalker? Why do flying ships allow combat but still use ship type transporting rules? All of these have only one answer, because they are different game mechanics intended to do different things. I see no reason to not apply that rule to this as well, so we have no reason to change them from that perspective. Whether we want it for game balance is a different matter but has nothing to do with making things consistent anymore.
Either way, at this point the real question to ask : Is having that extra movement a significant enough game balance issue to require changing the game mechanic?
On one side, it's a fairly little problem. Yes, you do get to move some extra tiles, but only one turn's worth and only once. In the majority of cases, your target city is on the shore so you could attack it anyway. At best this allows you to regroup and send 9 units instead of 8 which...actually is a fairly big deal but I rather put that into the "desired" category than the "abuse" one. If we had to use 8 stacks every time we attacked another continent that wouldn't be very fun. Although, one can argue it's viable to wait a turn after reaching shore to join the stack before combat and delaying one turn is a desired effect. It even gives a chance to the enemy to attack your stack although we know that's not going to happen 99% of the cases. So this is a bit of a grey area, slightly leaning towards the change being worth it - it'll inconvenience players more but improves game balance.
One the other side we have two things : the cost of implementing, the cost the change has on flavor, and the cost of player acceptance. The cost of implementing at this time seems to be relatively low, but I've had my share of bad experiences with these kinds of changes before. It's probably as simple as adding "spend movement normally but if carried by ship and move<=0.5 at the end, set move to 0.5." Probably. Or there might be an unexpected interaction that causes an avalanche of other problems as the result. But in worst case we can always try and undo it if there are problems coming. The cost of flavor, on one side it increases inconsistency : entering the ship later means you can travel further overall. On the other side it decreases it because it'll be identical to windwalkers. So I'd say this part is a net zero. Finally, player acceptance. People have been used to having that much movement remaining for 20 years. Changing that will be annoying, for everyone (myself included) and we'll do more mistakes and possibly lose games to it. Adapting to a major difference like that can be difficult after this much time. I'd say the cost in this area is very high.
Overall, hard to judge but it's not obvious that this change is worth the costs. Unlike chain shipping where the effect on game balance is a lot higher, and the cost on player acceptance is lower (everyone knows they are abusing the game mechanic in an unintended way anyway) although cost of implementation is also a lot higher.
|