|
|||||||
This is a discussion on "Why not exploit the telnet protocol?" in the Top Mud Sites Advanced MUD Concepts forum : Colored MUDs are split into two varieties: the type where the very first thing it asks is whether you want ANSI color; and the type where it goes straight to the main login screen, which is NEVER coloured regardless of color preferences. And yet it is possible for the MUD to determine, without the player even being aware of it, what MUD client the player is using, and thus whether it supports ANSI. But ANSI is just one example. Others would include determining whether the MUD should provide an artificial local echo, or whether the arrow keys get sent as ... |
|
You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our MUD community today! If you have any problems with the registration process or your account login, please contact us. If you are a registered member of the old TMS forums, please click here
|
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
|
Posts: n/a
|
Colored MUDs are split into two varieties: the type where the very first thing it asks is whether you want ANSI color; and the type where it goes straight to the main login screen, which is NEVER coloured regardless of color preferences.
And yet it is possible for the MUD to determine, without the player even being aware of it, what MUD client the player is using, and thus whether it supports ANSI. But ANSI is just one example. Others would include determining whether the MUD should provide an artificial local echo, or whether the arrow keys get sent as characters (windows Telnet) or whether they are function keys for the client itself which never make it to the MUD (zMUD). The vast, overwhelming majority of MUDs use the telnet protocol (even though the vast, overwhelming majority of MUD owners do not even know what the telnet protocol even is). The telnet protocol allows hidden client-server dialogues which the end user does not even see, which allow the server to determine many things, one of which is what type of program the player is using to log on (ie, their mud client). Most MUDs, however, merely ignore this awesome capability, and if the client initiates one of those hidden dialogues (to ask whether it should use local echo, for example), most MUDs merely gag it and ignore it, without responding. These days, alot of kids and teenagers do not know what "ANSI" is. If the weird text-based game is trying to solicit this info from them (which is totally unprofessional since, as I've shown above, it is unnecessary in most cases), they'll just say "screw it" and go play Everquest. |
|
|
|
#2 | ||
|
Member
Join Date: Sep 2002
Posts: 100
![]() |
Quote:
Many clients are even worse. Quote:
Check out a few of the higher-quality muds and clients. You'll find that they already do what you're proposing. Edit: My sentence above is not intended to imply anything about the examples I mention earlier. Except maybe ROM Stilton |
||
|
|
|
|
|
#3 | |
|
Member
|
I bounced this question off of one of our coders, because I didnt know the answer and found the idea intruiging. Here is the response I received, in case anyone is interested.
Quote:
|
|
|
|
|
|
|
#4 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
--matt |
|
|
|
|
|
|
#5 | |||
|
Posts: n/a
|
Quote:
Quote:
Quote:
|
|||
|
|
|
#6 |
|
Member
Join Date: Apr 2002
Home MUD: DartMUD
Posts: 86
![]() |
Even if you can determine what client a person is using and whether it is capable of displaying ANSI color or not, it is a bad idea to just automatically turn color on. Some people may not like your color scheme. That's a decision that should be left up to the user in my opinion.
|
|
|
|
|
|
#7 |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
This is actually something that bugs the #### out of me. Years ago, 25 or more.., I used a program called Telemate. It didn't even have a clue what Telnet was, since it was a pure dial-up application for use with BBSs. However, one thing it had in common with nearly all such clients is that it expected any BBS using the ANSI spec to send it an ANSI sequence requesting to use ANSI and it replied with a can-do repsonse. Then I got on the internet and started to play muds. All of the sudden this 'basic' feature was missing. Why?
The one I play on right now uses ANSI, but you have to turn it on in the terminal options, because it won't send a 4-5 byte request the istant you connect to find out if you have ANSI. Others turn it on by default, which they can get by with because even MS telnet, which is the worst client in existance, as near as I can tell, recognizes the codes. Last I checked this is 2003, there is even extensions like MXP around that 3-4 programs use and 'require' negotiation to work properly, but muds can't do something that basic dial-up BBSs could do half a century ago. This isn't about telnet and what variation of it someone may be using, it is basic common sense imho. It make no sense at all that this isn't a standard feature of 'all' muds by now, no matter how old the code base. Yes, there are some things that can't or won't work in specific instances, but something so silly and basic? As for things not supported, about the only major thing in VT100 not supported is things like text positioning. This is a trade off, most muds don't fake animation or graphics using these features, but send text that just continuously scrolls. A few do try to be clever and use it for things they could do without, at which point you run into a problem with about half or more of the clients, including Mushclient, which I use and is figthing it out toe to toe with zMud as the most versitile one around. Well, some special text attributes and other tricks may not be either, but most of them are purely cosmetic, while color I would argue is so pervasive that not having it is practically a matter of basic function. The blinking issue does bug me though. In Mushclient, the default is to treat blink as Italic, but that screws up maps. Supposedly this will get fixed in a 'much' later version, probably the same time a real port is developed that will run on Linux, though I haven't a clue how scripting will get implimented in that, since it currently relies on COM. |
|
|
|
|
|
#8 |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
The problem Ogma, is that it is a lot less confusing to people if they know there is color and merely need to turn it off or change it. If the first thing someone has to ask when 'all' of them log into a mud is, "Why isn't there any color?", you have done something wrong.
|
|
|
|
|
|
#9 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
--matt |
|
|
|
|
|
|
#10 | |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
Quote:
|
|
|
|
|
|
|
#11 | |
|
Member
Join Date: Apr 2002
Location: Seattle
Posts: 32
![]() |
Quote:
I will add my agreement that the only way to gauruntee a feature you want is to code your own client or require one particular client. Also, it is very safe to assume ANSI support. I have yet to come across any client that does not at least trap and ignore escape codes. This does not there is not one, of course. But why worry about that .1%? |
|
|
|
|
|
|
#12 | ||
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
--matt |
||
|
|
|
|
|
#13 | |
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
I'm afraid I'll have to agree with the_logos on this one - I prefer a system whereby the player can configure their settings to whatever they feel most comfortable with (although I also like to have colour switched off by default). |
|
|
|
|
|
|
#14 |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
I don't think you understood what I was saying.
A few points: 1) If many clients allow the ability to recongifure what color is displayed when a specific color code is received (such as ZMUD) is it really necessary to have this available in the game server as well? If the player really wants to change the colors, they can do so with the client. But the game itself is sending out consistent information to everyone, so there's no question. Interpretation of that information is, of course, up to the client. 2) I'm not sure what you mean by "not knowing what the player's prompt is". Of course you know what it is, since the server is sending it to them. You may be talking about something else. Obviously you should provide the ability to configure settings in the server that are necessary (such as turning of special text decorations for blind players, as an example). But color and prompt (again, I'm talking about the hp/spell point/stamina-type prompt) should be made uniform so that the interface is the same for all users. Room names appear in yellow, room descriptions in off-white, wilderness/ansi-mapped room color and icons appear the same, etc., for all users. |
|
|
|
|
|
#15 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
The reason to add it into the mud server (assuming you're not requiring a custom client) is to provide a single interface for players to make the color and appearance changes. Your staff is then better able to help players do what they want because you only have to support one interface. --matt |
|
|
|
|
|
|
#16 |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Gee.. The_logos, by that standard, why have any color at all, just assume that everyone is a genius at designing triggers and that everyone must be using zMud, Mushclient or some other program that lets you color your own text? Get real. most clients use only ANSI. In my experience there are only two effects this has, 1) some really bad clients start with a white background and 2) on some systems, with really bad displays, Yellow can end up looking Brown. The reality is that 'most' computers differ today only in how 'bright' the image is they produce. Colors tend to be more or less the same.
We are not talking about some stupid web browser that stupidly tries to match to the nearest 'valid' color according to your system. The display may not be 100% identical, but it is probably 98% identical, even in most worse cases. That said, you are probably talking about people changing the colors themselves? Fine, but often the only way to match a line, is if you can tell the client what color it was in the first place. You can tweak all the colors you like in some clients, but that is 'your choice' and if it screws something up in the game design, that is your fault for changing it. And as for MXP colors, as far as I know you can't easilly mess with them the way you can ANSI, so the biggest worry there is if the client can display them at all. In any case, your own point about Yellow looking Orange on yours.. I have seen that on a Windows client, Imho, that client was not dsigned for games in the first place and you shouldn't use it for that. Same with drastically different colors on different systems. I doubt if you tried to display a full color photo on the same system that the result would e equally wrong, therefor it must be the client's fault and you should find a client that works right. When you use ANSI, MXP, etc. you are making an assumption that 'most' people will see the right things. If someone is using an OS or client designed by Joe Screwup and won't show the colors right because he thought Puce looked better than Blue and Green was a horrible color no one should use, then you already have a serious problem. Same if you expect things to look right if you are using a horrid VGA monitor from the 1980's that can't display more than 256 colors and shows Yellow as Orange in text modes. You may as well blame your difficulty seeing something on TV on the broadcaster, because you are using a black and white TV and the intensities of everything on the screen are all nearly identical. First use something that works the way the broadcaster 'intended' it to be seen, then complain about the content and what it looks like. |
|
|
|
|
|
#17 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
Color in text is useful for highlighting or separating information. It is not the information itself 99% of the time so I'm unsure why you wouldn't provide an interface for players to set the colors themselves. --matt |
|
|
|
|
|
|
#18 |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Guess I was a bit confused by your statement. Yeah, you should have some ability to configure. There are times though where it shouldn't be, but they are rare. In any case, the limitations of ANSI means that in most cases you will never get a decent set of options anyway. Color is not much more than a way to nicely seperate stuff out, in which case you have a limited number of options to do that anyway.
In any case, the point of all this started with why muds can't figure out something that is built into the ANSI protocal and has been used everyplace, except in muds, for the last 25 years or more. If you choose to turn them off or change them doesn't matter as much as either assuming that someone "doesn't" have color by default, or tht they 'always' have it. Both are wrong and a simple solution exists to figure it out, and you don't need to know what the specific name of the client is. ANSI itself has the means to find out built in. However, between the two wrong choices, the one that makes you hunt through help files to turn on the color, instead of having it on to start, is more wrong than the other imho. |
|
|
|
|
|
#19 |
|
Posts: n/a
|
Why all the color-specific threads? Color is only one of the possibilities of making muds that follow the telnet standard. Another couple examples:
1. Identify which clients send the arrow keys through as characters (rather than reserving them as client function keys like zMUD) and allow these people to use them as server-side macros for moving around (up arrow = north, down arrow = south, etc.) Particularly appealing for MUDs which use the worldmap code. 2. Identify which clients follow the letter of the law when it comes to local echos, and go to town accordingly. You could make it so, when they type "password oldpass newpass", it turns clientside echo off and provides serverside echo so that what they see themselves typing is "password ******* *******", even before they press enter. Or you could be creative and make it so when people are highly drunk, they get their clientside echo disabled and the mud supplies a server side "slurred speech" version of local echo :-) 3. Identify which clients have advanced features like rip or pueblo supported and use them accordingly- or if you prefer to keep that optional, it still has the advantage that people who play on zMUD at home and Windows telnet at work can have the rip at home but at work the server sees they're on Windows telnet and doesn't send it (ever logged on a RIP account from a non RIP client? not pretty!) 4. Make it so when players on applicable clients hit the "break" key, it unqueue's all their queued up commands (for people who type "trance" 15 times then suddenly get ambushed) 5. In some cases, be able to determine the window size of the player's client. I'll leave you to imagine the possibilities. 6. If a client supports environmental variables, these could be used to reduce RAM load on the server of very specific data (things of little urgency that we dont mind people being able to hack or lose) Anyway, I'm just trying to get some new ideas circulating, it seems a long time since the community has had much in the way of new ideas :/ Don't mean to start any flamewars |
|
|
|
#20 | |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
Quote:
Additionally, colors in terrain maps play an important role, such as blue for water and cyan for reefs or shallows, for instance. I think there's a point where you can focus too much on the interface and giving players commands to change anything. I'm not saying that lots of configuration is a horrible thing, just that I don't agree with it, and I've given my reasons why. The entire reason I started this tangent is because the_logos stated that every game should have this ability as a standard, and I don't agree. I think it's more of how you see the game. Just as authors wouldn't want people changing text or words in their novels, I see the look and feel of a game as essential to the final vision of the product. That includes color. True, you can't control entirely how it will look at the other end, but you can come close. Perhaps I am pickier about that than most. |
|
|
|
|
|
|
#21 | ||||
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
Quote:
Quote:
Quote:
--matt |
||||
|
|
|
|
|
#22 |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
But you're effectively saying that presentation has no impact on content, and that is completely false. Take a look at the hardback edition of "The Neverending Story" by Michael Ende. One half of the book is published in red text, the other is in green text, which corresponds with the transition from the real world to Fantastica. It makes a significant impact on the reader of the story and adds to the overall enjoyment of the book. True, the book can be, and has been published without the colors - I didn't say that you couldn't have an effective book without it - just that it DOES make a difference. Cover picture. Fonts used. Images or no. All those things are presentation, and they make a difference.
I would hope that your game would be better than a mass-produced paperback novel. Even mass-produced paperback novels know that it's all about the cover and thickness of the book - presentation again. In text games, as in novels, presentation makes a huge difference, and keeping tight control over presentation - as tight as you can without controlling the client 100% - is a good way to do it. Having good content is nice, and that makes up the meat of a text-based game, but presentation provides the flavoring. I mean, really - if you apply your argument to picking the characters you use to generate virtual maps, isn't there a reason water is blue and is made using tildes (as an example, I haven't seen your game), and grass is green? The same should go for warnings (red, that is an international standard, by the way - there's no reason it should be changed). If you truly feel that the colors don't matter, try changing the colors around on your game. Put your room descriptions in screaming red, your character descriptions in bright yellow, and change the colors of your terrain to random - green water, red trees, and white plains. I think you will find that suddenly quite a bit has changed in the "look and feel" of the game, and your players are complaining. Do they really need control over that, as a standard? I think it's up to the individual server authors. Again, what I object to is your comment that it should be a de facto standard to give users configurable colors and prompt. I'm not saying you are wrong to allow it, just that you are wrong to declare that it should be that way on every text-based game. |
|
|
|
|
|
#23 |
|
Member
Join Date: Nov 2002
Posts: 66
![]() |
I believe the basic point is that there is absolutely no real disadvantage (besides an additional small investment in developer time) to allowing configurable colors, and many advantages.
After all, a significant portion of the population is red-green colorblind. |
|
|
|
|
|
#24 |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
Really? What percentage, and how many of them play MUDs? Have you ever encountered any in your years of administration? And given that there are many popular clients out there that allow you to reconfigure the way ANSI is displayed itself, if you were really red/green colorblind don't you think you might use one of those and it's a tad redundant to have it on the server level as well?
|
|
|
|
|
|
#25 |
|
Member
|
All of the talk about coding a "custom client" has sparked my interest in coding one. Anyone have any suggestions on books that might be good to read if I wanted to write a custom client for my MUD. I took a look on Amazon for "telnet" and "GUI", and a few other phrases, but didn't come up with anything that looked like it would be helpful.
Any ideas or suggestions would be great! |
|
|
|
|
|
#26 | ||||
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
Quote:
So to put my question another way, how does it provide me with a "much more cohesive atmosphere" if Bubba the Barbarian isn't allowed to remove mana from his prompt? There's no way that I can even see his prompt. All it does is limit his user interface. Quote:
Quote:
I can understand providing default prompts and colour configurations (ideally a variety of recommended/popular versions of each), but I cannot see any possible advantage in forcing people to remain with those defaults, rather than customising their own. In fact at one point I even planned to add player-configurable score layouts, and actually created a snippet to that end. The only reason I never got around to adding to my mud was because of time constraints and more important tasks. Such configurable options have one of the most desirable characteristics of any mud feature - they provide useful and desirable functionality for the players who want it, without causing any impact on those who don't. |
||||
|
|
|
|
|
#27 |
|
Member
Join Date: Jan 2003
Posts: 39
![]() |
Well, I've explained my reasons for my opinions (in great detail) and there is no point in explaining them again - your responses don't seem to match what I thought I said. If you can't understand them, then I guess you can't understand them
|
|
|
|
|
|
#28 | |
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
And you've still failed to explain how my gaming atmosphere is made more cohesive because Bubba the Barbarian is prevented from adding "berserk duration" to his prompt. As you yourself stated, "In text games, as in novels, presentation makes a huge difference...presentation provides the flavoring". But not everyone likes the same flavours, and by forcing everyone to play your vanilla flavoured mud, you're cutting out all of those who like chocolate, strawberry, raspberry, etc. The logical course of action for anyone wanting to run a successful mud is to let each player choose their own individual flavour. And when that can be done without any impact whatsoever on the other players, so much the better! |
|
|
|
|
|
|
#29 | |
|
Member
Join Date: Jun 2002
Posts: 146
![]() |
Quote:
|
|
|
|
|
|
|
#30 | |
|
Posts: n/a
|
Quote:
|
|
|
![]() |
| Thread Tools | |
Why not exploit the telnet protocol? - Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Beyond Telnet | Rathik | Advanced MUD Concepts | 52 | 09-01-2006 02:21 AM |
| Telnet Options? | Raewyn | MUD Coding | 1 | 02-05-2006 10:58 AM |
| Telnet Negotiations | Khadgar | MUD Coding | 6 | 01-09-2006 10:02 AM |
| PTP (pfile transfer protocol) | visko | MUD Coding | 20 | 07-20-2002 09:19 PM |
| Cant type in telnet window! | Chobbie | Newbie Help | 2 | 07-17-2002 03:38 PM |
|
|