<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] clients anyone?... --> <!--X-From-R13: Oaqerj Ivyfba <naqerjNnnnnnnnn.qrzba.pb.hx> --> <!--X-Date: Tue, 11 Aug 1998 11:05:16 -0700 --> <!--X-Message-Id: 199808111806.TAA03330#aaaaaaaa,demon.co.uk --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, [MUD-Dev] clients anyone?...</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:andrew#aaaaaaaa,demon.co.uk"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00661.html">Previous</a> | <a href="msg00663.html">Next</a> ] Thread: [ <a href="msg00664.html">Previous</a> | <a href="msg00663.html">Next</a> ] Index: [ <A HREF="author.html#00662">Author</A> | <A HREF="#00662">Date</A> | <A HREF="thread.html#00662">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] clients anyone?...</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Subject</em>: [MUD-Dev] clients anyone?...</LI> <LI><em>From</em>: Andrew Wilson <<A HREF="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</A>></LI> <LI><em>Date</em>: Tue, 11 Aug 1998 19:06:44 +0100 (BST)</LI> <LI><em>Cc</em>: <A HREF="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</A> (Andrew Wilson)</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> Hi, there's been little talk about clients and how they integrate with servers. I've seen a little about ansi colour codes in text and Erik mentioned TWin's approach to building windowing applications that interface with mud internals. But apart from that, um nothing... I think this is odd, because I believe that clients are as important as servers. But then I would think that wouldn't I... Tile based projects like UO and Furcadia and emerging RPG+Quake stuff represent one facet of client technology, funky pictures and a gaming feel with the graphics being the prime purpose of the exercise. Stuff like TWin, AstroVR, Jupiter, Supernova come from a desire not so much to play games but to provide tools that let people do work. These are groupware applications with an integral realtime communications aspect, more than just email. Chat is common to all of these though some also have video and audio capabilities. My own interests centre around the development of UIs for MOO servers. That is, line-mode, low bandwidth social environments with a room-based topology. Sure you can build excellent RPG engines from this configuration, but I'm not interested in that. I'm developing a range of products (for want of a better term), on the border between groupware and games, firstly there's a 'theme-neutral' chat client called tkMOO-light. Theme-neutral means that it's not *obviously* biased towards a gaming environment or a particular mode of interraction or say, point&click navigation. The client can be the basis for developing stuff for any chat environment but right now it's happiest when used in conjunction with line-mode text sites like MOO, Cold etc. Secondly the client can be extended with plugins which add new capabilities, navigation windows, desktop metaphores and other visible extensions. Plugins can also be used to integrate with underlying OS services, like email, webbrowsers or other network demons. For some examples of the applications you can build here are a couple of gadgets I've been working on recently... I've got a crab (an NPC) at Waterpoint. When you speak to him your message is passed, via a link through my connected client, to a PERL script sitting on my home UNIX machine. The script performs an ELIZA transformation on the message and returns a reply which the crab then speaks. Presto, talking crab. When I'm not connected, and the link can't be made then the crab recovers by merely insulting the speaker. The crab is grumpy you see. All this happens without my being interrupted by the flow of information from crab to ELIZA. I don't see the messages, and I don't need to be in the same room as the crab when people speak to him. This was an exercise in adding to the server's capabilities by using external resources, without adding CPU intensive code to the server, and to examine ways in which the potential processing power of client software can be harnessed for the server. Um, and hey, I already had the ELIZA script from CPAN and it seemed like a waste of time to recode it for MOO... Navigating on muds is always tricky... I've looked a number of UI solutions to navigation on a MOO. MOO rooms are linked by exit objects which correspond to the cardinal directions (eg n,s,e,w,ne,...). When a MOO's topology is constucted with a little bit of thought, no overlapping exits, then it's possible to interrogate the server and extract a data-structure representing the map of interconnected rooms. This structure can then be displayed in a number of ways, for example an overhead projection like a road-map. The same structure can display useful navigational hints. For any room on the map you can display a set of buttons corresponding to the exits out of the room. The result resembles the cardinal points dotted around the edge of a compass. Clicking on a button moves you the direction of that button and into an adjoining room. At the same time the set of buttons can be updated to represent the exits leading from the new location. Buttons are all very well but they can obscure the nature of the place you inhabit. What should be thought of as a virtual world topology containing people ends up resembing a glorified dialog-box. There's a delicate balance in these things between utility, providing stuff that people need and can use, and transparency, stopping the UI from becoming more important than the content, your conversations. It's possible to improve on simple buttons and produce more visually interesting interfaces which still retain a degree of simplicity. We can take the grid blueprint for buttons and imagine it superimposed on a terrain map. We can add a perspective look to the map, to make it look more like scenes we see every day. We can use visual cues to indicate the navigable areas on the map. And we can also make use of additional 'WHO' information to represent the other occupants of the MOO. Groups of people are represented by small face icons, and the names of room occupants are displayed on a small adjacent surface. Some URLs... The client home page: <A HREF="http://www.cm.cf.ac.uk/User/Andrew.Wilson/tkMOO-light/">http://www.cm.cf.ac.uk/User/Andrew.Wilson/tkMOO-light/</A> Waterpoint's homepage, it's a JHCore derived MOO: <A HREF="http://waterpoint.moo.mud.org/">http://waterpoint.moo.mud.org/</A> Some notes on developing the navigation widgets: <A HREF="http://www.cm.cf.ac.uk/User/Andrew.Wilson/rose_who/">http://www.cm.cf.ac.uk/User/Andrew.Wilson/rose_who/</A> Screen shot of the finished perspective look: <A HREF="http://www.cm.cf.ac.uk/User/Andrew.Wilson/visual/">http://www.cm.cf.ac.uk/User/Andrew.Wilson/visual/</A> Messages to and from the crab and the delivery of mud topology data are all handled by the MCP/2.1 Out Of Band Protocol: <A HREF="http://www.moo.mud.org/mcp2/">http://www.moo.mud.org/mcp2/</A> Oh well, back to sleep for another few months... Cheers, Ay. Andrew.Wilson#cm,cf.ac.uk <A HREF="http://www.cm.cf.ac.uk/User/Andrew.Wilson/">http://www.cm.cf.ac.uk/User/Andrew.Wilson/</A> Voice/Fax: +44 (0) 1865 513 091 </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="01064" HREF="msg01064.html">[MUD-Dev] Re: clients anyone?...</A></strong> <ul compact><li><em>From:</em> J C Lawrence <claw#under,engr.sgi.com></li></ul> <li><strong><A NAME="00663" HREF="msg00663.html">[MUD-Dev] Re: clients anyone?...</A></strong> <ul compact><li><em>From:</em> "Adam J. Thornton" <adam#phoenix,Princeton.EDU></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00661.html">[MUD-Dev] Re: [CODE] [LANGUAGE/PLATFORM SPECIFIC] My Event Engine</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00663.html">[MUD-Dev] Re: clients anyone?...</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00664.html">[MUD-Dev] Amoeba: Distributed OS release</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00663.html">[MUD-Dev] Re: clients anyone?...</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00662"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00662"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><strong><A NAME="00680" HREF="msg00680.html">[MUD-Dev] Re:Methods to Reduce Ecological Wipeout</A></strong>, Michael.Willey <a href="mailto:Michael.Willey#abnamro,com">Michael.Willey#abnamro,com</a>, Wed 12 Aug 1998, 13:02 GMT <LI><strong><A NAME="00677" HREF="msg00677.html">[MUD-Dev] Methods to Reduce Ecological Wipeout</A></strong>, Leach, Brad BA <a href="mailto:Leach.Brad.BA#bhp,com.au">Leach.Brad.BA#bhp,com.au</a>, Wed 12 Aug 1998, 06:25 GMT <UL> <LI><strong><A NAME="00681" HREF="msg00681.html">[MUD-Dev] Re: Methods to Reduce Ecological Wipeout</A></strong>, s001gmu <a href="mailto:s001gmu#nova,wright.edu">s001gmu#nova,wright.edu</a>, Wed 12 Aug 1998, 13:06 GMT </LI> </UL> </LI> <LI><strong><A NAME="00664" HREF="msg00664.html">[MUD-Dev] Amoeba: Distributed OS release</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 11 Aug 1998, 20:17 GMT <LI><strong><A NAME="00662" HREF="msg00662.html">[MUD-Dev] clients anyone?...</A></strong>, Andrew Wilson <a href="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</a>, Tue 11 Aug 1998, 18:05 GMT <UL> <LI><strong><A NAME="00663" HREF="msg00663.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Tue 11 Aug 1998, 20:03 GMT <UL> <LI><strong><A NAME="00665" HREF="msg00665.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Andrew Wilson <a href="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</a>, Tue 11 Aug 1998, 21:56 GMT </LI> <LI><strong><A NAME="00689" HREF="msg00689.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Andrew Wilson <a href="mailto:andrew#aaaaaaaa,demon.co.uk">andrew#aaaaaaaa,demon.co.uk</a>, Wed 12 Aug 1998, 17:41 GMT </LI> <LI><strong><A NAME="00690" HREF="msg00690.html">[MUD-Dev] Re: clients anyone?...</A></strong>, Hans-Henrik Staerfeldt <a href="mailto:hhs#cbs,dtu.dk">hhs#cbs,dtu.dk</a>, Wed 12 Aug 1998, 18:08 GMT </LI> </UL> </LI> </UL> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>