Post by Tomalla on Sept 26, 2018 12:59:18 GMT -8
A few days ago I've been designing a puzzle involving a friendly sponge gun Grunt. I had to assess in which direction he could possibly knock back the enemy Grunt that's in his range. You know, stuff like: is he's below the enemy Grunt, the target will be knocked upwards and so on. It's easy for straight horizontal/vertical/diagonal locations. But it's the areas in between that I'm really after.
Now, if we have the enemy Grunt located somewhere, there's 120 different tiles from which our sponge gun Grunt can attack him. I've tested each tile and discovered something interesting. I've always assumed the distribution of the areas from which you can send the enemy Grunt in one particular direction is symmetrical quarter-wise. This ... turned out not to be true.
I've designed a preview image of those areas. The arrows in the areas indicate the direction in which the enemy would be knocked back:
Look closely at the green (vertical) and the orange (horizontal) areas. They're not identical - the distribution of tiles is slightly different and thus the blue areas are not symmetrical to the diagonals. Believe it or not, but that precise lack of symmetry broke my puzzle pretty badly
Now since I'm a programmer I'm more interested in what is the reason for such asymmetrical distribution. Maybe the cause is a simple inequality which is satisfied in a horizontal direction but not in the vertical one? Or (which is less likely) maybe it was the programmers' deliberate decision and made a look-up table for each of the 120 tiles? One would have to reverse the executable to find out how's the direction really evaluated. Obviously it's not high on my priority list
Now, if we have the enemy Grunt located somewhere, there's 120 different tiles from which our sponge gun Grunt can attack him. I've tested each tile and discovered something interesting. I've always assumed the distribution of the areas from which you can send the enemy Grunt in one particular direction is symmetrical quarter-wise. This ... turned out not to be true.
I've designed a preview image of those areas. The arrows in the areas indicate the direction in which the enemy would be knocked back:
Look closely at the green (vertical) and the orange (horizontal) areas. They're not identical - the distribution of tiles is slightly different and thus the blue areas are not symmetrical to the diagonals. Believe it or not, but that precise lack of symmetry broke my puzzle pretty badly
Now since I'm a programmer I'm more interested in what is the reason for such asymmetrical distribution. Maybe the cause is a simple inequality which is satisfied in a horizontal direction but not in the vertical one? Or (which is less likely) maybe it was the programmers' deliberate decision and made a look-up table for each of the 120 tiles? One would have to reverse the executable to find out how's the direction really evaluated. Obviously it's not high on my priority list