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.

User avatar

Vestibule Violator

Posts: 1459

Joined: Sunday, 19th December 2010, 05:45

Location: New England

Post Thursday, 24th March 2011, 08:22

Re: Anything changing with circular LoS vs. diagonal movemen

We all seem to agree that current model is no good.

Am I the only person fine with the status quo? The existing inconsistencies seem pretty minor to me. (awaits stoning).
User avatar

Tomb Titivator

Posts: 804

Joined: Monday, 31st January 2011, 23:19

Post Thursday, 24th March 2011, 09:01

Re: Anything changing with circular LoS vs. diagonal movemen

What if an enemy is coming at you diagonally.

So it's next to you now and I presume the 1.4 turn delay happens after they move? So now you can melee them and they have a 1.4 turn delay after you hit them before they can hit you back. But you should only be able to hit them after that 1.4 turn delay because only then will they be beside you. See the paradox?

Square LOS is the only reasonable way to go.
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Thursday, 24th March 2011, 09:24

Re: Anything changing with circular LoS vs. diagonal movemen

snow wrote:What if an enemy is coming at you diagonally.

So it's next to you now and I presume the 1.4 turn delay happens after they move? So now you can melee them and they have a 1.4 turn delay after you hit them before they can hit you back. But you should only be able to hit them after that 1.4 turn delay because only then will they be beside you. See the paradox?

That doesn't make any sense and it's not how the system works.
Monsters have energy. When you move, they gain energy (more if you move slower). When it's their turn, they use their energy to move and attack. When they run out, it's your turn.
<+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, 24th March 2011, 09:25

Re: Anything changing with circular LoS vs. diagonal movemen

snow wrote:So it's next to you now and I presume the 1.4 turn delay happens after they move? So now you can melee them and they have a 1.4 turn delay after you hit them before they can hit you back. But you should only be able to hit them after that 1.4 turn delay because only then will they be beside you. See the paradox?.


Let's don't use "1.4" but the "14" instead.

If you keep track of AP at all times both you an an enemy could arrive to the destination points at "fractional points of time". Depending on the last digit of enemies action point count it can arrive at the square diagonally near you with around 0.4 chances that you can hit him twice (because he effectively had to travel longer distance toward you). So yes -- as distances between everything are quantified, your weapon range is effectively 1.4 in diagonal directions and 1.0 in normal directions. I don't see much of the problem here, because by carefully keeping track of fractional movement you could already use such tricks (switching weapon, etc.). Simple small movement time randomization (which already seems to be implemented to prevent 1x1 pillar dancing) prevents the counting and using this as advantage.

Snake Sneak

Posts: 116

Joined: Saturday, 18th December 2010, 11:32

Post Thursday, 24th March 2011, 10:36

Re: Anything changing with circular LoS vs. diagonal movemen

I too think that there is a lot of beauty in nice ASCII and Crawl has it very nice.

However, I'm not sure why would square LoS be ugly. You spend most of the game in square rooms and their squareness isn't a blight upon the eyes. There was also a mention of leaving a black wall of "fog of war" with square LoS, which is relevant in open spaces, but if you travel in an orthogonal direction, you get the same effect. Of course, maybe it looks weird in practice, but in theory I don't see why.

I fear Euclidean movement, after years of playing roguelikes the traditional way I might not be able to adjust to it (for example, I can't adjust to Brogue's "no cutting corners" rule, but at least there I don't get punished for trying it). However, it might lead to more intuitive gameplay for new players.

All in all, I think that debate might only be brought closer to resolution with an experiment that pitches euclidean vs chebyshev in a real roguelike (that is, people with strong opinions might only be convinced when they see that there's nothing wrong with the opposing proposition - or that there's something wrong with their).

Vaults Vanquisher

Posts: 476

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

Post Thursday, 24th March 2011, 10:38

Re: Anything changing with circular LoS vs. diagonal movemen

I get a headache every time this is brought up again. -_-

Spider Stomper

Posts: 233

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

Post Thursday, 24th March 2011, 18:48

Re: Anything changing with circular LoS vs. diagonal movemen

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


No it would not. Lets take a very simple example. You are fighting an elephant in the lair. You are wielding a whip of reaching. The elephant left and up from your current position. You hit him and he panics and runs straight away from you on the diagonal. If you try to use your whip to "reach" him you fail. It does not matter whether it is a movement cost of 1 or 1.4. This is a bug. The expectation is that it does not matter which way the elephant flees 1 square I should be able to use the reaching ability to get one last shot. As it is you have to follow the elephant and wait for him to make a less efficient move so you can have a shot with your reach weapon. This is bad no doubt, but the 1.4 movement cost has no effect on the situation. If he moves anything other then diagonal you still get that parting shot. Not only that what is even worse is that if when he makes that first move on the diagonal you instead of directly following him you step either horizontally or vertically you now get your parting shot right then and there. In other words you make a move that should bring you further away from your foe, but you actually get closer do to the f'ed up way your system works. You want to talk about inconsistencies. That is a major one. It is completely unintuitive, and as such spoily which crawl is supposed to be against. This tactic is easier to understand and exploit with a range 2 attack, but it is still present at other ranges if a bit less consistent. Basically if you move orthogonally when you opponent leaves or is about to enter your range you often get an extra shot. Is that what you are shooting for?

Dungeon Dilettante

Posts: 2

Joined: Thursday, 24th March 2011, 19:56

Post Thursday, 24th March 2011, 20:14

Re: Anything changing with circular LoS vs. diagonal movemen

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


Even if that is the only problem with Euclidian costs for movement, it is very much a dealbreaker. Virtually all games that use square grids with diagonal movement have equal costs for diagonal or orthogonal movement. All gamers will expect this.

If it weren't for LOS weirdness we wouldn't be talking about this at all. Absent that issue, which if it needs fixing can be fixed very easily with squareLOS, the only advantage of the Euclidian metric is that it satisfies some people's intuitions about the Crawl grid approximating Euclidian space. However a 5x5 room in Crawl does not approximate a 5mx5m room in Euclidian space and it is not a problem that crossing it diagonally does not take sqrt(2) as much time as crossing by hugging the walls. The current system is an abstraction. This is not a problem. It works.

People understand the Chebyshev movement metric in games. Trying to ape Euclidian space on a grid will be wildly unituitive and confuse the hell out of people. It will provide no benefits. Let's not.

mageykun wrote:
We all seem to agree that current model is no good.

Am I the only person fine with the status quo? The existing inconsistencies seem pretty minor to me. (awaits stoning).


I'm fine with it.

For this message the author ekiM has received thanks:
mageykun

Snake Sneak

Posts: 125

Joined: Saturday, 19th February 2011, 13:39

Post Friday, 25th March 2011, 00:41

Re: Anything changing with circular LoS vs. diagonal movemen

Square LOS would fit better anyways, as circular LOS just has lots of wasted area in all the corners anyways.

Or change the game to hex.
User avatar

Dungeon Master

Posts: 4031

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

Location: France

Post Thursday, 21st April 2011, 08:35

Re: Anything changing with circular LoS vs. diagonal movemen

So, I implemented euclidean movement yesterday. I played a bit with it, and it was barely noticeable.
<+Grunt> You dereference an invalid pointer! Ouch! That really hurt! The game dies...

Sol

Lair Larrikin

Posts: 19

Joined: Wednesday, 13th April 2011, 16:21

Post Thursday, 21st April 2011, 10:02

Re: Anything changing with circular LoS vs. diagonal movemen

Well, I'm fine with the current system, don't mind square LOS either, but honestly, I don't like this 1,4 (14) diagonal movement thing. To me, this is contrintuitive, complicated, and maybe even exploitable. IMHO of course.

Dungeon Master

Posts: 3618

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

Post Thursday, 21st April 2011, 10:11

Re: Anything changing with circular LoS vs. diagonal movemen

Sol wrote:Well, I'm fine with the current system, don't mind square LOS either, but honestly, I don't like this 1,4 (14) diagonal movement thing. To me, this is contrintuitive, complicated, and maybe even exploitable. IMHO of course.

Did you play it? Someone actually took it upon himself to implement Euclidean. Simply reiterating your opinion ranges between lukewarm and offending at this point.

Abyss Ambulator

Posts: 1221

Joined: Thursday, 10th March 2011, 19:45

Post Thursday, 21st April 2011, 10:18

Re: Anything changing with circular LoS vs. diagonal movemen

So, does this apply to attacks as well, or just movement?

If so, when there are 2 monsters next to you but one is orthogonal and one is diagonal, should we be fighting the orthogonal one first as it will be getting more blows due to not taking 1.4 times as long?

Sol

Lair Larrikin

Posts: 19

Joined: Wednesday, 13th April 2011, 16:21

Post Thursday, 21st April 2011, 10:26

Re: Anything changing with circular LoS vs. diagonal movemen

dpeg wrote:Did you play it? Someone actually took it upon himself to implement Euclidean. Simply reiterating your opinion ranges between lukewarm and offending at this point.

Not yet, but I will play it and post my feedback, of course. Sorry, I doesn't want to offend anyone :oops: , maybe this solution is actually good, all I was trying to say is that square LOS (and current system) is, well, looks simplier to me. You don't need to remember that diagonal movement is slower, for example.
Edit: I need to get the source and compile it, right?
User avatar

Blades Runner

Posts: 575

Joined: Tuesday, 18th January 2011, 15:11

Post Thursday, 21st April 2011, 10:57

Re: Anything changing with circular LoS vs. diagonal movemen

yup. i've given it a quick go and it feels alright. haven't kited an ogre yet. i'll play around with it later.

jeremiah: no, no, just movement (see the commit message). there's some strategy when turning around corners, but not attacking while stationary.
Wins: DDBe (3 runes, morgue file)
Previous

Return to Game Design Discussion

Who is online

Users browsing this forum: No registered users and 5 guests

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