[Home] [Downloads] [Search] [Help/forum]

Gammon Software Solutions forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  Plugins
. . -> [Subject]  Calling Plugin procedures from triggers

Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?
(New message)
Subject: Calling Plugin procedures from triggers
Name:
Your forum user name.
Register forum user name
Password:
Your forum password.
Forgotten password?
Message:
Message to be posted (in English, please).
Forum codes:
Check this if your message uses 'forum codes' or templates (auto-detected for new posts).
Forum codes Templates

Save this message ...


Subject review (reverse sequence)

Pages: 1 2  

Posted by Shaun Biggs   USA  (644 posts)  [Biography] bio
Date Fri 13 Jul 2007 09:52 PM (UTC)  quote  ]
Message
Aardwolf solves this problem twice. First off, the brief command will check to see if you've been in a room before and display room descriptions according to the option you have set. Secondly, and more frequently used, there is a run command. You type in "run 2s10wn2wn4wn8wn14w12w8n" and the mud will move you there, just showing room names and how many moves you have left at each step. This also cuts back on data sent out from the mud. It's also displayed in a way that screen readers can be set to just plain ignore the output until you hit the last room.

It is much easier to fight for one's ideals than to live up to them.
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Fri 13 Jul 2007 07:17 PM (UTC)  quote  ]
Message
Well. I think it is probably pretty standard. When pathing I use brief all the time, since the buffering for command *and* text don't work well on the mud I play at, so if you move more than, I think, 10 rooms, while in verbose it chops most of the rooms that follow, including the one you arrive in. As a result, I do stuff like, "brief, 20 s, 4 n, 3 ne, 5 s, brief, 1 s", this eliminates the buffer glitch for all the rooms in between, but still lets the last room you arrive in be visible. Mind you, a mud+client that stored descriptions locally, like Nick is talking about, could display them all, if you have been there before, without doing brief, but most are going to choke in the middle of a long walk if you don't add a command delay into the mix.

In any case, we have as options:

1. Show short description (room name).
2. Show short long description.
3. Show both.

It has no way to do something like showing only "new" rooms. And frankly, for that to be reasonable, I would expect a sort of negotiation like, client: "I want to move to x.", server: "ACK Unchanged #", or server: "ACK Changed # + data". For clients with no support for that, you would still need a "always show room contents."

As for triggers, etc. One could simply set the server to send something like: "NACK + data", meaning, "I am not going to tell you if this room changed or not, or even what its internal ID is, but here is the room.", for those areas that you *don't* want someone to map as easily.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Shaun Biggs   USA  (644 posts)  [Biography] bio
Date Fri 13 Jul 2007 06:50 AM (UTC)  quote  ]
Message
No idea if it's a standard feature or not. It's the only mud I've been able to stick with for any decent length of time in the past 10 years. As for the explore issue, I'd rather see the flag do the opposite, make it always look like the room has been visited before, then process as normal. At least for every room except for the first one. That way people might not notice something is up if they drop an item, then walk into the room again from another room.

But until this is implemented, I have to result to my other ways of torturing people trying to figure out the area quests... Muhahaha! erm... I mean, I have ways to add unique and creative challenges to enhance the playing enjoyment of others.

It is much easier to fight for one's ideals than to live up to them.
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Fri 13 Jul 2007 06:07 AM (UTC)  quote  ]
Message
Brief is a more or less standard feature, isn't it?

Yes, the part about not being able to fool players is the only big problem I can see. (Same thing about showing vnums or not.) If that was really a problem, you could set up a flag that effectively ignored the middle brief setting, and always considered that you'd never been in the room before.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Shaun Biggs   USA  (644 posts)  [Biography] bio
Date Fri 13 Jul 2007 04:37 AM (UTC)  quote  ]
Message
Quote:
In fact, I was thinking if I ever redid a MUD server, I would use a custom protocol so that if you walk in and out of a room a dozen times, it doesn't have to resend a 5-line room description each time (after all, the room itself hasn't changed).

Actually, Aardwolf does something similar to this already. It gives you options for what to see when you enter a room, with the 'look' command always displaying the full room description.
You are currently set to brief mode 1.

Valid brief modes are:
   0 - See all room descriptions.
   1 - See new room descriptions only.
   2 - Never see room descriptions.

The amount of bandwidth this saves is amazing. The only drawback is when wandering into a new mazed section. You can always tell when you've entered a new room when you have brief set to 1, so it's a bit harder to trick the people with this setting.

It is much easier to fight for one's ideals than to live up to them.
[Go to top] top

Posted by Nick Gammon   Australia  (18,772 posts)  [Biography] bio   Forum Administrator
Date Thu 12 Jul 2007 09:09 PM (UTC)  quote  ]

Amended on Thu 12 Jul 2007 09:11 PM (UTC) by Nick Gammon

Message
MMORPGs try hard to get the client to do as much as they can. After all, a single game server is likely to have 1000 clients hanging off it. Any job the server takes on has to be multiplied by 1000. Streaming audio (or video) must be one of the most data-intensive jobs you could choose to do.

In fact, MMORPGs download as much as they can (or install off the CDROM), like scenery, mob images, sound effects. After that they try to make the client do things that it safely can without compromising security (allowing cheating), such as letting characters move locally, and sending updates to the server about where the character is now.

They try to predict which way a mob will run when it attacks you, so it looks smooth. Sometimes they get it wrong and the mob gets suddenly readjusted to somewhere else.

In fact, I was thinking if I ever redid a MUD server, I would use a custom protocol so that if you walk in and out of a room a dozen times, it doesn't have to resend a 5-line room description each time (after all, the room itself hasn't changed).

That would make stuff like "look" and "inventory" very fast, because it would simply be displaying its local copy of the information. Then you could even have the client display the room description, inventory, equipped items, known skills, etc. in special dialog boxes, since they would be unambiguously identified for what they were, rather than relying upon complex triggers to try to decode incoming text.


- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Thu 12 Jul 2007 06:40 PM (UTC)  quote  ]
Message
To be fair, I am not talking about mixing everything, just speech, in a stream. Environmental sounds, music, babble, etc. are are possible to handle without the overhead on the client end. The biggest worry is, what happens on the client end when you have 10 people speaking in the same room as the player, and you need to map all those voices, in real time, into the sounds... Each of those has to take process time to convert from text to speech *before* you can hear them. But yeah, there is the point about how big of a mess it would be with a lot of rooms, each with a player in them, each hearing 4-5 voices. The issue is if the client end could handle 4-5 in a room well either, given some of the hardware a person might be using to run the client.

I mean, its a lot easier with real voice over IP, where people just talk, but you still have the problem of NPC speech there, which isn't as solvable. For a text mud, its unlikely anyone is using voip, so the problem is just amplified. Short of a hardware based solution, like a special translation card that you could feed text and parameters, which would then dump that through something like the CD audio connector, you are going to be looking at the OS trying to sort it out. A real mess, if you have dozens of voices involved.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Shaun Biggs   USA  (644 posts)  [Biography] bio
Date Thu 12 Jul 2007 05:27 AM (UTC)  quote  ]
Message
I was only referring to the processing issue in that post. I made no mention of bandwidth whatsoever, or I'd start talking about a game I play which has a chatroom and a shoutcast station, and how there is sometimes one is up to a minute behind the other. Not terribly effective in terms of communication, but you can get fun games of Marco Polo going. Granted, these two things are on different servers, so there won't be quite as big of an issue with lag time, but bandwidth is an issue for servers, which is why a lot of muds use mccp, which sacrifices minor processing time for huge savings on bandwidth. It's much more effective for the money in the long term.

It is much easier to fight for one's ideals than to live up to them.
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Thu 12 Jul 2007 05:10 AM (UTC)  quote  ]
Message
Quote:
If everyone logged into the game were forced to be in the same room or maybe just a handful of rooms, then having a sound server streaming sounds might not be a terrible idea.

I'm having trouble understanding why it would ever be a good idea even for that kind of situation. You'd not have the processing problem (at least not as much) but you would still have all the bandwidth issues. This isn't just a speed issue; it's a load issue in general.

You're already talking about a special client that can play sound sent from the MUD. So just let the client mix sounds that are all client side. I honestly can't see any reason whatsoever for the server to bear all or even any load of mixing and broadcasting the sounds...

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Shaun Biggs   USA  (644 posts)  [Biography] bio
Date Thu 12 Jul 2007 04:13 AM (UTC)  quote  ]
Message
Quote:
Ok, first, I was thinking in terms of processor overhead, since you are **not** just mixing only premade sounds, but also possibly several dynamic speeches that have to overlap each other. That takes extra processing time for *each* "voice" that is going to be talking.

I will agree that it takes extra processing time for each voice used, which is why it would be so much more efficient client-side in terms of speed. If everyone logged into the game were forced to be in the same room or maybe just a handful of rooms, then having a sound server streaming sounds might not be a terrible idea. However, if you have a decently large game, the amount of sound generated will increase quite a bit per person (also taking into account that not everyone will have the same communication channels open), and that there will be several rooms that people could possibly be in.

For example, on Aardwolf right now, there are 347 players logged in. There are 28031 explorable rooms (a few thousand are flagged non-explorable). There are also 29 channels (not including say and personal tells and such), which are all individually able to be toggled on and off. Due to the variety, it would make much more sense to just send the text and let the client sort it out.

To expand that further to show why MMORPGs don't deal with sound like that, imagine something similar on the scale of 10,000 people on at any given time, having to deal with combat sounds, environmental sounds, and mixing people's speech. Not a terribly easy task server-side, unless you have a supercomputer dedicated to the task.

It is much easier to fight for one's ideals than to live up to them.
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Wed 11 Jul 2007 08:51 PM (UTC)  quote  ]
Message
Quote:
MMOs get by with mixing it on the client end because a) they don't usually support spoken speech

Do you have any idea what it would entail to mix any form of sound whatsoever on the server end for a game with several clients? It's not that MMOs "get by with mixing it on the client" -- it's that they cannot afford to mix it server side.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Sean Randall   United Kingdom  (14 posts)  [Biography] bio
Date Wed 11 Jul 2007 08:24 PM (UTC)  quote  ]
Message
A hallmark of MUDs has been their ability to run on many systems, regardless of spec. I think in adding streamed speech per room detracts from that considerably.

I see the concept, but to be truly useful a whole new kind of client-server protocol would need to be negotiated and a client probably created from the ground up, with accessibility taken into consideration from the outset.
[Go to top] top

Posted by Shadowfyr   USA  (1,774 posts)  [Biography] bio
Date Wed 11 Jul 2007 06:50 PM (UTC)  quote  ]

Amended on Wed 11 Jul 2007 06:55 PM (UTC) by Shadowfyr

Message
Ok, first, I was thinking in terms of processor overhead, since you are **not** just mixing only premade sounds, but also possibly several dynamic speeches that have to overlap each other. That takes extra processing time for *each* "voice" that is going to be talking. A server might be able to use a separate sub-server to handle that, or actually have far more processing power at its disposal, maybe. Probably not with most normal muds though. MMOs get by with mixing it on the client end because a) they don't usually support spoken speech, unless its parsing the output in the chat window, so there is no simultaneous events, and b) they used canned speech, which obviously isn't going to be the case of 10 players are all in a room talking at once, like in a market. Mostly, they probably handle it by *not* having those things happen at the same time, so you could probably do that, but it takes away from some of the realism, and won't help you if you integrate something like real-time voice chat too. Mind you, that is probably going too far for a mud. lol

Second, nothing stops you, if the voices are distinct enough, or one is louder, from doing and people do naturally, and pick their own names out of speech in a crowd, or focus on a single speaker in the room. You could have 4-5 people speaking in the room, at different locations and distances and still follow what is happening. You could also have a quite distinct voice that is *only* used to do the equivalent of narration, for the descriptive parts. It can't be any harder than real life to follow, and last I checked, even blind people manage to do fairly well in crowds, despite all the noise. Why would it be different when the crowd "is" noiseless babble, with 2-3 real merchants and a few players talking to those? I think you exaggerate the problem a bit. Its all about the quality of the speech and how adaptive you can make it. Sadly, most probably use what isn't much better than 10 years ago, since that sort is simple to implement, so its uncertain how different you *can* make the voices. That is the only serious hangup I can see with it though.

Oh, and to add a bit, this idea would "require" males to use male voices, females to use female, etc. Making them distinct... Its a bit more complicated, but maybe you could take the NPC/Player name and use that to generate the "voice" that specific individual has. The problem is, again, finding a speech system that is a "bit" better than the old ones I have heard, so you can get a better variety and fewer, "Ugh, that combination of settings is horrible!", situations. lol

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by Sean Randall   United Kingdom  (14 posts)  [Biography] bio
Date Tue 10 Jul 2007 09:55 PM (UTC)  quote  ]
Message
Switching voices for different things is something we use now, on a limited basis. The big thing for us though is speed, and having different voices in the mix slows things down. After all, things scroll rapidly on some MUDs, and we have to keep up.

Sounds we also use - various people create "sound packs" for various games. While it's true they are useful just for fun, for us, they are much more than that. If we're reading a long room description and get attacked, a sound is oftentimes our primary way of finding out about it.
Similarly, if we get a message over a com channel, if our spaceship gets hit... you get the picture. it's also useful if we're turning our attention elsewhere (to check mail, whatever). Sounds are a lot quicker to process than a babbling voice. Of course we need multiple sounds playing at once, so that one doesn't stop another. A quick Plugin takes care of this - although I aim to eventually write one with some more features. The basic idea of having a trigger play an audio file is nothing new though.

As a rule, having games or programs talk to us (enabling special "blind" modes) is irritating. We tend to have our own screen readers, with voices and rates of our choosing. this is why i'm creating several plugins to cater for a variety of screen reading programs.

Of course there are some people who simply will not know how to setup plugins and whatnot. They'll learn, though; and I hope to get a web page set up with some help if there's demand for it.

MUDs may be a somewhat quaint form of gaming compared to the MMORPG genre, but for us, they are almost natively accessible. of course you need your client the way you like it, and prompts are the bane of our existence - but we manage.
[Go to top] top

Posted by Nick Gammon   Australia  (18,772 posts)  [Biography] bio   Forum Administrator
Date Tue 10 Jul 2007 09:42 PM (UTC)  quote  ]
Message
I am sure there is scope for improving the user interface for people who have trouble seeing the screen. For one thing, colour is used on the screen to add extra information for sighted people. You could achieve a similar effect by using different voices (or different speeds / inflexions) depending on the context.

For example:


(droning voice): Exits: north east south west.
(female voice): Nick says, (male voice) Hi there
(excited voice): The kobold attacks you!
(announcer's voice): <Room description>


Probably an ideal would be to have male voices speak when male characters speak, and female voices when female characters speak. This might be hard to arrange, but maybe an internal database could be maintained of who is what gender.

If someone speaks who is not in the database, a quick bit of code could fire off a "look" or similar appropriate command to determine their gender, and save that in the database. These could be suppressed from output so it happens in the background.

Other sound effects could be used to good effect (eg. door opening sound, footsteps, water lapping).

I don't know how much of this would really be wanted, but if it was, it would be an interesting project.



- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


8,823 views.

This is page 1, subject is 2 pages long: 1 2  [Next page]

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

[Home]

Written by Nick Gammon - 5K

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Internet Contents Rating Association (ICRA) - 2K]    [Web site powered by FutureQuest.Net]