Please check out OurPlace MUD !

Member Discussions

terms



[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]


1. Commands standardization Thu Apr 26, 2012 [5:51 AM]
Viriato
Email not supplied
member since: Jun 9, 2006
Reply
Good evening.
The recent post "TMC for New Players" made me thought about
something to aid players regarding MUD commands.
There are alot of codebases, most have many similar commands
but they are executed with different syntax. Is there
already any kind of standard for it? I mean, directions are
usually north, south, east, ..., down, up, ... enter, out
(not for all muds, but for most); to look at something
there's look and glance for long and short descriptions;
there's drop <item>, get <item>, ..., and some engines have
the drop <item> from <container>, drop all, etc...
It would be really cool if a standard exists. We would get
the following: graphical clients or other plugins could work
easily over it, and thus over most codebases; also, and more
important, to be easier for a player to try different MUDs.
I use to play an LP MUD; if I try other MUDS written in
other engines, it still exists a learning curve that can
easily be avoidable and can fasten my experience there.
If all this fails, then at least I would like someone to
tell me the biggest "branches" of command syntaxes, to check
if I can implement them in my own engine (it is ready to
parse different syntaxes for executing same command).

Thanks in advance.
Viriato

#### Iberia MUD ####
iberiamud.com:5900
www.iberiamud.com


2. RE: Commands standardization Thu Apr 26, 2012 [7:32 AM]
Hades_Kane
Email not supplied
member since: Aug 17, 2001
In Reply To
Reply
That's not a bad idea. I just recently went through and added some syntax to our object manipulation
commands in order to shift multiples of a specific item (ie: drop 5 potion) and syntax in general has been
coming to mind. In order to lower the entry barrier, having ways to mimic other popular forms of syntax
wouldn't be too bad.

Things to consider, other than just "get <item> from <container>" or whatnot would also be have built in
aliases for other known commands. It's not called a score sheet in every game I'm sure, but doing things
like figuring out what other types of games call it and aliasing it to that, etc. Doing the same with
channels would help, too... I know I already have 'gossip' aliased to our OOC channel.
-Diablos

END OF TIME

eotmud.com : 4000 (or 23)
http://www.eotmud.com
http://www.facebook.com/eotmud

Final Fantasy based MUD opening soon! Looking for players & builders!


3. RE: Commands standardization Thu Apr 26, 2012 [8:41 AM]
Idealiad
Email not supplied
member since: Jan 16, 2006
In Reply To
Reply
I think mudders (well, especially mudders :) ) could
argue a standard to death, but the best thing you could do
Viriato is to create a translation document that lays out the
different syntax for a set of popular codebases, and put that
out in the world. I think it'd be very useful. Organize it as
a table, like

DIKU | LP | MUX
....


Of course, most commands will be the same, so you could just
include a command if it differs.


4. RE: Commands standardization Thu Apr 26, 2012 [10:23 AM]
Viriato
Email not supplied
member since: Jun 9, 2006
In Reply To
Reply
I have it set already so other syntaxes will work. I am just
suggesting a standard and willing to work on it with someone
else, but knowing also that there are some mudders out there
against standards (or ideas in general), the only thing I am
at least asking is for someone to tell me specific MUD names
representing standard MUD branches, so I can log in and check
their main commands. And then implement in mine :)
Viriato

#### Iberia MUD ####
iberiamud.com:5900
www.iberiamud.com


5. RE: Commands standardization Fri Apr 27, 2012 [9:27 AM]
Zividave
Email not supplied
member since: Sep 26, 2004
In Reply To
Reply
Perhaps...
We could just put in how things are parsed in the different main bases, then write up a 'how to' include that parsing in your game?

IE I've put in a lot of parsing into Diku base that allows more than just 'get dagger backpack', but let's people do 'get out my dagger from the backpack'. I'd love to add in additional 'makes sense' parsing if people are used to other command sets.

I'd be happy to put up scratchpad of ROM parsing code if people want. It really makes the game less frustrating for newbs and old players alike.
Zivilyn/Skol
http://www.ansalonmud.net
Join us today and create Dragonlance history.


6. RE: Commands standardization Sat Apr 28, 2012 [7:42 PM]
Istarian
Email not supplied
member since: Jan 11, 2010
In Reply To
Reply
It sounds like part of the issue there is structured syntax vs. natural language parsing. If you have both I think it's
going to be confusing.

Depending on how it's implemented, adding alternate syntaxes could pe painful, time-consuming, and increase the amount of time for a command to complete depending on the form you use.

---

It's not clear if you refer to general standardization, or somehow standardizing your game.

Really, a document describing the basic functionalities that most muds have and listing the various forms of commands and their syntax used to accomplish them would be useful.

For instance:
get/retrieve/take - usually involve getting something from a location and placing it in your inventory. That location could be the room you're in (floor, so to speak), a container in the room, or a container in your inventory. Sometimes they have a long form such
as take <x> from <y>.

drop - usually involves removing something from your inventory and dropping it in the room (I suspect this one is pretty universal in how it works)

put - putting something in something else: put something in a container in your inventory, or put it in a container in the room you're in

...


7. RE: Commands standardization Mon Apr 30, 2012 [1:19 AM]
Viriato
Email not supplied
member since: Jun 9, 2006
In Reply To
Reply
At least in my engine every command is in a hash table, so
calling any command has constant complexity and thus no
worries adding new.
I came with this idea reading other post, and it's intended
for muds in general. I'm admin but also a player. I would
like to try a cool Star Wars MUD or even play Eternal City
and God Wars II, but as I need to spend time learning
everything again, I always end up giving up and keep playing
just my MUD or my first MUD.
So in order to aid MUD "transitions" between players for my
MUD, I will implement this in short time; in order to aid me
testing new MUD's, it would be nice if others implement it
as well (accepting more than one syntax) :)

Btw, I can see in logs that new players arrive a MUD, first
thing they do is try some commands they are used to in their
first MUD's, and some of them get tired of it and quit. I
believe I can include myself in that group.

Again I am asking for someone to point me MUDs that can
represent a MUD codebase branch in general, so I can log in
and investigate online their syntax. I am also trying to
list basic actions/commands most players look for in a MUD
(at later stages, perhaps "professional"/"class" related
commands too, like "headbutt" :P But right now, I'm just
looking for first ones, for survival ones).

So please enrich the following list with commands you, as a
player, try to use when you "test" a new MUD:
- directions
- info about what a player is carrying (inventory?)
- info about player score/skills/whatever
- how to look/observe objets/rooms/others (look? glance?
examine?)
- how to interact with boards (inner mail, news board, etc)
- how to use communication lines (like says/tells, OOC
comms, I3 comms, whatever)
- how to use help files
- startup commands (some engines have "hint" to get tips,
others have a "help start" file, other perhaps other way to
show statup info)
- how to interact with objects (get, drop, put, give, wear,
wield??)
- how to use map command
- how to initiate combat and get info when fighting (kill?
k? shape? consider?)
- how to interact with trainers (cost? train?)
- how to interact with shops (buy? sell? value?)

And then, please tell me MUD's to check for their proper
syntaxes and that represent a codebase:
- LP Muds: Discworld? Dead Souls?
- Merc?: Godwars, Godwars II?
- CoffeeMud?
- DikuMud: ???
- ROM?
- MUSH?
- ...?
- Other codebase derivations?
- Other specific muds with their own command syntax that
have many players online and thus represent a large slice of
MUD players (Aardwolf?)

As you can see, the hardest part for me is fill the second
list properly.

Thank you
Viriato

#### Iberia MUD ####
iberiamud.com:5900
www.iberiamud.com


8. RE: Commands standardization Mon Apr 30, 2012 [5:07 AM]
KaVir
Email not supplied
member since: Aug 19, 1999
In Reply To
Reply
Viriato wrote:
- Merc?: Godwars, Godwars II?
GodWars is based on Merc, so it uses the standard Merc command syntax.

God Wars II works completely differently, as follows:

- directions

The standard 'north', 'south', 'east' and 'west' commands work, as does n/s/e/w/ne/nw/se/sw. You can explicitly specify a distance, eg 'north 100 feet' or 'east 2 miles', otherwise the default distance will be 1 furlong (66 feet). You can also use the 'target' command to specify a specific set of coordinates, or a creature, object or geographical location - this is used for combat commands as well as movement. When riding a mount, you use 'mtarget' for your movement but still use 'target' for your combat commands, so for example you might ride towards the forest while shooting your bow at someone chasing you.

If you switch off the autowalk config option (which is on by default), you'll need to type 'ff' (feet forwards) to start walking towards your destination. This is explained with a hint when you try to move, and explained extensively in the help files (it's all to do with the way combat works - you control each body location separately, and feet are one of them, so you can use them to advance, retreat, circle, jump, kick, etc). You can also enter another 'ff' command to jog, and then again to run, increasing your movement rate (which is in feet per second).

There's also 'up' and 'down' for buildings (although they're very rarely used), along with 'enter' and 'leave' for entering and leaving buildings, caves, etc.

- info about what a player is carrying (inventory?)

You can type 'inventory' on its own to list what you're carrying, or 'inventory <keyword>' to list items with a specific keyword. Typing 'inventory radiation' includes the magical radiation of each item (radiation is used to restrict magic items, similar to the way many muds have level restrictions, except that it's shared across all items - so you might have one high radiation item, for example, or multiple lower radiation items).

You can also type 'equipment' to show what you're wearing and holding, with 'equipment sheathed' showing only sheathed weapons and 'equipment slots' showing all available wear slots (these vary considerably based on your form). You can use 'equipment <keyword>' and 'equipment radiation' as well.

Item names are also clickable MXP links, and equipment is colour-coded to indicate magical type (the colours are also customisable, using xterm 256 colours, so you might choose to use foreground colours to represent rarity and background colours for magical type, etc).

Object names are dynamically generated on the fly, so they automatically include damage, rust, blood-stains, wetness, and any other factors that might impact their functionality - you don't need to look at them for that.

- info about player score/skills/whatever

Type 'score' to show various information. You can also type 'score skills', to show your skills, 'score stats' to show just your stats, 'score affects' to show spell affects, 'score armour' to show how much protection you've got on each body location against each damage type (broken down by layer as well if you wish), 'score inventory' to show your inventory, 'score talents' to list your talents and 'score powers' to list your class powers.

If you've got a pet, you can use 'pscore <pet>' to view its score, with the same options as above.

You can also use the 'whois' command on yourself to view various technical details, including your client name and version, plugin, supported protocols, screen size, bandwidth usage (both before and after compression, if appropriate), creation date, playing time, etc.

- how to look/observe objets/rooms/others (look? glance? examine?)

Type 'look' to see everything within several hundred feet. You can also type 'look <thing>' to look at people, objects, etc. Looking at an object while carrying it provides an extensive list of its attributes and abilities, while looking at a person shows a dynamically generated description based on their current appearance and equipment.

If you type 'look +<thing>' it'll check your worn equipment first, while 'look -<thing>' ignores whatever you're carrying or wearing.

The 'scan' command is like typing 'look' except that the ASCII map shows a lot more of the surrounding area.

- how to interact with boards (inner mail, news board, etc)

Typing 'mail ?' lists information about writing mail. You need to authorise people before reading messages from them, but this is explained during use. You can write messages in sentences or full paragraphs, and then format them before sending. You can also edit messages extensively. Replies use usenet-style indentation.

The message boards aren't available to players yet, but they use the same system as mail.

- how to use communication lines (like says/tells, OOC comms, I3 comms, whatever)

You can use 'say <message>', which can be heard by everyone within 1000 feet (whisper has a range of 5 feet, shout 10000 feet). You can also 'say to <person> <message>' or 'say @<person> <message>' to address someone specifically (and if you use the word 'pets' for the target it will address all of your pets at once, allowing you to issue them all orders simultaneously).

In addition, you can add various smilies to the end of your message (such as :P for grin, ;) for wink, etc) and other symbols to the front of your message (such as + for nod, - for shake, etc). For example 'say to bob %test :D' would come out as 'You roll your eyes at Bob with a laugh and say to him, 'Test.'' (the capitalisation and punctuation is also added automatically).

There's also the emote command, which supports the typical 'emote <message>' and has a range of 25 feet. It also lets you 'emote @<target> <verb> <message from their perspective>' or 'emote @<target> <message containing you/your/yours>', and the message will be grammatically adjusted for each viewer.

You can use the 'tell <person> <message>' to send someone a message, while typing 'tell' on its own will list the last 20 tells you've been sent (you can also type 'tell X' to list the last X tells). You can reply to a message with 'reply <message>', and may also type 'replylock' to lock your replies to the last person who sent you a tell (which is handy if they're not accepting tells). The 'ignore' command also allows you to ignore tells from a specific person.

There are three public channels, 'newbie', 'chat' and 'gossip', and in each case you can type the channel name on its own to view the last 20 messages. The 'newbie' channel is on by default, and the autohelp feature will automatically answer many questions asked on this channel (although it can be switched off). The 'chat' channel is off by default, but typing 'chat' while chat is off will redirect messages to 'gossip' (if it's on) or failing that to 'newbie' - so newbies can use either command when they first connect. The 'gossip' channel is off by default, and you receive a warning when you switch it on telling you that it is uncensored and may therefore be very offensive to some people. Player-created pantheons (sort of like clans) each have their own channel as well, but those are controlled entirely by the pantheon.

Typing 'socials' gives you a list of all available socials for your current form (eg only forms with a tail get the 'wag' social), and '<social> list' will show you the ways in which you can use that particular social (eg you can grin broadly, evilly, mockingly, wickedly, wryly, etc). Socials are sense-specific, so if someone types 'close eyes' they won't see you grin - similarly, if you're wearing a mask you'll 'grin wickedly behind your mask' and nobody else will actually see it. But they will hear you laugh (unless they're deaf). The socials are also dynamic, so while a human might 'clap her hands' a wolf would 'clap his paws' and a cloud of bats (swarm form) would 'clap their tiny wings'

- how to use help files

Type 'help' for an overview, 'help index' for a list of all help messages, 'help spells' for a list of all spells, and 'help <subject>' for help on a particular topic. If the topic doesn't exist, the mud uses a soundex parser to make recommendations. It also uses the same system as the autohelp to try and work out appropriate advice from multiple word questions, so if someone types 'help how do I join a class' (or whatever) then it'll try to generate an answer. Many help files reference other help files, and also include a 'see also' section at the bottom which lists related help files. Some of the help files are also dynamically tailored to the viewer.

- startup commands (some engines have 'hint' to get tips, others have a 'help start' file, other perhaps other way to show statup info)

When you first connect, your prompt tells you to type 'what'. Doing so explains that you can type 'what' at any time during the game to receive advice and suggestions on what to do next - the information is generated dynamically based on your current achievements and the type of character you're playing, and it can walk you through the entire newbie phase, but it doesn't stop there; even the veteran players find it useful.

The mud also has a hint channel, but not the random tips approach. The hints are context sensitive and very specific, telling you exactly what to type in response to things that have just happened. Like many other messages they make use of MXP links, so you can actually navigate through a lot of the newbie phase just by using your mouse to click on links.

Finally, you're also advised to read 'help newbie', and this references numerous other help files that give extensive detail about the inner workings of the game. There's a lot to take in, but the information is there for those who want it.

- how to interact with objects (get, drop, put, give, wear, wield??)

There are no containers, but you can 'get' objects from the ground (including 'get all') as long as they're nearby. The 'put' command is used for putting objects onto your pets (eg putting a saddle onto your horse, or a collar around the neck of your wolf). You can also drop objects (and 'drop all' to drop everything in your inventory). You can use multiple keywords to specify certain items, and also prefix a number if you wish - eg 'drop 2sword' to drop the second item with the 'sword' keyword. All non-alphabetic characters after a number are ignored, so the parser is also compatible with the Diku-style '2.sword'.

The 'give' command also accepts multiple keywords, although in this case you need to use the words 'the' or 'to' to avoid ambiguities. For example you can either 'give sword wolf' or 'give wolf sword' and that's fine. You could also 'give sword black wolf' or 'give wolf steel sword'. But if you wish to provide multiple keywords for both, you need to write either 'give black wolf the steel sword' or 'give steel sword to black wolf'.

The 'wear' and 'remove' commands allow you to wear and remove items outside of combat. For weapons, you may also specify where you wish to wear them, for example you might strap your knife to your forearm, chest or back, or hang it from your belt, or tuck it into a boot, etc. The 'wield' command puts an object directly into your hand, where it is used as a weapon (any object can be used this way, although improvised weapons are generally not very effective, and wielding small creatures tends to kill them just as easily as it kills your opponent). You can also type 'hold' instead of 'wield', they do the same thing.

The 'draw' and 'sheathe' commands allow you to move worn weapons into your hands and vice versa. You can also specify items in the plural form, for example 'draw knives' will draw two knife weapons. The 'swap' command lets you switch items between your left and right hands.

The 'fabricate' command allows you to create items out of thin air.

- how to use map command

Typing 'look' shows the normal ASCII map alongside the description. You can also type 'scan' and 'area' for larger maps, and 'world' for an even bigger one still. The 'weather' command shows an ASCII weather map. The graphical maps are obviously client specific, but the Mudlet one installs automatically when you connect, while instructions for the MUSHclient plugin are referenced from 'help gui'.

Note that while 'area' on its own displays an ASCII map, you can also type 'area list' to list the areas in your current world (in the Nexus you must have already visited the areas for them to be listed) and 'area <name>' to view details about a particular area. You can also view areas by difficulty range if you wish.

If you're using the 'screen reader' config mode then there are obviously no ASCII maps. Instead, the 'area' command shows the area list by default, and the 'scan' command provides a list of the nearest areas along with their approximate distance and direction, with unvisited areas listed by description instead of name.

- how to initiate combat and get info when fighting (kill? k? shape? consider?)

You 'target' your opponent and then execute fighting techniques with your left hand, right hand, head, feet and (if you've got one) tail. As I mentioned earlier, 'ff' (feet forwards) lets you move, but you could also use 'fk' (feet kick) to execute a kick, 'rs' (right slash) to perform a slash with your right hand, and so on. The available choices depend on the weapons you're using and numerous other factors. In total there are over twelve thousand fighting techniques divided among hundreds of different weapons, so your strategy is going to depend very heavily upon your choice of weapons, but this is covered fairly well by the help files and the 'what' command.

- how to interact with trainers (cost? train?)

There aren't any trainers, but you can use the 'train' command to raise your stats and change subclass, and the 'power' and 'talent' commands to add and remove powers and talents respectively.

- how to interact with shops (buy? sell? value?)

Players can 'sell <object> for <price>', 'sell <object> <creature> for <price>', 'sell <object> to <creature> for <price>', 'sell <creature> <object> for <price>', etc. The target can then use the 'view' and 'buy' commands to check out the stats and then buy the item. There are only a couple of mobs that sell things, and both use the 'sell' command.

God Wars II: http://www.godwars2.org (godwars2.org 3000) Roomless world. Manual combat. Endless possibilities.
MudLab: http://www.mudlab.org


9. RE: Commands standardization Mon Apr 30, 2012 [7:30 AM]
Hades_Kane
Email not supplied
member since: Aug 17, 2001
In Reply To
Reply
These are mostly diku/merc/rom commands, but on a new MUD, there are some alternatives I might attempt
as well:

- directions
north, east, south, west, scan

- info about what a player is carrying (inventory?)
inventory, equipment

- info about player score/skills/whatever
score, skills, spells, worth

- how to look/observe objets/rooms/others (look? glance?
examine?)
look, examine, scan, consider

- how to interact with boards (inner mail, news board, etc)
board, note list, note read, catchup (replace note with idea, rp, etc. for other boards but with same
syntax)

- how to use communication lines (like says/tells, OOC
comms, I3 comms, whatever)
ooc <message>, ic, gossip, newbie, question, ask, say, tell

- how to use help files
help

- startup commands (some engines have "hint" to get tips,
others have a "help start" file, other perhaps other way to
show statup info)
help newbie, help start, help rules

- how to interact with objects (get, drop, put, give, wear,
wield??)
get, look, drop, put, give, wear, wield, examine

- how to use map command
n/a

- how to initiate combat and get info when fighting (kill?
k? shape? consider?)
kill, fight, hit, consider, look, examine

- how to interact with trainers (cost? train?)
train, practice, convert

- how to interact with shops (buy? sell? value?)
list, buy, sell, identify


Also, rather than waiting for people to suggest a ROM, or a MUSH, etc, you could probably do a search
for "Mostly Stock" on the world and find good, stock examples of these games.

Or, pop over to MudBytes and examine in the pastebin thing the appropriate command list files for the
various codebases to see what they have.
-Diablos

END OF TIME

eotmud.com : 4000 (or 23)
http://www.eotmud.com
http://www.facebook.com/eotmud

Final Fantasy based MUD opening soon! Looking for players & builders!




[Previous] [Next] [Post] [Reply] [Topics] [Summary] [Search]