Hello hello. In the spirit of my first post, first completion of AE, first feature request etc. I now have my first (possible) bug.
I found this while experimenting with rooms 1N2W and 1N1W of KDD. My initial bug was going to be that the connection between the two rooms (NW of 1N1W and NE of 1N2W) is misaligned - it's three squares wide on either side but starts two squares from the top in 1N1W and yet three squares from the top in 1N2W. After all these years though I guess this won't be changed!
Anyway, when trying to exit across this connection, the behaviour is somewhat odd. Of course, the actual behaviour is the same when exiting any room, but this scenario illustrates why it seem improper. See the images and description which follow in the secret tags.
Click here to view the secret text
×
Now, when Beethro stands at (1), he is allowed to exit via any of the directions NE, E or SE, but always arrives at (5). From (2) he is again allowed to exit via any of the three directions, even though SE is blocked by a wall. From (3), he isn't allowed to exit at all despite the clear space to the NE.
Clearly what is happening here is that when Beethro tries to leave via any direction, the engine takes the orthogonal compoments of the attempted move and checks if there is a free space in the corresponding square. Through experimenting with the editor and open diagonal corners on rooms vertical movement is given preference over horizontal, i.e. if you exit SE through the SE corner you end up S, not SE or E.
This behaviour seems incorrect / counter-intuitive for two main reasons:
1) In the given example, there should clearly be three squares by which Beethro can enter either of the rooms room travelling E or W, but that is not the case as only orthogonal exits are allowed.
2) Since a large amount of the game is based around 8-directional movement and indeed being able to move diagonally even though blocked orthogonally, the exit routine is inconsistent with regular movement
This behaviour is identical in TCB 3.1 to AE, so it's either intentional or no-one else cares! Still, I find it odd; now someone explain why the current behaviour in fact makes perfect sense!
[Last edited by JDAdams at 01-21-2008 05:48 PM]