Anything changing with circular LoS vs. diagonal movement?


Although the central place for design discussion is ##crawl-dev on freenode, some may find it helpful to discuss requests and suggestions here first.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 14:30

Anything changing with circular LoS vs. diagonal movement?

I haven't found any post about it, but I think that the circular LoS/spell range is weird with moving diagonally cost same as moving horizontally/vertically. Is anything discussed to address this?
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Tuesday, 18th January 2011, 15:00

Re: Anything changing with circular LoS vs. diagonal movemen

It has been discussed. Many players have asked for square LOS, but none of the devs really like it. There even was a branch to test it out, but I don't think it's maintained anymore. Increasing the cost of diagonal movements is the alternative, but it's hard to code, and gameplay-wise will probably break more things than it fixes.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Dungeon Master

Posts: 1613

Joined: Thursday, 16th December 2010, 21:54

Post Tuesday, 18th January 2011, 15:21

Re: Anything changing with circular LoS vs. diagonal movemen

Squarelos was the best. :(

TGW

Halls Hopper

Posts: 82

Joined: Thursday, 16th December 2010, 22:14

Post Tuesday, 18th January 2011, 15:38

Re: Anything changing with circular LoS vs. diagonal movemen

It's seen support from dpeg, greensnark, doy and rob at least.

Shoals Surfer

Posts: 321

Joined: Friday, 17th December 2010, 02:21

Post Tuesday, 18th January 2011, 15:48

Re: Anything changing with circular LoS vs. diagonal movemen

I agree that square LOS would be the ideal solution to the issue, but if that doesn't go through, I'd rather live with the current inconsistencies than play a grid-based game where diagonal movement costs more than orthogonal.
Btw, is the test verion with square LOS still available somewhere?

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Tuesday, 18th January 2011, 16:10

Re: Anything changing with circular LoS vs. diagonal movemen

Yeah I don't think I'd want to adjust my movement based on diagonal taking more time for some reason. In Powder you couldn't move diagonal at all unless you were polymorphed into certain monsters or filled certain requirements (being a Barbarian).

For this message the author szanth has received thanks:
mageykun
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Tuesday, 18th January 2011, 16:18

Re: Anything changing with circular LoS vs. diagonal movemen

+1 for square LOS.

I realize it doesn't look as smooth, but I think you just have to accept that. It's a roguelike: gameplay consistency should trump appearance.

But other things are much higher on my wish list.

Dungeon Master

Posts: 1613

Joined: Thursday, 16th December 2010, 21:54

Post Tuesday, 18th January 2011, 17:40

Re: Anything changing with circular LoS vs. diagonal movemen

asdu wrote:I agree that square LOS would be the ideal solution to the issue, but if that doesn't go through, I'd rather live with the current inconsistencies than play a grid-based game where diagonal movement costs more than orthogonal.
Btw, is the test verion with square LOS still available somewhere?

The branch (squarelos) still exists on git but it's no longer maintained and so is quite a long way behind trunk now. You could use it to take a look at how it plays, though.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 19:17

Re: Anything changing with circular LoS vs. diagonal movemen

Personally I don't see a problem with diagonal movement cost being sqrt(2) of normal one. With more precise movement point/action point counting this would eliminate some nonsenses like the fact that dungeon exploration is faster when you always move diagonally. The only people "suffering" because of that would be the one that are constantly using tricks with current scheme.

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Tuesday, 18th January 2011, 20:01

Re: Anything changing with circular LoS vs. diagonal movemen

I don't know what you mean; dungeon exploration is done with the 'o' key and happens pretty fast. And I don't really know of any special tricks you can do by moving diagonally in battle, because theoretically your enemies can move diagonally as well. What's the advantage?
User avatar

Dungeon Master

Posts: 182

Joined: Saturday, 18th December 2010, 10:26

Location: Germany

Post Tuesday, 18th January 2011, 20:05

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:The only people "suffering" because of that would be the one that are constantly using tricks with current scheme.

That is not true. Knowing that N steps always take the same amount of time, no matter the direction, is worth a lot. Currently, you can look at the grid and count the number of squares between you and a monster/the stairs to safety. With sqrt, that wouldn't be possible anymore. Yes, you'd know that "diagonal takes longer" but you'd have to take out your calculator to try and find out which of two routes out of danger (one diagonal, one straight, or maybe a mixture of both) would involve taking less hits from e.g. a stationary monster. I'm probably overgeneralizing, but hopefully you know what I mean. Mind, making diagonal movements taking 2 turns would be easier to understand, but I doubt anyone would want that. :D
Please report bugs to Crawl's bug tracker, and leave feedback on the development wiki. Thank you!

For this message the author jpeg has received thanks: 2
mageykun, szanth

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 20:08

Re: Anything changing with circular LoS vs. diagonal movemen

szanth wrote:What's the advantage?


If you would like to explore the dungeon fastest possible way try to move diagonally when possible (instead of left, left, left, (...) do left-up, left-down, left-up, etc.). Each diagonal move shows 5 new squares while the normal one shows 3. The autoexplorer does not use this AFAIK, but if you're on the level that have a running timer for portal or something like this you may want to use this manually.

This is not a big deal, I agree. But it's just stupid IMO. Not stupid maybe, but just ... artificial. Just like there are people complaining about the unnatural and quite funny victory dancing or pillar running. :)
Last edited by dpc on Tuesday, 18th January 2011, 20:17, edited 1 time in total.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 20:16

Re: Anything changing with circular LoS vs. diagonal movemen

jpeg wrote:
dpc wrote:The only people "suffering" because of that would be the one that are constantly using tricks with current scheme.

That is not true. Knowing that N steps always take the same amount of time, no matter the direction, is worth a lot. Currently, you can look at the grid and count the number of squares between you and a monster/the stairs to safety. With sqrt, that wouldn't be possible anymore. Yes, you'd know that "diagonal takes longer" but you'd have to take out your calculator to try and find out which of two routes out of danger (one diagonal, one straight, or maybe a mixture of both) would involve taking less hits from e.g. a stationary monster. I'm probably overgeneralizing, but hopefully you know what I mean. Mind, making diagonal movements taking 2 turns would be easier to understand, but I doubt anyone would want that. :D


If the enemy is one square away from you and you both are going diagonally with the same speed then both are the subject of the same geometry and one square distance will not change. No math required. And if you have to do some math to know if you're going to successfully escape or not -- that's what I call a trickery. In the real life (yeah, I know that DCSS is not a real life ;) ) you would not measure the real distance when escaping but would take a guess based on estimation. In fact, with euclidean geometry of 1.4 diagonal move cost the estimation is more natural.

Or, an "x" could show how much time it takes to reach marked point.

For this message the author dpc has received thanks:
asdu

Ziggurat Zagger

Posts: 3037

Joined: Sunday, 2nd January 2011, 02:06

Post Tuesday, 18th January 2011, 20:53

Re: Anything changing with circular LoS vs. diagonal movemen

szanth wrote:I don't know what you mean; dungeon exploration is done with the 'o' key and happens pretty fast. And I don't really know of any special tricks you can do by moving diagonally in battle, because theoretically your enemies can move diagonally as well. What's the advantage?


Here are two examples:

You're playing a stabber. If you walk in the four cardinal directions, you'll first see sleeping monsters seven steps away. If you walk diagonally, you'll see sleeping monsters four steps away. These monsters have approximately zero chance to wake up if you cannot see them, but a decent chance to wake up every step you take while you can see them. Since you get a separate chance to wake them up with every step, the chance of getting that precious stab in drops as a logarithmic function the more steps you have to take to get into melee. In other words, you will basically never get a stab in by walking horizontally no matter how good your stealth supposedly is.

You're playing an archer or a caster focusing on conjurations. You see an enemy on a horizontal, and it starts coming for you. You shoot, and you shoot, and you shoot, and you get a total of seven shots before you have to Blink away or otherwise get to safety. Now you see an enemy on a diagonal. You shoot, and you shoot, and you shoot, and oh no Blink Blink Blink!!! You only get those three shots in.

For the most obvious results, try playing a demonspawn with the Shadowstalker mutation facet. With Shadowstalker 3 up, you have ONE tile of leeway on a diagonal. As a diagonal stabber, you only have to keep stealth for one single step in order to stab successfully, or as an archer or caster your enemies will only have to take one single step to be in melee with you. Executioners will hit you twelve times before you even see them at the edge of LOS!

For this message the author KoboldLord has received thanks:
evktalo

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Tuesday, 18th January 2011, 21:04

Re: Anything changing with circular LoS vs. diagonal movemen

... No, still don't get it. I mean, yeah, diagonally, if the enemy is three diagonal spaces away from you, it takes three turns. But that's the equivalent of it being three horizontal turns away from you.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 21:10

Re: Anything changing with circular LoS vs. diagonal movemen

szanth wrote:... No, still don't get it. I mean, yeah, diagonally, if the enemy is three diagonal spaces away from you, it takes three turns. But that's the equivalent of it being three horizontal turns away from you.


But your LOS is 3 squares diagonally and 6 horizontally. When approaching horizontally you see the enemy "6 possible shots away from you", but when you're approaching diagonally you get only 3 shots.

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Tuesday, 18th January 2011, 21:17

Re: Anything changing with circular LoS vs. diagonal movemen

*shrugs* I guess. It seems like if they made the LOS square then making the diagonal movement cost more will, in effect, not actually affect anything. So, I'm all for more LOS. 'Tever.

Snake Sneak

Posts: 110

Joined: Monday, 20th December 2010, 21:11

Post Tuesday, 18th January 2011, 21:19

Re: Anything changing with circular LoS vs. diagonal movemen

+1 vote for square los.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 21:22

Re: Anything changing with circular LoS vs. diagonal movemen

szanth wrote:*shrugs* I guess. It seems like if they made the LOS square then making the diagonal movement cost more will, in effect, not actually affect anything. So, I'm all for more LOS. 'Tever.


O_o

I think you still have no clue about the problem (or I misunderstand you).

Currently LOS is calculated "like a circle" and movement is calculated "like a square".

This is inconsistency. Generally there are two options: make LOS "like a square" or make move "like a circle". But not both at the same time, because ... well it's just plain stupid. :D

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 21:25

Re: Anything changing with circular LoS vs. diagonal movemen

ryak wrote:+1 vote for square los.


Not mean to be rude, but who cares about +1's or -1's? It adds nothing to the discussion, really.

Snake Sneak

Posts: 110

Joined: Monday, 20th December 2010, 21:11

Post Tuesday, 18th January 2011, 21:54

Re: Anything changing with circular LoS vs. diagonal movemen

Since this probably would have already been implemented except for a vocal minority of people objecting on dubious aesthetic grounds, i think people should be allowed to voice their support for an idea.

With all due respect, critiquing the contents of someone's comment like that just needlessly takes us off topic and certainly doesn't add to the discussion.

Staying on topic, I think the consistency benefits of keeping everything square outweighs the fact that square line of sight looks different ("ugly").

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Tuesday, 18th January 2011, 22:08

Re: Anything changing with circular LoS vs. diagonal movemen

ryak wrote:Since this probably would have already been implemented except for a vocal minority of people objecting on dubious aesthetic grounds, i think people should be allowed to voice their support for an idea.


The fact that approaching enemy vertically is different than approaching it diagonally is what makes the problem functional, not aesthetic. So dubious functional grounds is more precise. :)

ryak wrote:With all due respect, critiquing the contents of someone's comment like that just needlessly takes us off topic and certainly doesn't add to the discussion.


Agreed. But it's a third or so comment with no value and only "I prefer this" or "I prefer that". This is a matter that have technical grounds and if you or anybody else is in favor of any options than you should rather explain on what basis you're preferring one over other option. I strongly disagree that the issue is aesthetic one and thus call for discussion, not voting.

Shoals Surfer

Posts: 321

Joined: Friday, 17th December 2010, 02:21

Post Tuesday, 18th January 2011, 22:54

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:If the enemy is one square away from you and you both are going diagonally with the same speed then both are the subject of the same geometry and one square distance will not change. No math required. And if you have to do some math to know if you're going to successfully escape or not -- that's what I call a trickery. In the real life (yeah, I know that DCSS is not a real life ;) ) you would not measure the real distance when escaping but would take a guess based on estimation. In fact, with euclidean geometry of 1.4 diagonal move cost the estimation is more natural.

Or, an "x" could show how much time it takes to reach marked point.


What if you're trying to escape from multiple enemies, coming from multiple angles, each having possibly a different speed and maybe even differently ranged attacks? While it's true that probably even with the current system I would try to judge the situation at a glance rather than painstakingly plot the most efficient course (but I'm a rather lousy player, I suspect better players than me would be more precise), with diagonals having different cost things would get much more complicated and likely result in a lot of unexpected tactical errors. Unless, that is, one uses what you call "trickery", which considering the nature of the game is no trickery at all (Omg, calculations? In my Crawl? That's unheard of! ;)), but would still be undesirable (boring).
I'll admit that I'm terrible at math, so maybe I'm overestimating the impact of it. You could even be right in saying that estimating distances would be more natural (I'd have to try it to belive it, though), but most arguments in favour of that system I've read on the wiki are either for purely aesthetical reasons ("square is ugly") or because it's geometrically more elegant, and rely on grossly oversimplificated examples of gameplay.
Likewise the argument that square LOS makes diagonal movement vastly more efficient is in my opinion almost completely meaningless when it comes to playing the game (a lot of which consists of travelling down orizonthal and vertical corridors), as someone pointed out on the wiki. Sure it'll make finding timed portals a bit easier on open levels (which you could easily compensate by making the timer shorter on "big room" levels, or by reducing the chances of portals spawning there), and it'll shave a few hundred turns off the current speedrunning records, but Crawl is far more about surviving in a hostile environment than covering the most ground in the least time.

For this message the author asdu has received thanks:
mageykun

Dungeon Master

Posts: 553

Joined: Wednesday, 22nd December 2010, 10:12

Post Wednesday, 19th January 2011, 00:35

Re: Anything changing with circular LoS vs. diagonal movemen

The squarelos branch was nice while it lasted, but I guess it didn't have enough support to become official. I liked it, though (played offline, didn't mind the aesthetic issues).

The current way crawl does things is a little weird, but it's not terrible. The game is playable, and once you figure out how it works and learn to use it to your advantage, it doesn't really affect gameplay too negatively in my opinion... in some ways there is even strategy in how it's better to approach from certain directions, making you think about how to approach a combat. Cheesy strategy, but that's how the game works.

I think the main advantage squarelos has is that it is simple (there are no tricks involving approaching ranged attackers diagonally, etc). That's the best thing I saw about it, anyway.

Overall, I like the game as it is now and won't be upset if it stays the way it is. I do think square is better though (although I understand why some people oppose it).

Movement is a different issue. I don't think I would enjoy playing crawl with sqrt(2) movement, and I don't say that lightly (this is the only thing I can think of which would most likely make me stick to playing an older version of crawl). There are a bunch of reasons why it is a bad idea, and I could name them if anyone is interested. Suffice to say galehar and jpeg are correct in saying it will cause more problems than it would solve.

For this message the author evilmike has received thanks: 2
evktalo, mageykun

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Wednesday, 19th January 2011, 08:59

Re: Anything changing with circular LoS vs. diagonal movemen

asdu wrote:What if you're trying to escape from multiple enemies, coming from multiple angles, each having possibly a different speed and maybe even differently ranged attacks? While it's true that probably even with the current system I would try to judge the situation at a glance rather than painstakingly plot the most efficient course (but I'm a rather lousy player, I suspect better players than me would be more precise), with diagonals having different cost things would get much more complicated and likely result in a lot of unexpected tactical errors.


Are people really counting every move and attack with multiple enemies? I always use my intuition and very little counting. As there is a lot of random aspects (hits, damage, items, spells, etc.) does counting everything really makes anyone a better player? I'd say more. If I had to count moves I would not play Crawl at all. If I was to like counting moves I'd play Go instead. :)

asdu wrote:I'll admit that I'm terrible at math, so maybe I'm overestimating the impact of it. You could even be right in saying that estimating distances would be more natural (I'd have to try it to belive it, though), but most arguments in favour of that system I've read on the wiki are either for purely aesthetical reasons ("square is ugly") or because it's geometrically more elegant, and rely on grossly oversimplificated examples of gameplay. Likewise the argument that square LOS makes diagonal movement vastly more efficient is in my opinion almost completely meaningless when it comes to playing the game (a lot of which consists of travelling down orizonthal and vertical corridors), as someone pointed out on the wiki. Sure it'll make finding timed portals a bit easier on open levels (which you could easily compensate by making the timer shorter on "big room" levels, or by reducing the chances of portals spawning there), and it'll shave a few hundred turns off the current speedrunning records, but Crawl is far more about surviving in a hostile environment than covering the most ground in the least time.


Sure. The game is playable like it is now, but the inconsistency is hurting both aesthetically and functionally. The "square LOS" is IMO better than the current inconsistency by fixing some functional problems (approaching enemies from different angels). But I still haven't seen a good argument why just using natural euclidean geometry for both LOS and movement which seems to fix both aesthetic and functional problems is such an issue. The only thing I've seen so far are variations of "ZOMG!!! how are we going to do the counting" while I doubt anybody uses hard counting instead of approximation, estimation and experience. In fact most of the people seem to admit that "well, I don't really do the counting, but I heard other people do".
Last edited by dpc on Wednesday, 19th January 2011, 09:03, edited 2 times in total.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Wednesday, 19th January 2011, 09:01

Re: Anything changing with circular LoS vs. diagonal movemen

evilmike wrote: There are a bunch of reasons why it is a bad idea, and I could name them if anyone is interested. Suffice to say galehar and jpeg are correct in saying it will cause more problems than it would solve.


I'm all ears. :)
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 19th January 2011, 09:35

Re: Anything changing with circular LoS vs. diagonal movemen

To everybody that says aesthetic is not an issue, keep in mind that if we make the LOS square, then the following things should also be squared (or we end up with another hybrid system and haven't solved anything):

  • explosions (storm spells, immolation, LRD)
  • tornado
  • silence
  • halo
  • sanctuary
  • Leda's Liquefaction

Have I missed anything?
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks: 2
dpc, evktalo
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 19th January 2011, 16:15

Re: Anything changing with circular LoS vs. diagonal movemen

I think it would have solved something.

LOS and movement speed are relevant every single turn of the game, because with each move, a sleeping monster could come into your LOS.

The listed spells, on the other hand, are cast only sometimes even by players that have them. Further, though I don't really know how those spells work, my guess is a bunch of them could be squared without really affecting their usefulness.

On the other hand, it's easier to imagine that the blast from a magic spell might have a weird shape, than it is to imagine a world where walking distance and seeing distance are different in different directions. I suppose spacetime could be curved differently in the cardinal directions in the DCSS universe though.

I don't mind the current system that much though, even if it is conceptually inconsistent. I just have to remember to exploit that tactically - I never do, I just approach from whatever angle I came into LOS from. Maybe that's part of my unnaturally high death rate.

Which raises a game design philosophy issue: should success in the game be influenced by one's awareness of and ability to exploit anomalies in the game world's geometry? I don't feel strongly either way, but I think it is an issue that should be considered.

But my main point - consistency in movement & LOS (which manifests constantly) is much more important than consistency between those systems and a number of spells (which manifests relatively rarely and is also easier to explain away).
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Wednesday, 19th January 2011, 19:02

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:Which raises a game design philosophy issue: should success in the game be influenced by one's awareness of and ability to exploit anomalies in the game world's geometry?

Success in most games, is always about knowing the game flaws and exploiting them. It's not mandatory to win, but experienced players that try to maximise their win ratio will learn every inconsistency and turn them to their advantage. It's not just in the game world's geometry, but also in the monster AI, the skill system (which skills are worth raising), etc... For developers, our goal is to fix those flaws so that the only way to maximise your winning chance is to play cleverly but fairly.

Back on topic, I'd like to try an euclidean system. Make it a branch like we did for square los. I know, I said it probably wouldn't work, but who knows? Maybe it can work. I think it's worth trying.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks:
vintermann
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Wednesday, 19th January 2011, 19:22

Re: Anything changing with circular LoS vs. diagonal movemen

How hard would it be to create new branches both for squarelos and for euclidean? Then we could playtest them against each other and see what we actually like in practice.

This seems like an eternal question that will probably never go away until it either becomes non-obvious (where the game is internally consistent in most ways), or if we actually try them and we find out which options really suck the most. It may be we'll find that the status quo is prettiest and provides the best gameplay, or maybe we'll find that changing to square LOS or euclidean movement truly is better.

TGW

Halls Hopper

Posts: 82

Joined: Thursday, 16th December 2010, 22:14

Post Wednesday, 19th January 2011, 20:46

Re: Anything changing with circular LoS vs. diagonal movemen

galehar wrote:To everybody that says aesthetic is not an issue, keep in mind that if we make the LOS square, then the following things should also be squared (or we end up with another hybrid system and haven't solved anything):

  • explosions (storm spells, immolation, LRD)
  • tornado
  • silence
  • halo
  • sanctuary
  • Leda's Liquefaction

Have I missed anything?

No problem with changing these.

For this message the author TGW has received thanks:
danr

Dungeon Master

Posts: 553

Joined: Wednesday, 22nd December 2010, 10:12

Post Thursday, 20th January 2011, 01:37

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:
evilmike wrote: There are a bunch of reasons why it is a bad idea, and I could name them if anyone is interested. Suffice to say galehar and jpeg are correct in saying it will cause more problems than it would solve.


I'm all ears. :)


The best way I can illustrate a few of the problems by coming up with a few simple examples. In every one of these cases, assume that all actions are normal speed (thus, "average" attack speed, human movement speed, monster speed 10). The problems exist just as much for other speeds, but having everything equal simplifies things. I'm also not going to consider energy randomization here (even if I did, it wouldn't make a difference).

Imagine you are in this situation:
  Code:
..........
..@....c..
..........

Where you are @ and c is a yaktaur captain. Let's say, for whatever reason, your best option right now is to retreat (and there is some safe place for you to retreat to, somewhere to the left), and that you're in a lot of danger if you try to stay and fight. Moving orthogonally will cost 1 turn, while moving diagonally will cost 1.4 turns. In both cases you'll probably be shot a few times, but in the case of orthogonal movement, you will only be shot once per move. With diagonal movement, you'll either be shot once or twice per turn. Even if you take roughly the same amount of damage while retreating in either case, being shot once per turn is preferable, since the damage comes in smaller amounts per turn. Thus, in some situations (low HP ones in particular) it becomes more preferable to retreat orthogonally. This can be managed by a knowledgeable player, but it's unintuitive and weird - not really much of an improvement over the status quo.

Here is a similar example, except instead of wanting to retreat, you want to get into melee range:
  Code:
.....c....
..@.......

Melee range gives you the advantage of forcing the yaktaur to switch to his (generally weaker) melee attack, rather than shoot you with his crossbow. To do so, you could either (a) move two squares to the right; or (b) one square to the right and one square diagonally up-right. Case (a) costs you two turns, while case (b) costs you 2.4. Again, this makes (a) better. Also weird.

Now consider retreating from melee range.
  Code:
....
.@O.
....

You are @, and O is an ogre. If you retreat one square to the left, the ogre can simply follow you by also moving left. You'll probably be safe for that turn, though. However, if you move one square down-left, you would be less likely to be safe: this is because if you spend 1.4 turns to move diagonally, the ogre could just move 1 square to the left and be adjacent to you again, and would sometimes be able to attack you. Again, this means that if you want to be as careful as possible, you should retreat orthogonally.

This also highlights another problem: what to do about diagonal melee attacks? If diagonal movement costs 1.4x more, should diagonal melee also face the same costs? That could work... but then, what about diagonal ranged attacks? Would it make any sense for the game to make you take more time to shoot arrows at enemies diagonal to you? Probably not (LOS is already limited in those directions). Same goes with spells (and these also have range limitations diagonally). But, you can use ranged attacks (or cast spells) on enemies diagonally adjacent to you. If they cost the same amount of time regardless of the direction you are firing them in, it becomes faster to use ranged attacks on monsters that are in melee range but diagonal to you.

On the other hand, if diagonal melee had no penalty, there would be some strangeness too, because it would essentially treat all 8 squares around you as being the same distance for melee purposes, but not for walking purposes. The gameplay ramifications of this would be less severe, but it would be an inconsistency.

The last problem is that every single issue I mentioned can be negated by a player who meticulously keeps track of their own movement and the movement of monsters, and is aware of the quirks in the speed system. This has already been mentioned in the thread, but it's not to be taken lightly. Most players won't bother with this, but the fact that you could gain an advantage by tediously calculating your movement is a big issue: the game should never reward you with more power for doing things that are unfun.

Another way to put it is this: right now, movement is a simple, straightforward process where you aren't penalized or rewarded for a huge number of non-obvious things. It's a good system, because it's simple and does what it is supposed to. Increasing the cost of diagonal moves would only complicate things, even if the resulting system would be more consistent. I believe that in this case, simplicity is better than consistency. Or, if you prefer, "worse is better".


Anyway, this post isn't an exhaustive list of the problems that would arise, but I think it covers some of the more obvious ones. There are of course ways to design a system around these problems, but that would only make it even more complicated. The point is, the status quo has its issues, but trying to fix them in this way would only create more problems. It wouldn't be worth it. The game would be more consistent, but at a cost of clear and straightforward gameplay.

For this message the author evilmike has received thanks: 7
ais523, co, evktalo, jpeg, mageykun, rockygargoyle, Stormfox
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 20th January 2011, 05:37

Re: Anything changing with circular LoS vs. diagonal movemen

Those are the problems of having sqrt(2) movement, correct? I think part of the problem is that it sounds like you would still have square melee rules - e.g. it takes as long to attack diagonally as it does to attack orthogonally.

Anyhow, so it seems the main problem with square LOS is the aesthetics, and that some spells would have to be changed (though I don't think so). The upside is that it would make game geometry consistent and eliminate some "cheats".

Blades Runner

Posts: 555

Joined: Tuesday, 4th January 2011, 13:38

Post Thursday, 20th January 2011, 07:59

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:Those are the problems of having sqrt(2) movement, correct? I think part of the problem is that it sounds like you would still have square melee rules - e.g. it takes as long to attack diagonally as it does to attack orthogonally.


Why would attack speed change with the distance? Physically, this makes no sense :)

In fact, you may not be able to reach diagonal squares with short blades or other shorter weapons (hand axes and the like). But this is probably something no one would like :)
... and forgive us our YASDs,
As we forgive our developers,
And lead us not into the Abyss,
But deliver us from Sigmund,
For Thine is the Roguelike,
the Orb and the Victory,
now and forever.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 20th January 2011, 10:05

Re: Anything changing with circular LoS vs. diagonal movemen

evilmike wrote:retreating
  Code:
..........
..@....c..
..........



In this example, a diagonal cost of 1.4 makes perfect sense, since you are actually getting faster out of the LOS of the yaktaur (which is euclidean).

evilmike wrote:Here is a similar example, except instead of wanting to retreat, you want to get into melee range:
  Code:
.....c....
..@.......


Now consider retreating from melee range.
  Code:
....
.@O.
....


I'd solve both of these problems by giving a 0.4 speed penalty to a diagonal attack which is preceded by an orthogonal move. Subsequent diagonal attacks should be normal speed. Actually, I'd be more worried about players using the system to give the ogre a free attack and then fleeing (and getting out of melee range), rather than players getting accidentally hit. But they can already do it with the unwield trick anyway.

evilmike wrote:This also highlights another problem: what to do about diagonal melee attacks? If diagonal movement costs 1.4x more, should diagonal melee also face the same costs? That could work... but then, what about diagonal ranged attacks? Would it make any sense for the game to make you take more time to shoot arrows at enemies diagonal to you? Probably not (LOS is already limited in those directions). Same goes with spells (and these also have range limitations diagonally). But, you can use ranged attacks (or cast spells) on enemies diagonally adjacent to you. If they cost the same amount of time regardless of the direction you are firing them in, it becomes faster to use ranged attacks on monsters that are in melee range but diagonal to you.

Why would ranged attack speed should vary depending on the angle? That doesn't make any sense. Ranged attacks have an euclidean range, and that is what is important.

evilmike wrote:Another way to put it is this: right now, movement is a simple, straightforward process where you aren't penalized or rewarded for a huge number of non-obvious things. It's a good system, because it's simple and does what it is supposed to. Increasing the cost of diagonal moves would only complicate things, even if the resulting system would be more consistent. I believe that in this case, simplicity is better than consistency. Or, if you prefer, "worse is better".

Actually, I'm not sure it would be that bad. After all, we live in a world with euclidean geometry (well, mostly ;)). So it might not be that hard to get used to the new system. And also, crawl isn't chess. We have different attack and movement speed for both the player and the monsters. So in practice, counting the squares and the turns is often impossible to do already.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Thursday, 20th January 2011, 10:20

Re: Anything changing with circular LoS vs. diagonal movemen

evilmike wrote:
dpc wrote:
evilmike wrote: There are a bunch of reasons why it is a bad idea, and I could name them if anyone is interested. Suffice to say galehar and jpeg are correct in saying it will cause more problems than it would solve.


I'm all ears. :)


The best way I can illustrate a few of the problems by coming up with a few simple examples. In every one of these cases, assume that all actions are normal speed (thus, "average" attack speed, human movement speed, monster speed 10). The problems exist just as much for other speeds, but having everything equal simplifies things. I'm also not going to consider energy randomization here (even if I did, it wouldn't make a difference).
clear and straightforward gameplay.


All the situations you're describing assume that both player and monster start at "the zero action point". Which seem to be the exact misunderstanding with people saying euclidean system "is just bad".

evilmike wrote:
  Code:
....
.@O.
....

You are @, and O is an ogre. If you retreat one square to the left, the ogre can simply follow you by also moving left. You'll probably be safe for that turn, though. However, if you move one square down-left, you would be less likely to be safe: this is because if you spend 1.4 turns to move diagonally, the ogre could just move 1 square to the left and be adjacent to you again, and would sometimes be able to attack you. Again, this means that if you want to be as careful as possible, you should retreat orthogonally.


Depending on the how did you (player and monster) get into such position the Ogre should have a possibility to hit you even if you move left. The Ogre can be like 0.8 ahead of you with the movement points and will hit you because moving left requires 1.0 and he will have a chance to hit in 0.2 moves. So before you leave the tile. Or something similar depending on the exact model the developer choose.

The euclidean system requires counting everything in more continuous space-time. Many times knowing the exact value of fractional movement of monsters around you will not be possible because they could appear in players LoS at different point but indistinguishably from the players perspective. So there's no possibility of tracking this, and no possibility of taking advantage of "trickery" and "knowing the game tricks". All you have to be aware of is: "you move diagonally, it takes a little more time".

Attack diagonally should not take more time. Slashing with a sword takes the same time no matter in what direction you do it. Obviously attacking diagonally is atacking something which is 1.4 farer but I don't think this is a big deal.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 20th January 2011, 10:52

Re: Anything changing with circular LoS vs. diagonal movemen

TGW wrote:
galehar wrote:To everybody that says aesthetic is not an issue, keep in mind that if we make the LOS square, then the following things should also be squared (or we end up with another hybrid system and haven't solved anything):

  • explosions (storm spells, immolation, LRD)
  • tornado
  • silence
  • halo
  • sanctuary
  • Leda's Liquefaction

Have I missed anything?

No problem with changing these.


There is also balance issue to consider. An explosion of range 2 covers 21 cells in round, 25 in square (+19%). For range 3, we go from 37 to 49 (+32%).
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Dungeon Master

Posts: 182

Joined: Saturday, 18th December 2010, 10:26

Location: Germany

Post Thursday, 20th January 2011, 11:09

Re: Anything changing with circular LoS vs. diagonal movemen

galehar wrote:There is also balance issue to consider. An explosion of range 2 covers 21 cells in round, 25 in square (+19%). For range 3, we go from 37 to 49 (+32%).

To be fair, it's much easier to adapt spells than the other way around. For example, square explosions might cover more squares, but we could reduce the damage by range (i.e. range 3 deals less damage than range 2) to make up for it.
Please report bugs to Crawl's bug tracker, and leave feedback on the development wiki. Thank you!
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 20th January 2011, 16:16

Re: Anything changing with circular LoS vs. diagonal movemen

If there is a delay penalty for moving diagonally, but no delay penalty for attacking diagonally, then you have a significant inconsistency in one of the most critical game situations: where a character is wanting to move out of melee range and the monster is wanting to melee the character. That inconsistency can hurt or help the character, and the devs need to decide whether they want that to be a significant aspect of gameplay. Perhaps it should be in there as a trick that the player can use, I don't know.

However, I think it would still be an improvement to go to square LOS without doing anything to spell blast radii. Those spell blasts only occur occasionally and as "magical" phenomena a weird shape is easy to explain away.

The game currently uses a mix of square and euclidean models:

Square: game grid, melee, movement, some spell blast radii (fireball, meph. cloud), some spell ranges (freeze, others?)

Euclidean: LOS, spell ranges, some spell blast radii

In my opinion, the priority should be on having at least all the most important aspects of the game all on one side of that division. The game grid and melee model are both very important and are both very entrenched on the square side. Unless the game can be radically transformed to allow for 360 degree full freedom of movement like a "modern" graphical game, that won't change.

As you can see from the above lists, switching movement over to Euclidean does not increase consistency much. Spell ranges and blast radii will always be split as long as some are euclidean, because any that apply only to a 3*3 area have to be square by necessity because the square game grid does not allow for euclidean space to be imitated at that small a level.

Switching movement to euclidean would split two aspects that really should be closely related and thus consistent: movement and melee. I guess then at least the "physical" game would be split between the two models just like magic currently is.

The other way is much easier: move LOS and spell ranges to square. All that's left then is some spell blast radii that IMO don't really matter that much - they can be left alone for balance and cosmetic reasons.

Now, to have square range of 8 diagonally as well would truly significantly increase the area for ranged attacks and for disturbing monsters, so the radius could be scaled back. 8^2*pi = 201, and fully square a range of 8 diagonally and orthogonally would be a 17*17 grid, or 289. By just dialing the max range back to 7 you get a total LOS area of a 15x15 square (225). That is a little more than 201 but not too much, and remember, it both helps and hurts, and is usually infringed by dungeon features anyway.

That, or figure out some way for melee to somehow model Euclidean space as well, perhaps increase attack delay by 1.4 if fighting diagonally. But then you've created a euclidean world in which the actors are somehow arbitrarily confined to acting from the centers of square boxes.

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Thursday, 20th January 2011, 17:08

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:If there is a delay penalty for moving diagonally, but no delay penalty for attacking diagonally, then you have a significant inconsistency in one of the most critical game situations: where a character is wanting to move out of melee range and the monster is wanting to melee the character. That inconsistency can hurt or help the character, and the devs need to decide whether they want that to be a significant aspect of gameplay. Perhaps it should be in there as a trick that the player can use, I don't know.


OK. I'm starting to get convinced that maybe some little tuning of diagonal attack may be required in euclidean model, but it's going to be a detail. If we can have fun in a world where approaching an enemies from certain directions may be a (dis)advantage for 3 or more moves, we could have fun in a world where first diagonal melee attack is (dis)advantage for 0.4 moves.


danr wrote:But then you've created a euclidean world in which the actors are somehow arbitrarily confined to acting from the centers of square boxes.


Well. The whole thing is - with ASCII we must create a model where actors are arbitrary confined to acting from the centers of square boxes. No escape from that -- whatever the model will be. We can have a "square everything" model which seems to be easy to explain, accept and implement, but looking funny and having some side effects due to being checker-like. We can have "euclidean model" with more continuous space-time which seems more real-life-like, but thus not so easy to predict, harder to implement and forcing not to depend on "checker-like move counting". Or a mixture of both with inconsistencies all around.

I'd really like to try and play a branch of the DCSS with euclidean geometry (even not polished) and discuss the real thing with people. While the square LOS was already tried and from what people seems to be saying I assume it "worked OK, but looked little ugly" it seems to me that the euclidean one is such a conceptual turn-off for many people that nobody even given it a try. And I believe it's unfortunate.

Vaults Vanquisher

Posts: 476

Joined: Friday, 31st December 2010, 06:38

Post Thursday, 20th January 2011, 18:14

Re: Anything changing with circular LoS vs. diagonal movemen

I don't see how just because the LOS is changed, the AOE shape of spells has to change. Hell, I'm surprised there aren't different types of AOE as it is. They don't all have to be the same. And they aren't the same now, even; there's radius and line AOE already in the game, and not even all radius AOE are the same. Fire Storm certainly has a higher AOE radius than Mephitic Cloud does.
User avatar

Dungeon Master

Posts: 4031

Joined: Thursday, 16th December 2010, 20:37

Location: France

Post Thursday, 20th January 2011, 20:46

Re: Anything changing with circular LoS vs. diagonal movemen

szanth wrote:I don't see how just because the LOS is changed, the AOE shape of spells has to change. Hell, I'm surprised there aren't different types of AOE as it is. They don't all have to be the same. And they aren't the same now, even; there's radius and line AOE already in the game, and not even all radius AOE are the same. Fire Storm certainly has a higher AOE radius than Mephitic Cloud does.


Some spells create clouds in a certain area (poisonous cloud and freezing cloud) while others create an explosion and are much more noisy (mephitic, fireball, storms,...). So cloud spells can use an arbitrary form, but explosions ones should be consistent with the rest of the game's world physics. Fireball and mephitic could be nerf to a cross shape too, but that wouldn't really make them "round" :)

Also, after having talked with another dev, I don't think the 0.4 speed penalty I talked about earlier is a good idea. I'm all for implementing an euclidean branch to try out, but something bugs me. When I thought about how to balance stealth, I realized that to make diagonal move the same distance as orthogonal, 1.4 doesn't work with the current LOS shape. 5 * 1.4 = 7, not 8 :( We don't even have a round LOS!
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Shoals Surfer

Posts: 321

Joined: Friday, 17th December 2010, 02:21

Post Thursday, 20th January 2011, 21:25

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:All the situations you're describing assume that both player and monster start at "the zero action point". Which seem to be the exact misunderstanding with people saying euclidean system "is just bad".

Depending on the how did you (player and monster) get into such position the Ogre should have a possibility to hit you even if you move left. The Ogre can be like 0.8 ahead of you with the movement points and will hit you because moving left requires 1.0 and he will have a chance to hit in 0.2 moves. So before you leave the tile. Or something similar depending on the exact model the developer choose.

The euclidean system requires counting everything in more continuous space-time. Many times knowing the exact value of fractional movement of monsters around you will not be possible because they could appear in players LoS at different point but indistinguishably from the players perspective. So there's no possibility of tracking this, and no possibility of taking advantage of "trickery" and "knowing the game tricks". All you have to be aware of is: "you move diagonally, it takes a little more time".


That's true if you manage to nuke the enemy within a couple of turns of him entering your LOS. The longer the fight lasts, the more keeping track of their movement and actions becomes possible (and advantageous). If anything, it's energy randomization that screws with it the most, but even that isn't so big, so a very patient player would be able to game the system to some extent at least.

dpc wrote:Attack diagonally should not take more time. Slashing with a sword takes the same time no matter in what direction you do it. Obviously attacking diagonally is atacking something which is 1.4 farer but I don't think this is a big deal.


I think it should cost more. If it doesn't, then moving orthogonally and attacking digonally would save you 0.4 energy (or however energy is calculated) every time. Which is no less of a problem the the current "approach orthogonally if you use ranged attacks, approach diagonally if you use melee". Galehar's idea (which he seems to have backed off from, for some reason :P) would solve it, at the cost of being an important but very non-obvious rule, which would have to be explicitly stated to players.
Actually the whole idea of using an euclidean system would probably require distributing Crawl with some kind of "geometry readme.txt" to acquaint new players with the notion that Crawl isn't consistent with pretty much every grid-based game out there :)
User avatar

Vestibule Violator

Posts: 1533

Joined: Thursday, 16th December 2010, 20:52

Post Thursday, 20th January 2011, 22:16

Re: Anything changing with circular LoS vs. diagonal movemen

I just think "square" would fit with how dorky this game really is. If you want real-world type game dynamics, play World of Warcraft. Don't try to get too cute or real with a game that is ultimately based on an 80x43 ASCII box. It can't be done without introducing some weirdness that is non-obvious to the player and can be exploited to game the game.

What's the expression - trying to fit a round peg in a square hole? This expression is generally used to convey "that just won't work very well because of an essential difference between the two things you are trying to put together".

dpc

Mines Malingerer

Posts: 36

Joined: Friday, 31st December 2010, 11:28

Post Friday, 21st January 2011, 12:22

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:I just think "square" would fit with how dorky this game really is. If you want real-world type game dynamics, play World of Warcraft. Don't try to get too cute or real with a game that is ultimately based on an 80x43 ASCII box. It can't be done without introducing some weirdness that is non-obvious to the player and can be exploited to game the game.


Maybe it's just me, but I always enjoyed NetHack and now even more the DCSS because they were not making me feel playing limited or crippled game. Being in ASCII console was not such big limitation anymore. When I first started DCSS and saw dynamic realistic LOS I was like "ZOMG. Sooo much is possible in ASCII." When playing DCSS I'm not thinking about it as playing a board game, but a full RPG/hack&slash. And even my girlfriend enjoyed playing DCSS feeling it's quite natural to play and didn't mind everything being a ... single letter.

Just like I still enjoy C64 demoscene, I enjoy DCSS because they trying to take the most from the limited environment. :)

Snake Sneak

Posts: 110

Joined: Monday, 20th December 2010, 21:11

Post Monday, 24th January 2011, 21:00

Re: Anything changing with circular LoS vs. diagonal movemen

Wait, these aren't even actual problems. Of course moving two spaces horizontally should be faster than moving one diagonally and one horizontally. You're traveling a shorter distance.

For this message the author ryak has received thanks:
vintermann
Next

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 71 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.