Generic Universal MUD GUI

 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Tue Sep 21, 2010 10:20 am    Post subject: Generic Universal MUD GUI Reply with quote

For several months I've been playing around with MUSHclient, and I've found it has some pretty solid graphical support.

I've also been working on an MSDP snippet, although I got a bit sidetracked and didn't finish it. I know at least a couple of muds that are interested in using it though, and perhaps more people will take notice if they see other muds using it.

I'd been planning to create a simple graphical MUSHclient plugin to go with my snippet anyway, but recently I've been wondering whether it could be made a little more flexible. More specifically, I've been wondering how viable it would be to have a plugin with generic support for certain GUI elements that can be easily and directly controlled by the mud with a few simple MSDP commands.

In other words, mud owners would install the snippet, and it would include options for configuring the GUI. The players would then use MUSHclient with the generic (global) plugin, and whenever they connected to a mud that supported the interface there would be an exchange like this:

Server: IAC WILL MSDP
Client: IAC DO MSDP

Server: IAC SB MSDP MSDP_VAR "SERVER_ID" MSDP_VAL "Name of the mud" IAC SE
Client: IAC SB MSDP MSDP_VAR "PLUGIN_ID" MSDP_VAL "MUSHclient Generic GUI" IAC SE

The server could then pause for a second to confirm that no other MSDP plugin is installed (this would avoid conflicts with muds that have their own custom-written MSDP plugins), and then send instructions to the plugin defining the background, borders, window positions, energy bars, minimap, and so on - followed by the command to initialise the display.

Because the GUI would be drawn based on instructions from the mud, it would allow each mud to offer its own unique interface without the player needing to download a new plugin each time. Should it prove popular, there's no reason why people couldn't create compatible plugins for other clients.

It should also be possible to transfer graphical images from the mud in this way, passing them as data and writing them to a file at the client end. This would allow you to define images for buttons, background textures, character avatars, and so on.

However I'm undecided as to how flexible the plugin should be - the more flexible it is, the more difficult it will be for the server to define the layout, and the greater the chance of a mud accidently creating a broken GUI.

I'm currently thinking about breaking the layout down into four sections - top, bottom, left and right - with the text window in the centre. You could then define a size for each section: none (0 pixels), small (25 pixels), medium (50 pixels) or large (100 pixels). You'd also need some way to define whether the corners belonged to the top/bottom or left/right.

I wondered about allocating each section a specific purpose. For example you might have "button strip" (a strip of buttons, each of which could be defined further), "energy bars" (one or more energy bars, each of which could be defined further), "text", "image", "minimap", etc. However that alone isn't going to work very well, because you may well want (for example) the character's avatar, the minimap and some energy bars all down the left side.

So perhaps a better way would be for the mud to define a list of objects for each section. For example you might list all of your buttons in the bottom section, creating a button strip, and a text label (the title of the mud) in the top section. The left section might then include the minimap and energy bars, and perhaps the right section might be omitted entirely.

I envision it being initialised a bit like this:

Server: IAC SB MSDP MSDP_VAR "ENERGY_BAR_1" MSDP_VAL "Health" MSDP_VAL "red" MSDP_VAL "100" MSDP_VAL "100" IAC SE
Server: IAC SB MSDP MSDP_VAR "ENERGY_BAR_2" MSDP_VAL "Mana" MSDP_VAL "blue" MSDP_VAL "100" MSDP_VAL "100" IAC SE
Server: IAC SB MSDP MSDP_VAR "ENERGY_BAR_3" MSDP_VAL "Movement" MSDP_VAL "green" MSDP_VAL "100" MSDP_VAL "100" IAC SE
Server: IAC SB MSDP MSDP_VAR "SECTION_BOTTOM" MSDP_VAL "small" MSDP_VAL "ENERGY_BAR_1" MSDP_VAL "ENERGY_BAR_2" MSDP_VAL "ENERGY_BAR_3" IAC SE
Server: IAC SB MSDP MSDP_VAR "GUI" MSDP_VAL "ON" IAC SE

Upon receiving the "GUI ON" instruction, the plugin would allocate a small section below the text window and draw the three energy bars.

It's also worth noting that because the GUI layout is defined by the server, as well as offering a default layout the mud could also make it configurable in-game, allowing players to customise their layout without needing to touch the plugin. Players could literally add new energy bars and buttons to their interface with a simple in-game command.

The tricky part is deciding exactly how much flexibility the plugin should offer, as if it's too complex to use people probably won't bother with it - and if it's too restrictive, they probably won't bother with it either.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Alister



Joined: 13 May 2005
Posts: 62
Location: Alberta, Canada

PostPosted: Thu Sep 23, 2010 7:57 pm    Post subject: Re: Generic Universal MUD GUI Reply with quote

An MSDP snippet would certainly be useful. I am still on the fence about a GUM GUI. Something like that would be really nice for simple interface. How hard would it be to also support popup windows, clickable text and unit frame behavior, button mouseover behaviors, rightclick menus on text/unit frames/buttons? Countdown meters/buttons, ideally threaded or with ~10msec update frequency?

These are things I would consider necessary for my own purposes in any GUI framework. Are these options that would be easy to incorporate as part of the GUM GUI or, alternatively, would it be easy to tack on these behaviors in a separate mud-specific package? Perhaps a file that could actually be transferred and installed as part of the GUM GUI?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Fri Sep 24, 2010 12:11 pm    Post subject: Reply with quote

Well as I said, the more flexible you make it, the more complex it'll be (both to create and use). That's why I'd prefer to keep it simple.

Of course there's nothing stopping you from extending it yourself with custom functionality, or even writing your own plugin (perhaps using the generic GUI as a starting point, or just a guideline), and then offering that to players as a mud-specific alternative.

My idea wasn't to replace existing custom GUIs, but rather to provide a better default than just a big text window. I'd still encourage people to download and use my own GUI plugin, and I imagine other muds would do the same, but this would provide a better first-impression for new players who haven't yet downloaded anything specific to the mud. Perhaps the custom GUI could even include a little clickable button indicating that a better plugin is available - simply click the button to download it.

But it'd also be nice for muds that don't want to spend time creating their own custom plugins. Not everyone is interested in doing GUI work, but they may find that a generic solution like this allows them to provide their players with a better experience.
Back to top
View user's profile Send private message Visit poster's website
Author Message
MECHFrost



Joined: 12 Dec 2009
Posts: 27

PostPosted: Sun Oct 17, 2010 3:44 am    Post subject: Reply with quote

You should add a default option with the most common layout setup with which no mistakes can happen. Title on top, text on the left, mini-map in the top right corner, energy bars wherever...

I don't think that most people will care about flexibility or customization as long as you provide them with something "standard" e.g. nobody cares to customize their WoW client, also the idea seems to be based on minimum efforts for the MUD developer.

It could also be interesting to include a default package with public domain pictures. As long as it's old, it's not protected by copyright laws. (http://en.wikipedia.org/wiki/Wikipedia:Public_domain_image_resources)

Here's a medieval bestiary with many cool pictures: http://bestiary.ca/beasts/beastalphashort.htm
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Sun Oct 17, 2010 7:01 pm    Post subject: Reply with quote

MECHFrost wrote:
You should add a default option with the most common layout setup with which no mistakes can happen. Title on top, text on the left, mini-map in the top right corner, energy bars wherever...

I don't think that most people will care about flexibility or customization as long as you provide them with something "standard" e.g. nobody cares to customize their WoW client, also the idea seems to be based on minimum efforts for the MUD developer.

Players* may not customise their WoW client, but different MMORPGs certainly have their own GUIs. The customisation I'm discussing for the plugin would be handled at the mud end, so that each mud could have its own interface. Not every mud may wish to offer a map for example, just as not every mud may have avatars, and different muds may wish to offer energy bars for different things.

* Although I'd point out that many mudders do indeed customise their clients.

A standard interface would be much easier to create. But if the public became popular, it would mean that every mud using it ended up with exactly the same layout.
MECHFrost wrote:
It could also be interesting to include a default package with public domain pictures.

Yeah that would be pretty useful - thanks for the links by the way. I've also had some luck using a photo-to-cartoon conversion tool, as there are quite a few public domain photos out there (and it's fairly easy to take photos yourself).
Back to top
View user's profile Send private message Visit poster's website
Author Message
MECHFrost



Joined: 12 Dec 2009
Posts: 27

PostPosted: Mon Mar 07, 2011 6:27 pm    Post subject: Reply with quote

Did anything happen with this idea?
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Wed Mar 09, 2011 9:18 am    Post subject: Reply with quote

Not yet. There appeared to be little interest from other mud owners, so I carried on working on my MUSHclient plugin for a while, then I ported it to Mudlet, then I finally got back to working on the snippet - which now contains a lot more functionality than just MSDP. A friend of mine is currently testing it on his mud, and it seems to work pretty well.

I've had a couple of other mud owners express an interest in seeing the snippet once it's released, but most of the responses towards the idea of GUI support have fallen somewhere between lukewarm interest and outright hostility. So I don't know how well the snippet will be received, or if there'll even be enough demand for a generic GUI to be worthwhile. But if there is, it can always be added at a later date - there's no urgency.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Dalem



Joined: 11 May 2005
Posts: 6

PostPosted: Thu Mar 10, 2011 4:37 am    Post subject: Reply with quote

I am also interested.

However, I would likely modify it to be more customizable after as I am more willing to deal with complexity.
Back to top
View user's profile Send private message
Author Message
MECHFrost



Joined: 12 Dec 2009
Posts: 27

PostPosted: Wed Mar 16, 2011 9:08 pm    Post subject: Reply with quote

Look at this: http://www.youtube.com/watch?v=NTE1TNXyLeg

This MUD is successful mainly because of its graphical interface, and it does attract new players that are not recruited from mudconnector etc.

When I interviewed players from that game, they said that they don't want to play regular MUDs because they lack a minimap and it's too difficult or an unpleasant memory effort to know where their character is located.

This is an important factor that MUD owners seem to be missing, probably because they don't receive "outside" feedback.
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu Mar 17, 2011 9:25 am    Post subject: Reply with quote

MECHFrost wrote:
This MUD is successful mainly because of its graphical interface, and it does attract new players that are not recruited from mudconnector etc.

You could certainly create a GUI like that for MUSHclient or Mudlet, but I'm not really sure if you could (or even should) do it generically. The proposal I outlined here was really intended to provide a better default for muds that didn't have their own custom GUIs, so that they could install the snippet and see immediate results.

I was discussing MXP on the Mudlet forums yesterday, and another mud owner (xtian) mentioned how he used it to provide gauges that work out-of-the-box, without the player needing to download or install anything. That was also one of the reasons I added VT100 energy bars - they work automatically for any client that supports VT100. I guess this is really the same concept again, just taken a step further.

For a long time, one of the big advantages of muds was that they didn't require you to download or install anything. These days, players are more likely to have a web browser than a telnet client - and we are seeing a number of browser-based mud clients spring up. I actually think a browser client could truly excel for providing a generic GUI, because just as telnet clients often natively support things like VT100 and ANSI colour, web browsers natively support true graphics and sound.

However to the best of my knowledge, such a browser client doesn't yet exist. But what we do have are free, powerful mud clients like MUSHclient and Mudlet, with a selection of tools that allow you to rapidly build your own GUI. It would be nice to see more muds taking advantage of those capabilities.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Deadsoul



Joined: 29 Dec 2007
Posts: 42
Location: Southern Hellinois

PostPosted: Thu Mar 17, 2011 12:54 pm    Post subject: Reply with quote

energy bars can be done internally in comm.c to work even in plain telnet with no mdsb.

I am torn on the map issue.

a mud wouldn't really have a good working map.

how ever a good game would.

but, as a gamer, I also know that maps make people lazy just because they take away some of the fear and unknown element and add complacency.
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu Mar 17, 2011 1:28 pm    Post subject: Reply with quote

Deadsoul wrote:
energy bars can be done internally in comm.c to work even in plain telnet with no mdsb.

Yeah, but they'll look something like this:



While with MSDP you can instead draw energy bars like this:



MSDP only works on a handful of clients - but the same is true of VT100. And while basic VT100 energy bars are fairly easy to add, it'll require a lot more effort if you want them to work seamlessly (i.e., properly handling scrollback and such without printing over the top of other text).

Deadsoul wrote:
I am torn on the map issue.

a mud wouldn't really have a good working map.

It wouldn't? Why not? These are maps drawn using MSDP:



Deadsoul wrote:
but, as a gamer, I also know that maps make people lazy just because they take away some of the fear and unknown element and add complacency.

People will create their own maps if you don't provide them, either by hand or using an automapper. Many muds already provide ASCII maps anyway, so this isn't really a new concept, it's just a nicer way of presenting it.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Deadsoul



Joined: 29 Dec 2007
Posts: 42
Location: Southern Hellinois

PostPosted: Fri Mar 25, 2011 11:32 am    Post subject: Reply with quote

Apparently I am a Luddite. Sad
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Fri Apr 01, 2011 10:47 am    Post subject: Reply with quote

You can now grab the snippet from here, and a simple GUI plugin from here. I've added a few "special" variables that would allow a universal GUI to tailor its gauges and buttons to each particular mud, but haven't yet taken the concept very far - I'm actually getting a bit burnt out, and it's reached a reasonable point now so I think I'll give it a break for a bit and see what happens.
Back to top
View user's profile Send private message Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Fri Jul 15, 2011 11:09 am    Post subject: Reply with quote

The latest version of Mudlet now offers an autoinstaller through ATCP, which works as follows:

Server: IAC DO ATCP
Client: IAC WILL ATCP
Server: IAC SB ATCP "Client.GUI <version> \n <path and filename>"

You provide a zip file containing the script and images, and Mudlet automatically downloads, unzips and installs it for the players when they first connect (or if their version is outdated).

If this is the direction other clients are going as well, then I'm not sure there's really a need for a generic GUI any more. It might be nice to have an easily customisable script for muds to use to get started, but the download and installation can now be handled automatically by the client, so the player no longer has to worry about it.

Note that the snippet I linked to previously does also support ATCP.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign