Abigail Brady (
abigailbrady) wrote2010-11-10 11:22 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
(no subject)
I finally started work on the web mud client today. This has gone better than I expected. I am able to load up a web page, type a command into a box, press a button, and then have it log in to the mud as a user, do that command, and send the result back for display in the HTML page, which displays with formatting as it would have done in a telnet.
I am declaring victory for today.
The big missing thing is that each time I do a command it logs me in and out, so we need some kind of persistent server-side process that maintains the connection. This will probably be a Comet-style hidden-IFrame thingy, so it can asynchronously send the output of other people's commands to you. The tricky bit will be synchronising this and the HTTP POSTs we'll be sending on each command - which will either involve doing a lot of HTTP server wrangling, or possibly just some backend changes to the MUD to allow transient connections to provide an auth cookie and a command, and have the output sent to them, which might be easier. Also there is the issue of ordering to consider: for the moment I might just make it not possible to execute a command until the answer for the previous command has come back, which will probably not be ideal for production use but will do.
Eventually I'll make some significant changes to the mud's output backend to make the output we can display in the browser nicer: we have an internal formatting markup that I can just dump out directly, which can provide richer information than just the ANSI escape codes (like, it knows the difference between a playername and something that happens to be in bright cyan). Also we can annotate the bits that actually need to be in >pre;< (ASCII art, tables), and then have the prose be in a proportional font. (maybe tables can end up being actual HTML tables, that sort of thing.)
But for now I just need to get the Comet bit working.
I am declaring victory for today.
The big missing thing is that each time I do a command it logs me in and out, so we need some kind of persistent server-side process that maintains the connection. This will probably be a Comet-style hidden-IFrame thingy, so it can asynchronously send the output of other people's commands to you. The tricky bit will be synchronising this and the HTTP POSTs we'll be sending on each command - which will either involve doing a lot of HTTP server wrangling, or possibly just some backend changes to the MUD to allow transient connections to provide an auth cookie and a command, and have the output sent to them, which might be easier. Also there is the issue of ordering to consider: for the moment I might just make it not possible to execute a command until the answer for the previous command has come back, which will probably not be ideal for production use but will do.
Eventually I'll make some significant changes to the mud's output backend to make the output we can display in the browser nicer: we have an internal formatting markup that I can just dump out directly, which can provide richer information than just the ANSI escape codes (like, it knows the difference between a playername and something that happens to be in bright cyan). Also we can annotate the bits that actually need to be in >pre;< (ASCII art, tables), and then have the prose be in a proportional font. (maybe tables can end up being actual HTML tables, that sort of thing.)
But for now I just need to get the Comet bit working.
no subject
I would say this makes me feel so old as I remember reading articles about the original MUD when it first went online. But i don't do feeling/thinking old.
What's the overall motivation behind this ? A yearning for the days when adventure games as exemplified by the products of Infocom had richly described textual environments with dashes of, god forbid,humour unlimited by bandwidth or graphics limitations (The Hobbit, a gateway to a brave new world or the beginning of the fall, discuss) and actions aside from KILL,KILL,KILL or er KILL ?
no subject
But hardly anyone plays our MUD any more, while there are plenty of vaguely MUD-type web games that are massively popular. If we can tap into 0.01% of that space, it's still way more users than we've got at the moment. So can we lower the barrier to entry (ie make it so you don't need to use a dedicated client), and make it less like a throwback to the 1980s (ie using proper text rendering rather than monospace, possibly even change the colours round so its black-on-white)? A web-based mud client can do both these. What we currently have on our website is a Java telnet applet, which is all well and good but it's still a Java telnet applet at the core of it - it's not resizable, etc etc.
And anyway, I've been meaning to do this for ages...