Rule Issue: model displacement caps and move legality indeterminacy

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

The latest issue of the 9th Scroll is here! You can read all about it in the news.

  • Rule Issue: model displacement caps and move legality indeterminacy

    The fundamental problem with caps on model displacement (outside freely reforming units like light troops and skirmishers): It makes it impossible for anyone to know what a legal move is ahead of time.

    Here's the problem:



    A unit wants to march mostly straight forward and then finish with a wheel. It wants to use all its march distance. (So D, the forward distance, and d, the wheel distance, sum to March). It also wants to maximize the wheel distance, d. The outside rear model also cannot displace, center to center (R), farther than it's march rate. How far can it wheel while satisfying these conditions? Find a general answer for any number of ranks, files, and any base size. (That is, the function takes # ranks, # files, and base size as input in some fashion).

    I've convinced myself I (at least used to) know all the math to do this problem. I've done enough to know what a solution probably looks like. It involves calculus (99% sure, to find the maximum) and possibly linear algebra. I'm also pretty sure d is non-zero for some base sizes and rank/file combinations, including some non-trivial cases (I think d should be unconstrained for single rank units). But even though I've convinced myself about a method to solve the problem, I haven't actually done the work to find the solution. (In part because its hard, and in part because half of the math involved is half remembered at this point - it's been awhile).

    Anyway, this is not something anyone is calculating on the fly. It's not something anyone knows off the top of their head. The end position here is indeterminable for 99.9% of the players during a game, even knowing the starting position, before actually making the move and checking the model displacements (something which is not trivial to do properly). And yet, knowing how much ground a unit could cover and still wheel some is something everyone playing the game should be able to know.

    The fundamental problem, of course, is that the rear outside model's displacement is non-trivial to calculate based on the movement of the front model. (Even ignoring the calculus part, just calculating the rear model's displacement based on the measured movement requires multiple sin and cos functions to calculate the movement that occurs during rotation about the fixed wheel point).

    If anyone cares to take a whack at finding a general solution and posting their work, I'd love to see it. But it's kind of ridiculous that determining valid end states in a game without repeatedly moving and double checking displacement requires calculus. Especially a game played by pushing physical objects around on a table, where measurements are going to be imprecise. (The end result of which is that many moves people make in actual games, even with top players and ETC quality judges watching, are likely not strictly speaking legal).
    Just because I'm on the Legal Team doesn't mean I know anything about rules or background in development, and if/when I do, I won't be posting about it. All opinions and speculation are my own - treat them as such.

    Legal

    Playtester

    Chariot Command HQ

    The post was edited 2 times, last by Squirrelloid ().

  • So, let's start talking about a solution. First, I want to bring attention to one particular triangle:



    This is from the perspective of the outer rear model, where R is the displacement distance between its starting and ending positions. It gets there by moving forward D, and then wheeling (traversing W to do so). Of course, the only one of these lengths we know is D, because W is not the same as the moved wheel distance, d.

    We can complete the right triangle by adding the distances x' and y' to our diagram, which, if we knew those, would easily let us calculate R using the Pythagorean Theorem. The lengths of these segments are the same as the x-axis and y-axis difference in positions of the model's old and new positions (after moving forward, before wheeling).

    But wait, you say, we don't have a grid, much less an x,y coordinate position for the model! And that would be where you're wrong. We can use the unit to define a coordinate position in terms of base lengths. We want to make the inside front corner the origin, for reasons that will quickly become apparent, which gives the x,y coordinates of the 'starting position' (after moving forward D) as given in small black text in the image, where B1 and B2 are base lengths in the appropriate directions, and the unit is composed of i x k models. (Note we lose half a base length each way, because we want the center of the model).

    But now we need (x',y') so we can take x-x' and y-y' to get x' and y'. Remember we set the origin of our coordinate system on the inside right corner? Well, a wheel is just a rotation, in this case about the origin we chose to set. Fortunately, the math for rotations about the origin is well known, so we can just look it up rather than derive it.

    x' = x cos a - y sin a
    y' = x sin a + y cos a

    Where a is the angle of rotation, and x,y is the original coordinate pair. So all we need now is an angle of rotation. This is actually pretty easy!



    Here's the wheel alone. Note the length of the front of the unit is r. Also not an accidental name - what do you describe the shape made by rotating a point around a center? A circle. Which means r is the radius of the circle. Despite my poor drafting, that means the triangle formed by those two radii and the wheel distance is an isosceles triangle (by definition), and we can easily calculate the angle a using d and r. (Bisect the triangle through the center, which bisects d at a right angle, that gives us two right triangles with known side lengths d/2 and r, and angle a/2. So sin (a/2) = d/2r => a = 2 sin-1(d/2r))

    And now we just have to mash everything together! (yay?)

    a = 2 sin-1(d/2r)
    x = -(i-1/2)B1
    y = -(k-1/2)B2

    x' = x cos a - y sin a
    y' = x sin a + y cos a

    And wait, r = iB1

    So
    x' = -(i-1/2)B1 cos (2 sin-1(d/2iB1) + (k-1/2)B2 sin (2 sin-1(d/2iB1))
    y' = -(i-1/2)B1 sin (2 sin-1(d/2iB1) - (k-1/2)B2 cos (2 sin-1(d/2iB1))

    But we're not done yet! (This is going to be a mess).
    x' = x' - x = |-(i-1/2)B1 cos (2 sin-1(d/2iB1) + (k-1/2)B2 sin (2 sin-1(d/2iB1)) + (i-1/2)B1|
    y' = y' - y = |-(i-1/2)B1 sin (2 sin-1(d/2iB1) - (k-1/2)B2 cos (2 sin-1(d/2iB1)) + (k-1/2)B2|

    And now we need to pythagorean theorem:

    R = sqrt ((-(i-1/2)B1 cos (2 sin-1(d/2iB1) + (k-1/2)B2 sin (2 sin-1(d/2iB1)) + (i-1/2)B1)2 + (D +|-(i-1/2)B1 sin (2 sin-1(d/2iB1) - (k-1/2)B2 cos (2 sin-1(d/2iB1)) + (k-1/2)B2|)2)

    And... that just lets us calculate R. We still have to find a solution such that D+d = March that maximizes d and doesn't result in R > M. (Note: could drop the abs signs on one, because it's being squared, but not the other, because it has to add something before being squared. Ug).

    So, show of hands, who bothers to calculate that during a game. No one? Yeah, that's what I thought.

    Coming up sometime, maybe: screw calculus, we're going to do a numerical approximation. Because it's much much easier.
    Just because I'm on the Legal Team doesn't mean I know anything about rules or background in development, and if/when I do, I won't be posting about it. All opinions and speculation are my own - treat them as such.

    Legal

    Playtester

    Chariot Command HQ

    The post was edited 1 time, last by Squirrelloid: Inappropriate apostrophe ().

  • Hehe, I did a small check to see how far the problem goes, starting with simple case.

    Let's take a model with a length double than its width (cavalry for example, 25*50). Wheel it 90°. The distance moved is 35.36mm (square of 25²+25²). The center, however, moved 39.53mm (square of (50/2+25/2)²+(50/2-25/2)²). Thus, the wheel movement for any single model unit of that type (random, 50*100 monster/chariot) isn't the diagonal for a 90° wheel. It's close enough I guess, we can't measure that precisely anyway, but that just scream issues to me (any unit that is twice longer than larger will have more than half of its models displaced after a 90° wheel. It's not a "small" displacement).

    What a nightmare.

    Too lazy to give any measurement, but to see if you have at least one model is displaced more than your wheel movement, something like this should work I think (didn't verify anything tho) :

    Draw a circle around the corner you're using to wheel (bold black), radius = length (i.e, touch the other front corner of your unit). Any model whose center is outside this circle will be displaced more than your wheel movement (like if the center is somewhere near red circle), any models whose center is inside will be good (like near the green circle).
    So a unit with at least one model outside of that black circle will cause issue. This is basically :
    - All models with their length twice bigger than their width,
    - All units on square base with
    • 5 files and 3+ ranks,
    • 6 files and 3+ ranks,
    • 7 files and 4+ ranks,
    • 8 files and 4+ ranks.
    That's a lot of units.
  • Basically, without a background in math and a computer, it's impossible for you to know before you move models if you will end up moving a single model more than it's march rate.

    Models on the outside of wheels travel father than the ones on the inside. So if you walk forward and wheel at all during a full march move, you have likely made an illegal movement, even with a very tiny wheel, and the bigger your wheel, the farther short of your march rate your unit has to stop moving to follow the rules.

    AKA, a unit can only ever legally move it's full march rate if going straight forward.
    “You can never know everything, and part of what you know is always wrong. Perhaps even the most important part. A portion of wisdom lies in knowing that. A portion of courage lies in going on anyways.” -Lan Mandragoran, EotW


    Dovie’andi se tovya sagain.
  • Squirrelloid wrote:

    The fundamental problem with caps on model displacement (outside freely reforming units like light troops and skirmishers): It makes it impossible for anyone to know what a legal move is ahead of time.
    Unless you measure a circle of radius whatever your move limit is around the various corners ahead of time and make sure not to move anyone beyond those but yeah, totally impossible.
  • I must admit, at its technical application, the minute details of the movement phase have always eluded me.

    Is this an actual problem or a theoretical problem? And if so can we expect a (simple) solution to be presented? Movement phase is complicated enough as is... I have no idea what is going on in c) of the pivots and wheels diagram, even after reading it multiple times...
    Probably the Least Useless Player in the World - International Herminard Poll 2018
  • theunwantedbeing wrote:

    Squirrelloid wrote:

    The fundamental problem with caps on model displacement (outside freely reforming units like light troops and skirmishers): It makes it impossible for anyone to know what a legal move is ahead of time.
    Unless you measure a circle of radius whatever your move limit is around the various corners ahead of time and make sure not to move anyone beyond those but yeah, totally impossible.
    Sarcasm?


    youngseward wrote:

    I must admit, at its technical application, the minute details of the movement phase have always eluded me.

    Is this an actual problem or a theoretical problem? And if so can we expect a (simple) solution to be presented? Movement phase is complicated enough as is... I have no idea what is going on in c) of the pivots and wheels diagram, even after reading it multiple times...
    The point is that this is a hard problem to solve even given abundant time and a high degree of comfort with mathematics. Solving it at the table on the fly? Not happening.

    No simple solution will be presented that adheres to the current rules, because no such solution is possible.

    The 'simple solution' is to change the rules so that you don't have to check multiple different measurements to make a legal move. ie, if you legally moved your march rate according to the rules for movement, it's legal, no need to check model displacements, would be a simple solution.
    Just because I'm on the Legal Team doesn't mean I know anything about rules or background in development, and if/when I do, I won't be posting about it. All opinions and speculation are my own - treat them as such.

    Legal

    Playtester

    Chariot Command HQ

  • Dan wrote:

    So...first, please explain the problem to me as if I were 8.
    I'm in the same grade as you..

    Nicreap wrote:

    Basically, without a background in math and a computer, it's impossible for you to know before you move models if you will end up moving a single model more than it's march rate.

    Models on the outside of wheels travel father than the ones on the inside. So if you walk forward and wheel at all during a full march move, you have likely made an illegal movement, even with a very tiny wheel, and the bigger your wheel, the farther short of your march rate your unit has to stop moving to follow the rules.

    AKA, a unit can only ever legally move it's full march rate if going straight forward.
    And thats where the beer comes in handy.

    See guys no one has mentioned the beer. Theres 'one'. And theres 'more than one'. Once you've have 'more than one' it becomes impossible for a player to distinguish the minute differences. At least thats what I tell myself..


    A less fun but also less mathematical solution might be:
    1. Declare movement type;
    2. Measure and mark the maximum move distance directly away from the units frontage;
    3. Declare and subtract any wheels, etc;
    4. move the unit to the final approximate position;
    AVOIDANCE FAILS 28% OF THE TIME FOLKS. -SE
    Undying Deathstar Construction Inc.
  • The problem with this situation is that T9A movement rules simplify/abstract some of the realities of movement and is very specific about others.

    A column of cavalry, for example, similar to a 12 models KoE cavalry in lance formation is very hard to maneuver with the current rules because the last models will move a lot more if the unit make a wheel, even small ones. In reality the cavalry is following the frontal cavalry, and they are turning along the path marked by the "leader" rank... following the leader movement. The column may end as a bend in mid move and this is illegal movement (as the formation must be a rectangle).

    How to fix this... abstract more or abstract less, both work.

    Either measure only the movement of the frontage of the entire unit. Or allow for units to bend along the ranks somehow, even allowing independent model movement trying to keep a formation... or something else but you have to decide how much you want to abstract the movement, and more importantly, how it will affect the game.
  • It may be good enough... but IMHO the measurement of each model to check if some of them moved more than possible is the problem.

    To disallow shady tactics of moving, like turning the entire unit 180º, thus extending the distance moved for objective purposes you may count only the frontage for objective control.

    This still allow to block with a big tail and other shenanigans but I prefer that to having to measure single model movement after having to measure R&F blocks... just to move it back because some model moved more than allowed.
  • Rolando wrote:

    It may be good enough... but IMHO the measurement of each model to check if some of them moved more than possible is the problem.

    To disallow shady tactics of moving, like turning the entire unit 180º, thus extending the distance moved for objective purposes you may count only the frontage for objective control.

    This still allow to block with a big tail and other shenanigans but I prefer that to having to measure single model movement after having to measure R&F blocks... just to move it back because some model moved more than allowed.
    Or you just accept that objective control will change a little bit. You can still cap model displacement during reforms (that doesn't cause nearly the same issues), which would limit any truly insane abuse.
    Just because I'm on the Legal Team doesn't mean I know anything about rules or background in development, and if/when I do, I won't be posting about it. All opinions and speculation are my own - treat them as such.

    Legal

    Playtester

    Chariot Command HQ

  • New

    Rolando wrote:

    The problem with this situation is that T9A movement rules simplify/abstract some of the realities of movement and is very specific about others.

    A column of cavalry, for example, similar to a 12 models KoE cavalry in lance formation is very hard to maneuver with the current rules because the last models will move a lot more if the unit make a wheel, even small ones. In reality the cavalry is following the frontal cavalry, and they are turning along the path marked by the "leader" rank... following the leader movement. The column may end as a bend in mid move and this is illegal movement (as the formation must be a rectangle).

    How to fix this... abstract more or abstract less, both work.

    Either measure only the movement of the frontage of the entire unit. Or allow for units to bend along the ranks somehow, even allowing independent model movement trying to keep a formation... or something else but you have to decide how much you want to abstract the movement, and more importantly, how it will affect the game.
    You're talking about "Snaking" from 3rd edition.
  • New

    Squirrelloid wrote:

    theunwantedbeing wrote:

    Squirrelloid wrote:

    The fundamental problem with caps on model displacement (outside freely reforming units like light troops and skirmishers): It makes it impossible for anyone to know what a legal move is ahead of time.
    Unless you measure a circle of radius whatever your move limit is around the various corners ahead of time and make sure not to move anyone beyond those but yeah, totally impossible.
    Sarcasm?
    ...a little bit.

    Squirrelloid wrote:

    The 'simple solution' is to change the rules so that you don't have to check multiple different measurements to make a legal move. ie, if you legally moved your march rate according to the rules for movement, it's legal, no need to check model displacements, would be a simple solution.
    A simple tweak is to change where the wheel is measured from, so it's on the actual outside corner you wheel around.