<!-- MHonArc v2.4.4 --> <!--X-Subject: [MUD-Dev] Re: Levels versus Skills, who uses them and when. --> <!--X-From-R13: [ngg Inyynpr <znggNraqre.pbz> --> <!--X-Date: Thu, 14 Jan 1999 20:29:31 -0800 --> <!--X-Message-Id: Pine.LNX.3.96.990114203522.4232B-100000#dragon,ender.com --> <!--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] Re: Levels versus Skills, who uses them and when.</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:matt#ender,com"> </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="msg00181.html">Previous</a> | <a href="msg00183.html">Next</a> ] Thread: [ <a href="msg00185.html">Previous</a> | <a href="msg00202.html">Next</a> ] Index: [ <A HREF="author.html#00182">Author</A> | <A HREF="#00182">Date</A> | <A HREF="thread.html#00182">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>[MUD-Dev] Re: Levels versus Skills, who uses them and when.</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] Re: Levels versus Skills, who uses them and when.</LI> <LI><em>From</em>: Matt Wallace <<A HREF="mailto:matt#ender,com">matt#ender,com</A>></LI> <LI><em>Date</em>: Thu, 14 Jan 1999 20:36:54 -0800 (PST)</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> On Wed, 13 Jan 1999, Raph Koster wrote: > Quest XP is a classic tactic. XP for merely visiting rooms (or for > visiting specific rooms), which we always termed "explore XP" is a nice > tactic too, until the rooms become known. [And yes, right here someone > is going to say they implemented remembering every room visited, or > every room remembering who visited it, and don't have that problem, and > once again I'll shudder at the data storage their mud entails. Am I the > only one who is paranoid about memory usage?] We actually decided that the plain-jane experience gathering was pretty bad, too, and decided we wanted exploration points as well. Our method was to add a field to a room and to an area with an exploration value, for starters. More difficult or tricky areas are more points for exploration, with a value specific to a room overriding an area value (and the whole default being 1). We have about 6k rooms, but we're growing fast. Still, I did it in one fell swoop and allocated 8k per character (8192 bytes). I used macros that directly reference memory to directly flip a given bit positioned X bits from the start of that 8192 bytes (65536 bits). This makes it unconscionably fast, and that's the end of the storage requirements. I certainly don't bother compressing that in memory, but when you start saving it all to disk, thousands of players worth of 8k can add up -- so you can link against zlib and compress that. Since the vast, vast majority is big chunks of 0's (at least on my mud so far), you get excellent compression. If you were truly memory paranoid, you could throw in a few more pointers and a "size" field, and compress the memory for rooms from areas outside their area, in memory. But that's pretty paranoid indeed, to try to save ~7k/character. Incidentally, we also use this for a great deal of permanent memory features, allowing our builders to (as part of builder defined mob/obj progs) set, clear, and check bits from another 8k (they get those bits matching their vnums), which is "remembered" between sessions, they can use for various purposes. Quest results, whether a player has assaulted a certain race of mobiles, perhaps -- whatever strikes their fancy. All in all, it makes for a memory efficient method, and also works incredibly quickly (cpu usage of the macros being essentially nil). --Matt </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="00202" HREF="msg00202.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong> <ul compact><li><em>From:</em> J C Lawrence <claw#under,engr.sgi.com></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00181.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00183.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00185.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00202.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00182"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00182"><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>[MUD-Dev] Re: Levels versus Skills, who uses them and when.</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00162" HREF="msg00162.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Thu 14 Jan 1999, 15:55 GMT <UL> <LI><strong><A NAME="00178" HREF="msg00178.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Andy Cink <a href="mailto:ranthor#earthlink,net">ranthor#earthlink,net</a>, Thu 14 Jan 1999, 23:55 GMT </LI> </UL> </LI> <LI><strong><A NAME="00169" HREF="msg00169.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 14 Jan 1999, 20:58 GMT <UL> <LI><strong><A NAME="00185" HREF="msg00185.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Fri 15 Jan 1999, 04:43 GMT </LI> </UL> </LI> <LI><strong><A NAME="00182" HREF="msg00182.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Matt Wallace <a href="mailto:matt#ender,com">matt#ender,com</a>, Fri 15 Jan 1999, 04:29 GMT <UL> <LI><strong><A NAME="00202" HREF="msg00202.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Sat 16 Jan 1999, 03:53 GMT </LI> </UL> </LI> <LI><strong><A NAME="00189" HREF="msg00189.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 15 Jan 1999, 15:54 GMT </LI> <LI><strong><A NAME="00190" HREF="msg00190.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 15 Jan 1999, 16:03 GMT </LI> <LI><strong><A NAME="00191" HREF="msg00191.html">[MUD-Dev] Re: Levels versus Skills, who uses them and when.</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 15 Jan 1999, 16:11 GMT </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>