Going where no PC has gone before (compass directions)

6 views
Skip to first unread message

Jon Ripley

unread,
Sep 3, 2005, 6:40:46 PM9/3/05
to
It occured to me recently that works of interactive fiction in general
only allow between four and twelve directions of travel. The full twelve
being N, S, E, W, NE, NW, SE, SW, UP, DOWN, IN and OUT. This gives
players eight ways to move on a flat landscape, one way up, one way down
and the other two non-specific directions.

I am wondering about the merits of using a sixteen point compass within
a game world and how they might be useful. The abbreviations for
movement in the first quadrant being; N, NNE, NE, ENE and E, and the
rest would follow suit.

>NorthEast

You are at a nondescript path in the forest which forks into two paths.
You can go north-northeast and east-northeast.

Or:

You are inside a nondescript room, there are three doors on the east
wall. You can go east, east-northeast and east-southeast.

The last example seems to be a better and more logical way to have three
doors in the east wall rather than using NE, E and SE as the exit points.

Still, with four, eight or sixteen compass directions to move on a flat
landscape it seems that we are very poor only having one direction for
up and one other for down. Games seem to be rather poor with ways to
move to a different level. It logically follows that we could have a
room with two staircases, one leaving east and one leading west. How do
we distinguish them?

You are by a pair of nondescript staircases leading up, you can go
up-east and up-west.

Or:

You are on a stairwell, you can go up-south, down-north or east to the
landing.

These can be distinguished by making use of the compass in both the up
and down directions. The basic eight being: UN, UE, US, UW, DN, DE, DS,
DW. Extending this to just eight directions restores the USE keyword but
gives it a new meaning - up-southeast. This also allows literal spiral
staircases to be constructed.

British humour infers a game starting at Sheffield Railway Station where
the PC has the option to go up-north or down-south, to begin the adventure.

How about using this and allowing the fifty-two directions of movement
within a game world, embracing the ability to create new and interesting
arenas for the player to move within.

Comments?

Jon Ripley.
--
http://jonripley.com/
Maintainer of the RISC OS port of Inform.

Risujin

unread,
Sep 3, 2005, 7:15:38 PM9/3/05
to
First of all, in light of my previous posts on the topic, if *more*
cardinal directions entered common use in IF I would have to check into
an insane asylum.

That said, you can take the same argument for more directions to absurdity:

Why not have an IF game where the player chooses where to go by entering
a degree? You can shorten it to just the number.

You are standing in an open field. You can go in 360 different directions.
>120

Or better yet, accept radians and allow floating point numbers:

You are standing in an open field. You can go in an infinite amount of
directions.
>3.14

With most games, you never need that many directions to begin with.
Often times you confuse the player by listing even half of the possible
exits allowed by the N,S,NW,...,U,D system.

Besides, technically you never really need more than two exits. ;)

You are standing in a binary tree. You can go in one of two directions.
>quit

--
Risujin
ris...@fastmail.fm

Andrew Plotkin

unread,
Sep 3, 2005, 7:22:23 PM9/3/05
to
Here, Jon Ripley <ne...@jonripley.com> wrote:
>
> How about using this and allowing the fifty-two directions of movement
> within a game world, embracing the ability to create new and interesting
> arenas for the player to move within.

And the player says, "You want me to keep track of *fifty-two* exits
from that room?"

The vast majority of IF locations have six or fewer exits. (Number
pulled out of my ear, but I think it's right.) Given that, it's just
as easy for the author to stick with the traditional ten-way compass
as it is to invent new compass directions.

If you're trying to convey a three-dimensional sense of space to the
player, you can of course say "A stairway leads upwards to the east,"
and accept *both* "e" and "u" commands. This is common, and adding
"eu" to the compass doesn't add anything to the game -- as long as you
don't also need "ed". But, unless you're really crowding in the exits,
you *won't* need both. Some small rearrangement of the 3D structure
will relieve the collisions.

Yes, there are times when I've wished I could add "up-east" and
"down-east". But that's early in design. I've always wound up with a
map that used traditional directions. It doesn't make the game poorer,
just different from how it otherwise might have come out.

--Z

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*
I'm still thinking about what to put in this space.

Zach Flynn

unread,
Sep 3, 2005, 7:40:48 PM9/3/05
to
Risujin wrote:

>
> You are standing in a binary tree. You can go in one of two directions.
> >quit
>

Actually, that is quite interesting. Could make for an interesting
diversion if the author did many other interesting things with the
binary system :-). It would at least make a computer nerd, such as me,
smile.

-Zach

Rexx Magnus

unread,
Sep 4, 2005, 5:24:00 AM9/4/05
to
On Sat, 03 Sep 2005 23:22:23 GMT, Andrew Plotkin scrawled:

> If you're trying to convey a three-dimensional sense of space to the
> player, you can of course say "A stairway leads upwards to the east,"
> and accept *both* "e" and "u" commands. This is common, and adding
> "eu" to the compass doesn't add anything to the game -- as long as you
> don't also need "ed". But, unless you're really crowding in the exits,
> you *won't* need both. Some small rearrangement of the 3D structure
> will relieve the collisions.

I can see where having an east up/down and a west up/down would be
necessary - imagine an old mansion with a grand entrance, two flights of
stairs come down from opposite wings, meeting at a landing in the middle
before turning back outwards to the respective sides of the entrance hall.

You might reach the middle landing and then be presented with the four
directions. Obviously, one could have a single location with (if north is
the general direction up the stairs) sw as west down, nw as west up etc.
Or simply split the landing in half so that you have an east and a west
end, each with an up/north and down/south exit, along with the exit to
take you to the other end.

--
http://www.rexx.co.uk

To email me, visit the site.

Andrew Pearce

unread,
Sep 4, 2005, 8:42:54 AM9/4/05
to
----- Original Message -----
From: "Risujin" <ris...@fastmail.fm>
Newsgroups: rec.arts.int-fiction
Sent: Sunday, September 04, 2005 12:15 AM
Subject: Re: Going where no PC has gone before (compass directions)


> First of all, in light of my previous posts on the topic, if *more*
> cardinal directions entered common use in IF I would have to check into an
> insane asylum.
>
> That said, you can take the same argument for more directions to
> absurdity:
>
> Why not have an IF game where the player chooses where to go by entering a
> degree? You can shorten it to just the number.
>
> You are standing in an open field. You can go in 360 different directions.
> >120

<snip>

Actually, that's not that bad an idea. I know that trying to fake the
outdoors by using discrete locations doesn't look very realistic to me - it
breaks a continuous space up very artificially. It's okay indoors, but not
out. What you could do is abandon 'rooms' in the outdoors, and use a
co-ordinate system behind the scenes. Objects and terrain features have X,Y
coords, and what the PC sees is described according to how far distant the
terrain features are. E.g., "There is a large forest about a mile away to
the north, and a silvery brook about twenty feet away south-east." A small
house behind the forest wouldn't be described because you couldn't see it
from here. The description would be assembled according to where the PC
currently is. Move south (ten feet, or whatever the value chosen is) and it
would become "There is a large forest about a mile away to the north, and a
silvery brook about fifteen feet away east." It would take careful
programming, but is far from impossible.

Full compass directions might be a bit much, but a sixteen-point compass
would reflect the new freedom of movement available. This would make the
outdoors feel far more like the actual outdoors, and lend itself to its own
kind of puzzles. Pirates' treasure maps anyone?

Andrew


Jon Ripley

unread,
Sep 5, 2005, 7:28:40 AM9/5/05
to
Andrew Pearce wrote:
> Full compass directions might be a bit much, but a sixteen-point compass
> would reflect the new freedom of movement available. This would make the
> outdoors feel far more like the actual outdoors, and lend itself to its own
> kind of puzzles. Pirates' treasure maps anyone?

Interesting idea!

You are on treasure island.

>walk to big rock
>move three steps north
>move twenty steps east
>dig

You have found the treasure.

Risujin

unread,
Sep 5, 2005, 7:06:28 PM9/5/05
to

Can't this be done already?

Store two variables X-steps and Y-steps.

Use a regular 2D grid for positioning elements and makes sure you can
reference all elements within the grid from anywhere in the grid.

When you try to walk any amount of steps, modify the step variables.

If you walk more than so many steps in any direction, change to the new
grid location, also check if you're trying to walk through an object.

If you try to dig, check the location's X-steps and Y-steps to see if
you found anything.

--
Risujin
ris...@fastmail.fm

John W. Kennedy

unread,
Sep 5, 2005, 9:39:11 PM9/5/05
to

Those of us who are a bit older are laughing at this, muttering "My God!
We're back in the world before Wumpus!"

--
John W. Kennedy
"...if you had to fall in love with someone who was evil, I can see why
it was her."
-- "Alias"

Ben Heaton

unread,
Sep 6, 2005, 1:11:34 AM9/6/05
to
On Sat, 3 Sep 2005, Jon Ripley wrote:

> You are on a stairwell, you can go up-south, down-north or east to the
> landing.
>
> These can be distinguished by making use of the compass in both the up
> and down directions. The basic eight being: UN, UE, US, UW, DN, DE, DS,
> DW. Extending this to just eight directions restores the USE keyword but
> gives it a new meaning - up-southeast. This also allows literal spiral
> staircases to be constructed.

The game "A Venture," from WalkthroughComp, supported this sort of thing.
The direction between north and northup was overnorth, abbreviated to ON.
Presumably US was its opposite.

-Ben Heaton

--
No sale, honcho!

samwyse

unread,
Sep 8, 2005, 7:58:04 AM9/8/05
to
Risujin wrote:
> Jon Ripley wrote:
>> Andrew Pearce wrote:
>>> Full compass directions might be a bit much, but a sixteen-point
>>> compass would reflect the new freedom of movement available. This
>>> would make the outdoors feel far more like the actual outdoors, and
>>> lend itself to its own kind of puzzles. Pirates' treasure maps anyone?
>>
>> Interesting idea!
>>
>> You are on treasure island.
>>
>> >walk to big rock
>> >move three steps north
>> >move twenty steps east
>> >dig
>>
>> You have found the treasure.
>
> Can't this be done already?
>
> Store two variables X-steps and Y-steps.
>
> Use a regular 2D grid for positioning elements and makes sure you can
> reference all elements within the grid from anywhere in the grid.
>
> When you try to walk any amount of steps, modify the step variables.
>
> If you walk more than so many steps in any direction, change to the new
> grid location, also check if you're trying to walk through an object.
>
> If you try to dig, check the location's X-steps and Y-steps to see if
> you found anything.

It has been done, multiple times. Check out (IIRC) "Icehouse", which is
set on an ice floe. Several people (including myself) have written
games where long hallways are modeled similarly (albeit with just the X
axis).

In general, I'd use a single array property, call it coords, that holds
your location within the current room. The array can be as large as you
need, to not only hold X, Y, and possibly Z, but higher dimensions as
well. Not for the player, but for objects.

Imagine a library. The player and other large objects only need a
two-element array showing where they are on the floor, but book objects
have a four-element array that also has which shelf and where on the
shelf they are located, and the pirate's treasure map has five, showing
which page it is next to. In this case, the room would need to override
the default distance function, since each co-ordinate would be of
differing "sizes".

One trick that I've thought about (but never fully implemented) is a
level-of-detail mechanism for descriptions, where the text that gets
displayed varies depending on how far the player is from the object
being described.

Of course, at some point you might was well switch to writing a
graphical adventure.

Daniel Dawson

unread,
Sep 10, 2005, 3:37:30 PM9/10/05
to
You pick up and read article <ODpSe.5287$pm2....@fe3.news.blueyonder.co.uk>,

written by Jon Ripley <ne...@jonripley.com>. It says:
>I am wondering about the merits of using a sixteen point compass within
>a game world and how they might be useful. The abbreviations for
>movement in the first quadrant being; N, NNE, NE, ENE and E, and the
>rest would follow suit.
[snip]

>Still, with four, eight or sixteen compass directions to move on a flat
>landscape it seems that we are very poor only having one direction for
>up and one other for down. Games seem to be rather poor with ways to
>move to a different level. It logically follows that we could have a
>room with two staircases, one leaving east and one leading west. How do
>we distinguish them?
[snip]

>These can be distinguished by making use of the compass in both the up
>and down directions. The basic eight being: UN, UE, US, UW, DN, DE, DS,
>DW. Extending this to just eight directions restores the USE keyword but
>gives it a new meaning - up-southeast. This also allows literal spiral
>staircases to be constructed.

This has been proposed before, with the same arguments against you've just
seen. I won't repeat them.

>How about using this and allowing the fifty-two directions of movement

Fifty-two? I assume you arrived at that number by multiplying the sixteen-point
compass by three -- one on the level and one each combined with up and down --
plus up, down, in, out.

But hey, that's not general enough! If you slice vertically along a cardinal
axis, you only have eight directions; why not make that sixteen as well? Add
sets of sixteen directions between level and halfway vertical, and between
halfway vertical and completely vertical. Now we have a grand total of 116
directions!

Good luck squeezing any remaining space out of your game file. ;-)

But seriously, I think we can agree this is overkill. Better to just ad-hack a
special direction like this if and when it's actually needed.

Just for kicks, though, I just had to write this: Imagine what a set of
directions might look like in this system:
DN. UNNE. SWDSW. UNW. DENE. WNWUWNW.

Maybe better names/abbreviations would be needed for some of those. :-)

--
| Email: Daniel Dawson <ddawson at icehouse.net> ifMUD: DanDawson |
| Web: http://www.icehouse.net/ddawson/ PGP key: 'about' on web site |

----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----

Reply all
Reply to author
Forward
0 new messages