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.

Vaults Vanquisher

Posts: 447

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

Post Monday, 24th January 2011, 22:09

Re: Anything changing with circular LoS vs. diagonal movemen

The trick here is that it's not a shorter distance because we're not in Euclidean space.

This is the most common misconception.

Do not misconceive.
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Monday, 24th January 2011, 22:53

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:The trick here is that it's not a shorter distance because we're not in Euclidean space.

This is the most common misconception.

Do not misconceive.

If we make diagonal moves cost 1.4, it is to turn the game to euclidean space.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Vaults Vanquisher

Posts: 447

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

Post Tuesday, 25th January 2011, 01:01

Re: Anything changing with circular LoS vs. diagonal movemen

Even then it won't be true euclidean space, even looking past chunky squares and other aliasing silliness; there will still be multiple shortest paths between a whole bunch of pairs of squares, and there is nothing you can do about that.

If anyone's still tossing about the argument that alternating diagonals for exploration is the strict best in chebyshev space, I'd like to note that using diagonals can take you away from important things like walls and corners; being safe is usually better than exploring a bit faster.
User avatar

Vestibule Violator

Posts: 1533

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

Post Tuesday, 25th January 2011, 06:31

Re: Anything changing with circular LoS vs. diagonal movemen

I had a crazy idea for LOS: what if it depended on the direction you were facing? Instead of a full circle, you'd have a half-circle LOS. It would face whichever direction you had been moving. Changing the direction you face would be done by arrow keys - the first time you press an arrow, you would do a quick action (like wielding a weapon) that would shift your LOS to that direction, and then thereafter pressing the same key would move you in that direction.

Monster LOS would behave similarly.

Maybe that would make it way too easy to sneak up - there should still be a chance of stealth failing will in "rear LOS" range. Basically, you'd have a penalty to stealth if you are in the "front LOS" range of a monster, but a boost to stealth if approaching from the rear.

Then of course there could be a 360-vision or "hindsight" mutation that would give the player the current full circle LOS.

dpc

Mines Malingerer

Posts: 36

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

Post Tuesday, 25th January 2011, 08:33

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:Even then it won't be true euclidean space, even looking past chunky squares and other aliasing silliness; there will still be multiple shortest paths between a whole bunch of pairs of squares, and there is nothing you can do about that.


Could you please elaborate and give some examples?
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Tuesday, 25th January 2011, 08:59

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:there will still be multiple shortest paths between a whole bunch of pairs of squares, and there is nothing you can do about that.

How is that a problem? If it is, Chebyshev has it too. Only worse.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Tuesday, 25th January 2011, 09:00

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:I had a crazy idea for LOS

This is indeed a crazy idea. Would require a huge amount of coding and interface tweak and even more balancing.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

For this message the author galehar has received thanks:
danr

Vaults Vanquisher

Posts: 447

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

Post Tuesday, 25th January 2011, 09:27

Re: Anything changing with circular LoS vs. diagonal movemen

written before galehar:

first off, pardon me if I completely botch my math, particularly the terminology, or my ideas about chebyshev space are crazy or confusing

elaboration:
First, disregard the aliasing resolution problem (specifically in crawl, determining which grid spaces to use in mapping a straight line from true euclidean space to the grid, when multiple grid spaces could apply), and other such trivialities
While there may be other reasons why simply adjusting movement costs and whatever else is insufficient to make crawl euclidean, I will only focus on the following:
True euclidean space requires that there may be only one shortest path between any two points; crawl's grid does not allow this.

example:
  Code:
Approximation of a straight line
..
.....
...2..
...#...
..#.....
..#.....
.#......
.#.......
1........

Equivalent geodesic under "euclidean" crawl space
..
.....
...2..
..#....
.#......
#.......
#.......
#........
1........

Equivalent
..
.....
...2..
...#...
...#....
...#....
..#.....
.#.......
1........

And for contrast, one in current crawl space:
..
.....
...2..
...#...
..#.....
.#......
..#.....
.#.......
1........

Now, of course, these problems are more pronounced on a larger grid, but hopefully the basic pattern is apparent.

The aliasing problem itself breaks any hope of true euclidean space, but it at least inconsistencies introduced by it are minimal.

I'd also like to note, in case it hasn't come up yet, that, much to my annoyance, even crawl's "square los" isn't true chebyshev space in that there is only one beam path between any two given points (los structure, apart from the square shape works the same way, if I recall correctly, though I may not) presumably for both interface and gameplay reasons (hard to design an interface for letting players pick the best beam path, funkiness may confuse unimaginative players, things like allowing a horizontal/vertical lineup of yaktaurs with a player at the end all to fire at the player). Anyway, I still prefer "square los" over alternatives for crawl, because of it helping with other inconsistencies.


written after galehar:

First, see above, particularly on squarelos not being true Chebyshev (but I wish crawl could play nice with it)
My idea here is that Chebyshev space embraces these things, so it is indeed consistent. They go against the definition of euclidean space, though, making for funkiness (in a bad way).
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Tuesday, 25th January 2011, 12:01

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:True euclidean space requires that there may be only one shortest path between any two points; crawl's grid does not allow this.

Thanks for the clear explanation. Of course, to have a true euclidean space, we would need to get rid of the grid, and we don't want that. I don't think the "several shortest path" would create any gameplay problem, even if somewhat unintuitive. But I get your point. A 1.4 diagonal movement isn't enough to make the system euclidean and consistent. It would solve the orthogonal vs diagonal approach, but would create several other problems.
<+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 Tuesday, 25th January 2011, 12:17

Re: Anything changing with circular LoS vs. diagonal movemen

galehar wrote:
MrMisterMonkey wrote:True euclidean (...) but would create several other problems.


Which should be easy to fix or are non-issues. ;)
User avatar

Vestibule Violator

Posts: 1533

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

Post Tuesday, 25th January 2011, 16:54

Re: Anything changing with circular LoS vs. diagonal movemen

galehar wrote:
danr wrote:I had a crazy idea for LOS

This is indeed a crazy idea.

Thank you! Those are my specialty! I now return you to your regularly programmed thread...

Vaults Vanquisher

Posts: 447

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

Post Tuesday, 25th January 2011, 19:49

Re: Anything changing with circular LoS vs. diagonal movemen

dpc, galehar said that; I'm guessing just a slight bit of quote fumbling

Anyway, the largest consequences I can think of off the top of my head (there are probably more), other than those already listed (particularly oddities with attack/firing delay), are that you can't cleanly apply some nice properties of euclidean space to crawl, players still have some choice of path to take (arguably a good thing, but I'd prefer embracing it over than adopting a system that attempts to stomp it out), and it upsets purists like me (but who cares about them).

For this message the author MrMisterMonkey has received thanks:
szanth

dpc

Mines Malingerer

Posts: 36

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

Post Tuesday, 25th January 2011, 22:23

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:upsets purists like me (but who cares about them).


I consider myself a puritist too. :) . And current model with mixed movement and LoS is definietly not puritist friendly.

Vaults Vanquisher

Posts: 447

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

Post Tuesday, 25th January 2011, 23:49

Re: Anything changing with circular LoS vs. diagonal movemen

Yeah I agree.

Spider Stomper

Posts: 195

Joined: Thursday, 3rd February 2011, 13:14

Post Tuesday, 22nd March 2011, 10:10

Re: Anything changing with circular LoS vs. diagonal movemen

evilmike wrote: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.


Sorry about the thread necromancy, but euclidean distances is something I'd really like to see in Crawl, and this example is, IMO, an argument for it rather than against it. If you're running away from something, you should run straight away from it. Let's extend this example, into not just retreating from melee range once, but fleeing from a monster. At present, running along the x'es in this example
  Code:
....
.O..
.@..
..x.
.x..
..x.
.x..

is just as effective as running straight down. I think it is clear that in such a situation, it's desirable and fair that the ogre should catch up by moving straight.
Crazy Yiuf mutters: "Good: bonuses. Bad: Boni. Ugly: Bonii!"

Dungeon Master

Posts: 3618

Joined: Thursday, 23rd December 2010, 12:43

Post Tuesday, 22nd March 2011, 10:48

Re: Anything changing with circular LoS vs. diagonal movemen

vintermann: This has nothing to do with Euclidean. Many metrics have this property, among them the one currently in use and Chebychev (square). And in fact, genuine Euclidean distance would make diagonals more expensive, which only very few are prepared to accept (I don't).

Ziggurat Zagger

Posts: 3037

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

Post Tuesday, 22nd March 2011, 11:28

Re: Anything changing with circular LoS vs. diagonal movemen

Making different actions cost different numbers of turns is already counter-intuitive to expectations. You want the movement of taking a simple step on flat, open terrain to take different numbers of turns? It's bad enough when it happens with actions that are only occasionally used, not one of the most common actions in the game. The real world may not encourage you to zig-zag, but the real world doesn't have a square grid to move on, either. If we want the benefits of the square grid, we're stuck with the drawbacks too.

Spider Stomper

Posts: 195

Joined: Thursday, 3rd February 2011, 13:14

Post Tuesday, 22nd March 2011, 11:44

Re: Anything changing with circular LoS vs. diagonal movemen

dpeg wrote:vintermann: This has nothing to do with Euclidean. Many metrics have this property, among them the one currently in use and Chebychev (square). And in fact, genuine Euclidean distance would make diagonals more expensive, which only very few are prepared to accept (I don't).


I know the current metric and the square proposal permits zig-zaging. I know euclidean distance will make diagonals more expensive*. I am prepared to accept it, in fact I think it is a great idea.

As for different actions taking different number of turns, KoboldLord, this is already true for melee attacks. And while it may seem counterintuitive for someone coming from nethack (i.e, it may seem like you're exposed for a longer time when whacking an ancient lich with a +7 +7 quick blade of holy wrath than with a +0 +0 giant club, but you probably aren't) people adapt to it quite well.

* I also know it would strictly speaking be an approximation of euclidean distance, but let's not split hairs on that.
Crazy Yiuf mutters: "Good: bonuses. Bad: Boni. Ugly: Bonii!"

Ziggurat Zagger

Posts: 3037

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

Post Tuesday, 22nd March 2011, 12:27

Re: Anything changing with circular LoS vs. diagonal movemen

Weapon speed is, at least, a statistic emblazoned on the weapon description itself.

If you start charging variable time for moving from tile to tile, you undermine the entire point of measuring distance by tiles in the first place. If you want realistic Euclidean movement, then you are not going to be well-served by any sort of grid at all.

dpc

Mines Malingerer

Posts: 36

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

Post Tuesday, 22nd March 2011, 12:35

Re: Anything changing with circular LoS vs. diagonal movemen

KoboldLord wrote:If you start charging variable time for moving from tile to tile, you undermine the entire point of measuring distance by tiles in the first place. If you want realistic Euclidean movement, then you are not going to be well-served by any sort of grid at all.


I don't agree. The grid gives some static points that we can reason about and represent state at some particular point of time with simplistic view. It is useful now and will still be useful with Euclidean movement. The fact that transition from one grid space to another may be geometrically determined to be different in two different transition types is natural (because it emulates real world), easy to get use to. Euclidean geometry on grid based map is not perfect simulation, but a good approximation (at least better than current situation).
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Tuesday, 22nd March 2011, 14:49

Re: Anything changing with circular LoS vs. diagonal movemen

KoboldLord wrote:You want the movement of taking a simple step on flat, open terrain to take different numbers of turns?

What about spriggans, nagas, ponderousness, swiftness, shallow water and Leda's liquefaction? Variable movement rate isn't new, it's already in the game. If we use euclidean, we should change the show_real_turns option to default to true, so the effect is obvious. It will help dispel the illusion that crawl's turns are equal and that its movement system can be compared to chess.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Spider Stomper

Posts: 195

Joined: Thursday, 3rd February 2011, 13:14

Post Tuesday, 22nd March 2011, 15:00

Re: Anything changing with circular LoS vs. diagonal movemen

KoboldLord wrote:If you start charging variable time for moving from tile to tile, you undermine the entire point of measuring distance by tiles in the first place. If you want realistic Euclidean movement, then you are not going to be well-served by any sort of grid at all.


In fact you are charged variable time for that too, moving from tile to tile, even today. It's slightly randomized - a change introduced in 0.6 or so to discourage 1x1 pillar dancing. Haven't you noticed enemies occasionally gaining or losing a square on you when fleeing? It does not break the game. It does break some assumptions.

Also, I do not demand realistic euclidean movement to the degree that the game should stop being grid-based, or even become hex-based. I would just like to see a better approximation, consistent with the better approximation used for LOS/ranged attacks.
Crazy Yiuf mutters: "Good: bonuses. Bad: Boni. Ugly: Bonii!"

Ziggurat Zagger

Posts: 3037

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

Post Tuesday, 22nd March 2011, 20:20

Re: Anything changing with circular LoS vs. diagonal movemen

galehar wrote:What about spriggans, nagas, ponderousness, swiftness, shallow water and Leda's liquefaction? Variable movement rate isn't new, it's already in the game. If we use euclidean, we should change the show_real_turns option to default to true, so the effect is obvious. It will help dispel the illusion that crawl's turns are equal and that its movement system can be compared to chess.


Two of those are constant within a given character, three are choices the player intentionally made, and the other is a specific property of a particular type of terrain. You wouldn't charge more time for moving button-press right than left unless there's an absolutely fantastic reason, and you shouldn't charge more time for moving one button-press diagonal up-right unless there's an absolutely fantastic reason.

Realism is not a fantastic or even a good reason, because realism is utterly and irrevocably shattered by the very presence of the grid itself. The battle of realism is lost.

zrn

User avatar

Snake Sneak

Posts: 112

Joined: Friday, 25th February 2011, 01:38

Post Tuesday, 22nd March 2011, 20:26

Re: Anything changing with circular LoS vs. diagonal movemen

I know the perfect solution! Change the square based grid into an octagon grid! An octagon is an amazing shape with eight fantastic sides and eight awesome angles. Using octagons, you wouldn't have to worry about making certain movement directions take longer turns, but trying to move in an orthogonal direction using diagonals would physically take more moves. Don't know how that could be incorporated into ascii though...

But uh, in all seriousness, square line of sight sounds like the easiest and most suited solution to the los problem, if you could even call it that. It just makes more sense.

dpc

Mines Malingerer

Posts: 36

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

Post Tuesday, 22nd March 2011, 20:58

Re: Anything changing with circular LoS vs. diagonal movemen

zrn wrote:But uh, in all seriousness, square line of sight sounds like the easiest and most suited solution to the los problem, if you could even call it that. It just makes more sense.


This is not an argument against euclidean geometry.

zrn

User avatar

Snake Sneak

Posts: 112

Joined: Friday, 25th February 2011, 01:38

Post Tuesday, 22nd March 2011, 21:25

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:
zrn wrote:But uh, in all seriousness, square line of sight sounds like the easiest and most suited solution to the los problem, if you could even call it that. It just makes more sense.


This is not an argument against euclidean geometry.

Yeah, you're right. I'm really not sure if I would enjoy euclidean more or less than what we have in place right now. I am pretty curious about it. But what I do know is that square los is just the current system, but slightly better, so I say why not?
User avatar

Slime Squisher

Posts: 332

Joined: Friday, 4th February 2011, 18:04

Location: The South, US

Post Tuesday, 22nd March 2011, 21:39

Re: Anything changing with circular LoS vs. diagonal movemen

Sure you can, you just have to (speaks in the voice of a purple dinosaur); "Use your imagination!" (Spreads hands to make the Barney rainbow)
Human kind cannot bear very much reality.
TSE

Vaults Vanquisher

Posts: 447

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

Post Tuesday, 22nd March 2011, 21:59

Re: Anything changing with circular LoS vs. diagonal movemen

Don't octagons tile nicely in hyperbolic space? Rather impractical for crawl, though.

I, too, would like to see a better approximation of chebyshev space; purely, it probably wouldn't work too well in crawl, but I think something like squarelos would be better than a full euclidean approximation. I'm not against trying euclidean, though, and I think it would at least be better than the status quo, for consistency reasons.

Spider Stomper

Posts: 195

Joined: Thursday, 3rd February 2011, 13:14

Post Wednesday, 23rd March 2011, 08:11

Re: Anything changing with circular LoS vs. diagonal movemen

KoboldLord wrote:Realism is not a fantastic or even a good reason, because realism is utterly and irrevocably shattered by the very presence of the grid itself. The battle of realism is lost.


It's not a black or white issue.
Crazy Yiuf mutters: "Good: bonuses. Bad: Boni. Ugly: Bonii!"
User avatar

Vestibule Violator

Posts: 1533

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

Post Wednesday, 23rd March 2011, 15:23

Re: Anything changing with circular LoS vs. diagonal movemen

I agree with making everything square. Circular LOS / spell radii is simply an attempt to simulate a false "realism" at the expense of consistency. For me, consistency beats all other considerations here.

dpc

Mines Malingerer

Posts: 36

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

Post Wednesday, 23rd March 2011, 15:29

Re: Anything changing with circular LoS vs. diagonal movemen

danr wrote:Circular LOS / spell radii is simply an attempt to simulate a false "realism" at the expense of consistency.


Euclidean is consistent and more real. Consistency of square LoS is not an argument against euclidean geometry.

This is weak argument anyway. Should all items have the same weight for consistency? Should all spells take same MP for consistency? Should all races have the same attributes for consistency? As you can see consistency is rarely a value at all.
Last edited by dpc on Wednesday, 23rd March 2011, 15:36, edited 1 time in total.
User avatar

Slime Squisher

Posts: 332

Joined: Friday, 4th February 2011, 18:04

Location: The South, US

Post Wednesday, 23rd March 2011, 15:32

Re: Anything changing with circular LoS vs. diagonal movemen

@danr
Well, false realism, but also real aesthetic. It does look much nicer than Square LOS. In fact, it was one of the things I first noticed and liked when I begin playing Crawl. Circular LOS does have value, but I think Square LOS just has more.
Human kind cannot bear very much reality.
TSE

dpc

Mines Malingerer

Posts: 36

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

Post Wednesday, 23rd March 2011, 18:31

Re: Anything changing with circular LoS vs. diagonal movemen

minmay wrote:Not on a grid, it isn't.


And why is that?

Spider Stomper

Posts: 233

Joined: Monday, 20th December 2010, 20:58

Post Wednesday, 23rd March 2011, 18:42

Re: Anything changing with circular LoS vs. diagonal movemen

dpc wrote:
minmay wrote:Not on a grid, it isn't.


And why is that?


Ever use a reach weapon? Why does vampiric touch need a kludge? I could go on, but what is the point. This is simply an example of aesthetics over function, and no amount of reason will win the argument.

dpc

Mines Malingerer

Posts: 36

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

Post Wednesday, 23rd March 2011, 19:21

Re: Anything changing with circular LoS vs. diagonal movemen

acvar wrote:I could go on, but what is the point. This is simply an example of aesthetics over function, and no amount of reason will win the argument.


That's the problem with discussing this. I've started this thread and watched it for a long time. Many people are claiming there is a lot of reasons not to like euclidean "and they could go on" but not giving any arguments.

The weapons of reaching is not a problem. From what I understand you can basically attack something two titles away with it. So now it would probably have to look like something like this: http://img684.imageshack.us/f/64467997.png/ . What's inconsistent about it? Or do I get anything wrong?

Show me the problems and we will discuss how to fix them. Euclidean movement is functionally, aesthetically great and is much more realistic. There only problem with it are people who are prejudged about the idea. If it's not -- show me why and convince me.

Vaults Vanquisher

Posts: 447

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

Post Wednesday, 23rd March 2011, 19:59

Re: Anything changing with circular LoS vs. diagonal movemen

bringing up again (even I forgot!) that it's not even true euclidean and also inconsistent:
viewtopic.php?p=3988#p3988

the first question here:
will you embrace these inconsistencies or try to ignore them and pretend it's euclidean?

the second question:
if you're embracing it, why not go chebyshev?
if you're ignoring it, why? I'm guessing all of interface, gameplay, and aesthetic reasons. good job. this is what squarelos is, too. You can also ignore this stuff and use a squarelos system. Both of these are ugly, but I rather like keeping fractions and icky stuff like that out of the mix.


Addressing your bolded list thing, and note here that I'm not trying to convince you your system is horrible, but just that this is a stupid argument:

Euclidean movement doesn't work nicely on a grid at all (without tracking wacky stuff like fractional squares), but if you want to argue for a pretend-euclidean system, or do all that wacky stuff, yes I guess it is functional. I'm not really sure what you mean by "functional", though; lots of things are functional, but don't really work well in practice. How about taxicab geometry? It's quite functional, but try playing crawl without diagonals.

Aesthetically, this is highly subjective. I, for one, prefer squares, and think chunky circles are incredibly gross. I'm not really sure why you're using this as an argument.

On realism, this argument is kind of funny, because you can take two stances on it:
direct projection of reality onto a grid: yes, a euclidean approximation is more realistic, because it pretends to be what everyone is used to from real life
projection of reality, respecting differences between grids being grids and life not being grids: A chebyshev metric is far more natural for grids, but some others would work here, too. Here, you choose not what pretends to look like life to someone who can't see that grids are grids, but what works most naturally in a grid, like how euclidean geometry works nicely in the real world. Yes, you have to deal with some griddy details, but there's no avoiding that with a euclidean approximation, either.

I could just as easily bold up something saying chebyshev space is functional, aesthetically great, and much more realistic. The only problem with it is people who are prejudged about the idea. If it's not, show me why and convince me.
but that is most likely a waste of time


Further on keeping fractions and icky stuff like that out of the mix, this is one of the reasons I prefer squares. Does my fraction-hate make me prejudiced or something? Does your "realism"/"aesthetics" love make you prejudiced?

~who knows~
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Wednesday, 23rd March 2011, 21:15

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:bringing up again (even I forgot!) that it's not even true euclidean and also inconsistent:
viewtopic.php?p=3988#p3988

Thanks for refreshing everyone's memory with that interesting post about why applying a 1.4 cost for diagonal movement isn't enough to make our grid a true euclidean system. Now, let's take a step back from all this theory and take a more practical point of view. Is having several same cost paths between 2 points a problem? It's not with the current system (and it's worse in that regard). Why would it be in this euclidean approximation? And what is the problem with our current system? The problem is that approaching an enemy from a diagonal is different than approaching it orthogonally. Isn't it addressed by making diagonals move cost more? What are the gameplay problems created by this approach?
<+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 Wednesday, 23rd March 2011, 21:19

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:bringing up again (even I forgot!) that it's not even true euclidean and also inconsistent:
viewtopic.php?p=3988#p3988

the first question here:
will you embrace these inconsistencies or try to ignore them and pretend it's euclidean?


Of course I'll ignore this. The post you've linked is about aliasing. Let me cite: True euclidean space requires that there may be only one shortest path between any two points; crawl's grid does not allow this. What kind of argument is it? That if we can't have perfect euclidean space implementation then we should not do it at all? There is not even a word about what does it make inconsistent for the actual gaming experience.

MrMisterMonkey wrote:the second question:
if you're embracing it, why not go chebyshev?
if you're ignoring it, why? I'm guessing all of interface, gameplay, and aesthetic reasons. good job. this is what squarelos is, too. You can also ignore this stuff and use a squarelos system. Both of these are ugly, but I rather like keeping fractions and icky stuff like that out of the mix.


Ignoring it. Should FPS game start using chebyshev because you can't have perfect euclidean model in floating point math (limited numeral resolution) they are using? Would you consider square-like movement in Quake aesthetically pleasing?

MrMisterMonkey wrote:Euclidean movement doesn't work nicely on a grid at all (without tracking wacky stuff like fractional squares), but if you want to argue for a pretend-euclidean system, or do all that wacky stuff, yes I guess it is functional.


The game already keeps some notion of fixed-point fraction of "moves" -- not all actions take the same time, not all races attack/move with the same speed. There is no need for fractional squares. There is only a need to make time of moving diagonally cost 14 "action points" and other moves cost "10". Nothing "wacky" about it.

MrMisterMonkey wrote:i'm not really sure what you mean by "functional"


"Giving a good, consistent and natural gaming experience -- functional for the player". English is my second language so I may choose not the best words.

MrMisterMonkey wrote:Aesthetically, this is highly subjective. I, for one, prefer squares, and think chunky circles are incredibly gross. I'm not really sure why you're using this as an argument.


OK, let's drop it. You may enjoy the squares, sure. This is not an argument, but I do like circles better. And I guess if circle LoS was introduced -- there are people sharing my preference too.

MrMisterMonkey wrote:On realism, (...) Yes, you have to deal with some griddy details, but there's no avoiding that with a euclidean approximation, either.


The fact that you can approach range firing enemy faster moving diagonally (of course with non-square los) is not a detail. The fact that moving diagonally is more efficient (because it discovers more view in same time) is not such a detail and it won't go away with squarelos, sorry.

MrMisterMonkey wrote:I could just as easily bold up something saying chebyshev space is functional, aesthetically great, and much more realistic. The only problem with it is people who are prejudged about the idea. If it's not, show me why and convince me.
but that is most likely a waste of time


I will agree that Chebyshev is functional. I'll agree about being aesthetically great, because I'm OK with the fact that you can like squares better. But by realistic I mean "more real-life resembling". And I won't agree on this point. Chebyshev is "more chess-life like", so you could use "chessalistic" word instead and then I'd agree with the statement.

MrMisterMonkey wrote:Further on keeping fractions and icky stuff like that out of the mix, this is one of the reasons I prefer squares.
[/quote][/quote]

No need of fractions. Where do you see any icky stuff? I've already answered the pointed out could-be-issues and non of them is really an issue. The implementation may not be that trivial and some (implementation) details may need some work, but nothing really icky.


Still in the whole post you did not give one valid drawback of euclidean movement (and LoS). You just seem to prefer and thus defend Chebyshev and I'm not interested in arguing why Chebyshev is good or bad, because I agree it's good (much, much better than current mix). I'm interested in anybody explaining me why euclidean would be bad or a agreement "OK, euclidean is very OK: someone could really try such branch and we would see what happens" . And the "not perfect mathematically" is not an argument. No game have perfect euclidean world and still they prefer it over playing everything on chessboard.

Vaults Vanquisher

Posts: 447

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

Post Wednesday, 23rd March 2011, 21:33

Re: Anything changing with circular LoS vs. diagonal movemen

galehar:

not much gameplay worry about that specifically, but so long as people take realism/aesthetics as a valid argument, I think it remains relevant.
If you're not worried about realism/aesthetics, disregard it.


dpc:

I don't think you understand the purpose of that post; it was not to argue for squarelos/chebyshev, or give any drawbacks of a pretend-euclidean system, but to illustrate that the matter is grounded heavily in taste.

As for fractional ickiness (by which, in that context, I meant increased diagonal movement cost; sorry if that was confusing), I don't like it because when I retreat or approach monsters or what-have-you, I don't want to do any fancy math to make sure I'll do it well. Yes, crawl has other actions like this, and they, too, complicate this matter, but their consistency between directions makes them a bit simpler (but whatever; I still don't like them).

On diagonal movements being more efficient in squarelos/chebyshev, sure, they cover more ground, but they also have the potential to move the player away from important things, like corners for ducking, or towards nasty things, like attackers; they are not strictly better, and I don't really see the problem with them.

For this message the author MrMisterMonkey has received thanks:
dpc

dpc

Mines Malingerer

Posts: 36

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

Post Wednesday, 23rd March 2011, 21:36

Re: Anything changing with circular LoS vs. diagonal movemen

KoboldLord wrote:You wouldn't charge more time for moving button-press right than left unless there's an absolutely fantastic reason, and you shouldn't charge more time for moving one button-press diagonal up-right unless there's an absolutely fantastic reason.


OT, but you just made me realize that we could have a height for titles so that we could have hills, pits, etc. So running up-hill could cost more time and down-hill. Fantastic! If there'd be only a good way to represent this visually... ;)
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Wednesday, 23rd March 2011, 21:40

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:to illustrate that the matter is grounded heavily in taste.

That's very true. Our current system has drawbacks, and it would be solved by either making LOS/range square, or making diagonal cost 1.4. My personal preference goes to the latter.
<+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 Wednesday, 23rd March 2011, 21:52

Re: Anything changing with circular LoS vs. diagonal movemen

MrMisterMonkey wrote:I don't think you understand the purpose of that post; it was not to argue for squarelos/chebyshev, or give any drawbacks of a pretend-euclidean system, but to illustrate that the matter is grounded heavily in taste.


Agree. I just like circles, dislike squares. That was the thing that sold me to DCSS: realistic LoS (circle + good obstacle mapping). Then the fact of diagonal approaching started to irritate me. That's why I want to prove that full-everything-euclidean-like model has no real drawbacks, so that maybe someone with more knowledge about the Crawl's source code and a little time tries to implement it in some branch, because ... "why not".

MrMisterMonkey wrote:As for fractional ickiness (by which, in that context, I meant increased diagonal movement cost; sorry if that was confusing), I don't like it because when I retreat or approach monsters or what-have-you, I don't want to do any fancy math to make sure I'll do it well.


I don't like doing any math when gaming. For me that's the arguable, but still worth mentioning advantage of euclidean-like model -- your brain is used to comparing visual distances, not counting squares. In some situations careful counting is providing advantage over just "feeling" which is not a way I want it to be. If I wanted to count artificially modeled moves I'd be playing Go (which is BTW. very mathematically pleasing game), not "kind-of-cRPG".

Vestibule Violator

Posts: 1567

Joined: Friday, 21st January 2011, 22:56

Post Thursday, 24th March 2011, 00:54

Re: Anything changing with circular LoS vs. diagonal movemen

A quick recap: the only real problem with the current system is the diagonal range vs movement difference. If you're ranged you want to approach melee enemies straight, if you're melee you want to approach ranged enemies diagonally, if you're a stabber you want to approach sleeping enemies diagonally. This is silly and not obvious to new players, and thus should be removed. So far everyone agrees I think?

Now the two obvious ways to change this problem are either changing ranges (including sight range) to reflect the equal movement cost for diagonals and straight directions (squarelos) or changing diagonal movement to take longer (euclidean movement).

The only real argument against squarelos is that it would look ugly, everything else is minor stuff. Every sane crawl player uses autoexplore, so who cares if diagonal exploration is optimal in open spaces? "Weird explosions" falls under the ugly issue, besides I don't think explosions need to be changed for squarelos to work, it's a very minor inconsistency compared to the current one. But a straight black wall of unexplored space looks bad.

The only problem with euclidean movement is that everyone who would ever even touch crawl expects diagonal movement on a grid to cost the same as straight movement, despite it costing more would be more realistic. It would not create any gameplay shenanigans that aren't already possible with weapon switching, but it would force people to think about movement even more and put these shenanigans in the spotlight (this is a disadvantage imo, but other people might say it is an advantage).

In this whole thread I haven't seen any other major arguments, everything else is pretty much semantics and arguing for its own sake.

I think euclidean movement would be just as bad as the current system as gameplay goes (people would still have to think about diagonal vs straight movement, and it still wouldn't be very obvious to new players), but at least it would be more consistent (one of the many minor points that were brought up), and the difference would be slightly more obvious, at least with show real turns enabled (which should be the default mode with euclidean movement). Squarelos would give the best gameplay imo, and everything would behave as expected from a grid, but would look ugly, especially if explosions also get changed. Personally I would probably prefer either to the current system, and squarelos to euclidean movement. IMO crawl is already nearly as ugly as it gets, especially in console mode, so screw aesthetics, go gameplay. Unfortunately I wasn't playing crawl when squarelos was being tested, so I cant really say this with any authority.

For this message the author Galefury has received thanks: 3
danr, dpc, mageykun

Vaults Vanquisher

Posts: 447

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

Post Thursday, 24th March 2011, 03:10

Re: Anything changing with circular LoS vs. diagonal movemen

squarelos was beautiful and square explosions are beautiful

A pity about all those vaults that would need reevaluation, though, what with expecting a different los.

Then again, a few might need modification with the introduction of large diagonal movement costs, too, if they happen to expect diagonal usage, and the increased cost would break them or otherwise prove overly harmful to the player.

dpc

Mines Malingerer

Posts: 36

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

Post Thursday, 24th March 2011, 07:18

Re: Anything changing with circular LoS vs. diagonal movemen

Galefury wrote:A quick recap


You pretty much objectively summed everything, I think.

We all seem to agree that current model is no good. Both euclidean or squarelos would be better. I'm wondering if having this as an runtime option is a possibility.

OT. Am I the only one who finds ASCII beautifully? Maybe it's because I'm a sysadmin/programmer and rarely go out from the console anyway. With all characters and 256 color supporting terminals (both background and foreground) and ambitious implementation like in DCSS, I think there's a big area for beautiful gaming experience ahead. :)

Vaults Vanquisher

Posts: 447

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

Post Thursday, 24th March 2011, 08:06

Re: Anything changing with circular LoS vs. diagonal movemen

On having it as a runtime option, I don't think it would be feasible to balance for both of them, especially with in vault design, where it's sometimes desirable to fine-tune based on line of sight.

On ASCII beauty, I quite agree. Good stuff.
PreviousNext

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 30 guests

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