Compass directions

 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
HaiWolfe



Joined: 13 May 2005
Posts: 15
Location: Boston

PostPosted: Fri May 13, 2005 9:00 pm    Post subject: Compass directions Reply with quote

What are the advantages and disadvantages of a six-direction (NESWUD) versus ten-direction (adding NE,SE,SW,NW) movement system? The codebase I'm tinkering with currently uses the former, and I've been considering a switch to the latter.

The main usefulness of a ten-direction system that I can see would be in more complex city areas, where streets rarely run just at right angles to each other. Out in the wilderness, it would matter less.

On the other hand, are there any benefits to a six-direction system other than simplicity of navigation?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Fri May 13, 2005 9:10 pm    Post subject: Reply with quote

To be honest I'm not particularly fond of the ne/nw/se/sw directions, unless the rooms (or equivilent) are laid out in a grid (so that typing 'n' then 'e' will always take you to the same location as typing 'ne'). Without the logical positioning it makes it much easier to get lost.

I suppose it's also worth mentioning that the extra four directions don't fit very well with the speedwalking option that many clients provide. You might consider that an advantage or a disadvantage, but it's not a particularly big one either way (you can get around).

For muds that need a lot of directions, I prefer to see custom exit names - so that I can type 'pub' instead of 'north' when I want to enter the pub. The downside of this approach is that it tends to require more typing.
Back to top
View user's profile Send private message Visit poster's website
Author Message
eiz



Joined: 11 May 2005
Posts: 152
Location: Florida

PostPosted: Fri May 13, 2005 9:10 pm    Post subject: Reply with quote

We actually went further with this, removing the notion of cardinal directions entirely. Instead, everything is linked with keyword exits (which of course can be named NSEW if that's appropriate), and there can be as many as necessary. This gives more flexibility when designing an area, but it does have some drawbacks, namely the inability to do any 'spatial' stuff unless you add a coordinate system on top of that to position the rooms relative to each other.

As for just adding an extra set of directions, I'm not sure what the big deal is. I've always designed things with a '0, 1, n' mindset myself, so imposing some arbitrary limit seems a bit odd. In any case, I suppose it provides a tiny bit more flexibility when laying out an area, while retaining the notion of spatial orientation. I don't think there's a big difference in usability either way.
Back to top
View user's profile Send private message Visit poster's website
Author Message
cron0s



Joined: 13 May 2005
Posts: 34
Location: UK

PostPosted: Fri May 13, 2005 9:14 pm    Post subject: Reply with quote

I don't see any real benefit of the extra 4 directions myself, but then I suck at designing areas, so there you go. One thing I don't like about Diku style movement is how up and down are treated the same as the other directions. Somehow that just doesn't seem right to me. I always think that you should have to climb rather than just walk.

If you want to add more exits, I would agree with the other posters that adding custom keyword exits is probably more useful.
Back to top
View user's profile Send private message
Author Message
Kjartan



Joined: 13 May 2005
Posts: 110

PostPosted: Fri May 13, 2005 10:28 pm    Post subject: Reply with quote

cron0s wrote:
One thing I don't like about Diku style movement is how up and down are treated the same as the other directions. Somehow that just doesn't seem right to me. I always think that you should have to climb rather than just walk.


We have implemented that in a diku. A room can be marked as having no floor, in which case you can't just "walk" upwards into it unless you have wings or a fly spell, and if you walk into the room from some other direction without a means of support you fall. Then on top of that we've implemented a climbing system, so if the room has no floor but is climbable then you can go there without falling with a successful climb check. (It's not a fancy combat-style climb system, just a single check).
Back to top
View user's profile Send private message Visit poster's website
Author Message
HaiWolfe



Joined: 13 May 2005
Posts: 15
Location: Boston

PostPosted: Fri May 13, 2005 10:33 pm    Post subject: Reply with quote

Quote:
To be honest I'm not particularly fond of the ne/nw/se/sw directions, unless the rooms (or equivilent) are laid out in a grid (so that typing 'n' then 'e' will always take you to the same location as typing 'ne'). Without the logical positioning it makes it much easier to get lost.


I do pretty much all of my planning on a gridded map before starting an area, to avoid that kind of incongruity when moving around. Mainly the reason I'd want to have the NE SE SW NW directions is for greater accuracy when adapting an existing map (such as certain areas if your game is based on a book, or a historical site) to an in-game area. For example, if there's a road on the map that clearly goes in a northeast-southwest direction, having only the primary compass directions forces you to travel in a zig-zagging N-E-N-E-N-E fashion if you wanted to follow the road.


Last edited by HaiWolfe on Fri May 13, 2005 10:34 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
Ashon



Joined: 11 May 2005
Posts: 86
Location: Seattle

PostPosted: Fri May 13, 2005 10:34 pm    Post subject: Reply with quote

eiz wrote:
We actually went further with this, removing the notion of cardinal directions entirely. Instead, everything is linked with keyword exits (which of course can be named NSEW if that's appropriate), and there can be as many as necessary. This gives more flexibility when designing an area, but it does have some drawbacks, namely the inability to do any 'spatial' stuff unless you add a coordinate system on top of that to position the rooms relative to each other.


We did the same thing too. The only issue that I've seen is that one of our developers added a left and right keyword exit, and it could get disorienting to exit left, because it gives the idea of facing. But his example is a big stair case, with both sets ascending to the same place, one on the Left, and another on the Right.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Author Message
Sandi



Joined: 13 May 2005
Posts: 94
Location: Boston

PostPosted: Sat May 14, 2005 3:32 am    Post subject: Reply with quote

Yet another "I don't like 8 directions." reply. Wink

MUSHes use keyword exits, and generally building rules require adding "n, north" (or the appropriate direction) to the keyword string. Many places also follow the convention of "Out" - if you type 'out' from anywhere in the mud, you end up at Recall. Nice for lost newbies.

Keywords let you do even cooler things in cities than adding ne, nw, se, sw. Roads can intersect on the cardinal directions, yet there can still be exits for shops. You can have one big building on one side of the street, yet two small shops and an alley on the other. And, of course, with keywords you can have ne, nw, se, sw if you want them.
Back to top
View user's profile Send private message Visit poster's website
Author Message
HaiWolfe



Joined: 13 May 2005
Posts: 15
Location: Boston

PostPosted: Sat May 14, 2005 3:56 am    Post subject: Reply with quote

That does seem like a very good use for keyword exits, particularly in the way that you've described it. To be honest, I don't have very much experience with MUSHes and I've only seen keywords implemented in partial form (typing 'enter house' to enter a house object in the room) on some of the MUDs I've played.

One functionality I'd like to have in a keyword exits system is the same ability to have doors and locks as in a directional system. In the implementations that I've seen, there wasn't anything to keep a player from entering the building, aside from a workaround that involves a "front porch" type of room with a locked directional exit to the building proper.

While I'm no coder yet, I imagine it can't be that hard to add lockable doors to the keyword exit itself. Are there any codebases in the diku family that already have something like what I've described?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
Sandi



Joined: 13 May 2005
Posts: 94
Location: Boston

PostPosted: Sun May 15, 2005 12:30 pm    Post subject: Reply with quote

Looking at MERC and ROM, while keywords for exits are there, they're not supported very well. That is, you can't 'look gate', you have to 'look south'.

Hmmm... this might be a worthwhile snippet. Wink

The problem is, in act_move.c, only the cardinal directions are supported, and they are referenced by number. Which makes sense, as they are defined only by numbers in the area files. It looks like the persnickety part would be dealing with the reverse_dir functionality that unlocks both sides of a door.

Considering how it's handled in MUSHes, you might want to put the code that searches for keywords before the code in interp.c that walks through the command list. This allows local disablement of commands, though to make it functional you'd have to add a "fail" message to exits. It wouldn't make sense to type 'who' and have it say the default, "You can't go that way".

You might also want to disable the 'can_see' check so a player could go through an exit he knew was there, even in the dark. This would make exit keywords usable as passwords. Maybe add a flag to give the Builder a choice on this behavior.


Sandi
Back to top
View user's profile Send private message Visit poster's website
Author Message
Molly O'Hara



Joined: 11 May 2005
Posts: 99
Location: Sweden

PostPosted: Sun May 15, 2005 3:14 pm    Post subject: Reply with quote

The only time I saw a need for NE, SW etc. directions myself was when I built a future city, which supposedly was based on 6-sided cells, like a honeycomb. The square-based grid wasnít very feasible for that. But apart from that time, I think they add more to the confusion than the quality of the world.

We have however implemented several different types of portals (house, hole, bush, water etc.) mostly for appearances, but also to make quests a bit harder, because we donít always display these objects openly in the room. So now you can enter houses, dive into ponds, and squeeze through narrow holes or thorny bushes.

We have also implemented climb and descend objects, usable for ropes, ladders, trees, cliff faces and such. Plus jump obstacles, like hurdles, ravines, ditches etc. (We even have a Point-to-point racecourse in the game, where players can test their riding skills. It can be quite entertaining, because unless you order your mount to jump the hurdle, there will be a message that it refuses, and you fly over the head of the horse and land on the other side of the hurdle).

Naturally these are all just different types of portals, where just the commands and room messages are a bit different, but they look nice.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
Greggen



Joined: 16 May 2005
Posts: 36

PostPosted: Mon May 16, 2005 8:04 pm    Post subject: Reply with quote

Hello everyone. It's nice to see some new boards up and running.

This is my view on the pros/cons of some of the systems, from a player's point of view:


  • Six direction - The main attraction of this system is that you can form a map of the area in your head, assuming each room is square and layed out on a grid. For example, if I go east then north, I know I can also get there by going north then east, or N,N,E,S. Players can map out areas on graph paper (which some people find fun) or maps can be provided with minimal effort. The main disadvantage is that this layout can seem rigid and uninvolving. I do not find it as fun to explore.

  • Ten direction - The advantage this system has over the six direction one, as has been previously mentioned, is that you can do more interesting things with an area layout, such as have large intersections and so on. I think this loses the advantages of the previous method, though. It is much harder to visualise the layout.

  • Keywords - This is my personal favourite. It is, again, difficult to visualise an overhead map if one isn't provided for you, but I think it makes up for it with immersion. Instead of thinking "To get from A to B, I need to go north, east, north then west", I start thinking "To get from A to B, I need to go through that dark backalley and past the creepy statue and then go down the manhole to the sewers".

  • coordinate-based - This is a tricky one. I can imagine great benefits to game mechanics with this, but I find it difficult to navigate these systems without some sort of visual aid.
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Author Message
Kelson



Joined: 18 May 2005
Posts: 71
Location: SC

PostPosted: Fri May 20, 2005 6:59 am    Post subject: Reply with quote

I'll just be quick; as the other posters have said, I think adding the four 'new' directions (NW,NE,SE,SW) just makes the world more confusing and difficult to mentally / actually navigate. I've left muds because they include them all; in my opinion, they've never added anything and it tends to lead to information overload (okay...so I'm new to this place and see...oh shit, _8_ exits out of this room...where the blazes should I go?)

Kelson
Back to top
View user's profile Send private message Send e-mail AIM Address
Author Message
Jaruzel



Joined: 18 May 2005
Posts: 13
Location: London, UK

PostPosted: Fri May 20, 2005 7:23 am    Post subject: Reply with quote

In my custom codebase, I opted for free-format exit keywords. Allowing for up to 10 exit keywords per room.

Each exit keyword has a short name and a long name, ie. N, North or P, Pub. At the coding level I was quite sure that myself and others would use the more immersive kewording like 'pub', 'sewer', 'alley' for exits but in reality when the world was being built most people opted for the standard 10-way compass names. I think this happened because a lot of builders (myself included) didn't have the imagination or literary skills to constantly use descriptive exit keywords. Where these may make it more immersive for the player, it adds an extra burden on the builder; over using the exit keyword 'alley' in several locations could get very confusing for the player, so the builder would have to be constantly thinking up new and different ways to exit a location.

-Jar.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Author Message
Maraz



Joined: 18 May 2005
Posts: 13
Location: England

PostPosted: Fri May 20, 2005 8:38 pm    Post subject: Reply with quote

I think that that system described by Jaruzel would be my favourite, with a single letter short form to make movement quicker. Personally I would use the compass points for "outside" locations, like forests and mountains where you move in a direction, and direction commands like "tavern" or "stables" when moving into a building or around a building. This just seems to make more sense - you might think about which direction you were heading in if you were outside - but you'd be more likely to move from one room to another inside a building.

The simple compass point system of N,S,E,W does have the advantage that you could allow for movement useing the arrow keys - and even with the 8 point compass the numberpad can be used to move about.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign