[RESOLVED!]Trouble with exits, aliases and compass

Satoh
I'm having a lot of difficulty getting my exits to display non-generic information.

My game takes place in several contexts one of which is space, which is cardinal direction agnostic.
My ship is oriented along the west-east axis, but I don't want my exits to be labeled that, since those directions don't exist in context.

I DO want my directional compass buttons to work.
Therein lies the problem.

I can alias my exit as "hallway" with a prefix "into the" but that disables the North arrow, despite the direction type being Northdirection.

<exit alias="hall" to="hall">
<inherit name="northdirection" />
<prefix>into the</prefix>
<attr name="grid_length" type="int">0</attr>
</exit>


I want to be able to navigate with compass arrows, but have the game understand and display the exit by name, without any directional qualifiers.
"You can go into the hallway" rather than "You can go north" (But still understanding that it IS north)

Is there a way to get this?

HegemonKhan
It can be done, but it'd really be a lot more code work (and a pain to code in, unless you're a good coder and have a great code design) than what you'd get out of it, in my opinion.

All directions is based upon something:

Earth's E-M poles, the 'North Star' (Alpha Centauri: the closest star to the sun, our star), your own orientation (yourself), gravity+inner ear+movement, and etc etc etc

so, personally, I'd set up a "north star" in your game world, for your star ships to navigate via it. This gives a sense of realism, more story, along with allowing you to keep the user-friendly compass directions.

------

HK edit:

off-topic:

there's no difference from non-outerspace and outerspace in terms of the cardinal directions.

just as humans used the North Star for their cardinal directions on earth (at sea and land and air), as there's no such thing as the cardinal directions, as every direction is using something else for its point of reference~direction, people can use the center of the universe (the big bang coordinate ~ origin ~ point) as their 'outerspace north star'.

there's no such thing as 'cardinal directions' whether on earth or off earth, as all directions are based upon another 'fixed point' (or something else) be it a star, E-M fields (north~south magnetic poles ~ Van Allen Radiation Belts), physics of inner ear + gravity, big bang point (center point), yourself (your own orientation: your face: what direction you're looking~standing in), and etc.

and... technically... the earth is floating in outerspace... so there's no such thing as cardinal directions on earth... as what is north on earth, is no different than what is north off of earth (in outerspace), as the earth.... *IS* in outerspace, already + anyways, laughs.

And the earth isn't merely floating in outerspace... it is spinning too... so 'north' on earth is just as meaningless as 'north' in outerspace is, as again, the earth... *IS* already in outerspace... lol.

Satoh
I disagree on the point about cardinality being more realistic in space. I won't go into why as it is irrelevant.

All I want, is to give "north" an exit specific arbitrary name defined by the exit. To simply not display the word "North" anywhere in the description.

There is a map. There won't be any directional confusion.

The Pixie
Getting the compass to show a different set of directions is pretty easy; it is part of the language support for Quest.
http://docs.textadventures.co.uk/quest/ ... board.html

Changing them during play is presumably feasible, but it will a lot more complicated and involve delving into the guts of Quest.

Silver
You don't have to use exits to traverse from room to room so you could just set up a command that runs a script which moves the player to the room and call it whatever you want. The only problem I can envisage doing it that way is if you're using the map feature.

jaynabonne
This is one way that doesn't seem too bad. It uses the fact that the compass keys off of the exit's "list alias" if one exists.

    <exit alias="to the hallway" to="other room">
<inherit name="northdirection" />
<alt type="listextend">north</alt>
<listalias>north</listalias>
</exit>

If you use "north" as the list alias, then the compass will work. Unfortunately, you won't be able to type "north". So you have to add "north" to the alt list as well (that's what "listextend" does as a type). It's not so automatic, but if you really want it, it might not be too much work.

Note that you don't have to provide a prefix. If you set the alias to either "to the hallway" or "hallway", then you can both "go hallway" and "go to the hallway". It really just depends on what you want shown in the text!

HegemonKhan
Thanks Jay, your post is very helpful (favorited~bookmarked it:post~thread, hehe), as I've not worked with the Exits much, and am now more knowledgeable about them (and maybe some other stuff too: listextend: I'm not quite clear on how to 'sync' it successfuly with Commands+Verbs+Templates+etc as Pixie and whoever do in their libraries, as when I just add 'listextend' by itself, I get a 2nd non-functional Verb choice-button... laughs. I'll figure this out though on my own, don't want to trouble you with it. I'm just still unclear on~with a lot of the built-in stuff with quest, as I've not been using it much anymore, as I'm busy trying to learn to code more RPG stuff and in tiny tiny bits, game making, lol)

jaynabonne
To be honest, I had no clue about "listalias" until looked into this tonight. So we're all learning... :)

I struggled for a bit trying to have two exits between the rooms before I accidentally stumbled across this. Sometimes persistence pays off. lol

Satoh
Well I have to say, I've lurked about the forum for a while before now, and it seems you stumble upon quite a few ingenious little tricks jaynabonne.
I haven't tested your suggestion yet, but it sounds rather like what I was hoping for.
I'll try to remember to post my results after some testing.
Thanks for the help.


tangent:
the fact that the earth is hurtling circuitously through space whilst spinning is one of the major reasons I don't want to use cardinal direction terminology.
As for not using any predefined ordinals, that's mostly due to the fact that every structure is pretty arbitrarily aligned.
Most of the maps will be drawn in the way that they fit on the screen best, rather than according to their orientation. an exceedingly long vertical hallway won't fit on the screen like a horizontal one, but the vertical axis is presumed to be North-South.

The name of the direction something is in, is less important to the game than the object/path/room it leads to.
Its a difficult point to put into words, as I'm finding, which is one of the reasons I abstained from attempting before.
(Its like reading a language you can't speak aloud. You know what it is, but not how to say it.)

EDIT: Ok, so using jaynabonne's suggestion, I discovered (at least in quest 5.5) that the only requirements for making the compass work are:

<listalias>north</listalias>
<alt type="stringlist">
<value>n</value>
<value>north</value>
</alt>

I'm not sure why the listextend name is different from suggested, but adding these two properties to all my exits (with the appropriate direction) makes them work from the compass correctly.

I'm quite pleased that there was a simple solution, and I thank everyone for their assistance.

jaynabonne
A thought I had on the way to work: it might be possible to pull the various exit types (northdirection, etc) into your game and add those two fields to each at the type level. Then you would not have to handle it on a per exit basis. You would just be able to set the alias and have it work. I haven't tested it, but it seems feasible.

Satoh
I thought about that too.
I already added a control for adding Alts an Listaliases to the editor exit tab, I think I'll add in the types too.
(I wasn't sure where to look for the default exit definitions)

This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums