<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: [MUD-Dev] Optimized Object Storage --> <!--X-From-R13: X Q Znjerapr <pynjNpc.arg> --> <!--X-Date: Fri, 17 Dec 1999 15:36:59 -0800 --> <!--X-Message-Id: E11z6vg-0007ji-00#under,eng.cp.net --> <!--X-Content-Type: text/plain --> <!--X-Reference: 000001bf48ac$077758a0$02010101#akl,issystems.co.nz --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: [MUD-Dev] Optimized Object Storage</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:claw#cp,net"> </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="msg00649.html">Previous</a> | <a href="msg00652.html">Next</a> ] Thread: [ <a href="msg00637.html">Previous</a> | <a href="msg00638.html">Next</a> ] Index: [ <A HREF="author.html#00651">Author</A> | <A HREF="#00651">Date</A> | <A HREF="thread.html#00651">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: [MUD-Dev] Optimized Object Storage</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>: Re: [MUD-Dev] Optimized Object Storage </LI> <LI><em>From</em>: J C Lawrence <<A HREF="mailto:claw#cp,net">claw#cp,net</A>></LI> <LI><em>Date</em>: Fri, 17 Dec 1999 15:36:56 -0800</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#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 Sat, 18 Dec 1999 05:30:28 +1300 Ian Macintosh <iman#issystems,co.nz> wrote: > The Subject line used to be "[MUD-Dev] The grass is always greener > in the other field". Time to change it I thought. Explicitly not writing as list owner: Just as an observation and an FYI, the usual way to do such subject renames is to put in the new subject followed by "(was: <old subject>)". eg Subject: Bubba becomes: Subject: Boffo (was: Bubba) Its not cast in stone, many people just replace the subject silently or have some variation on the above, but it does add a pleasant paper-trail feature which can be useful in resurrecting a thread. Still not writing as list owner: > Firstly, my opinions. Let's you know what probably influences me > in certain directions. I strongly dislike OOC solutions, or > transparently artificial solutions. Object decay fits both of > those to my mind, so I dislike it. That's the philosopical > viewpoint. I'm curious as to what you think of my mana based decay strategies as regards your artificiality concerns? Loosely: All objects consume mana at some rate. Magical or magically enhanced objects consume mana at higher than normal rates. (There are various flavours of mana, and objects require feeding of different percentages of the different mana types, but this can be ignored). If an object is unable to satisfy its appetites they decay at a rate proportional to their demand for mana. Ergo, a magical object with a high mana feed requirement will decay very rapidly should it find itself starved, possibly falling to dust in a matter of seconds for a very high mana object. What's more amusing about this is that carrying many objects, particularly several high magic objects, at the same time becomes an intense problem. How to keep them all fed with mana at the same time such that none of them decay? The typical result is the rapid destruction of all high magic objects once they are in proximity (they starve each other). --<cut>-- What's this mean? Magical objects have a definite life span. Don't feed them enough mana and they destruct. The more magical objects you have together, the more quickly your local area becomes mana depleted (mana flows slowly) and the more quickly they decay. Get sufficient highly powered magical objects together and they'll all destruct within seconds. Keep only one or a few magical objects, and they'll survive on the local mana. Want lots of magical items? Better keep them all right beside a major mana producer (eg a farm of TC's you continuously feed trash). ... Magic fights also become travelling affairs. No-one can afford to stand still -- they run out of mana. Then again, manage to locate yourself by a major mana producer, and you have a huge advantage. You sure as heck won't find any super powered over-armed magical users or mobiles wandering about -- they may have the Spear of Icy Death, the Greaves Of Incredible Footwork, the Magical Nose Ring Of Killer Snot, and the Goggles Of All Making All Tits Bigger, but unless they work their butts off keeping them fed enough mana, six steps later they'll all turn to dust. The nice thing about this sort of system is that it becomes self balancing. Opportunities for mana consumption exceed mana production, so the system always runs starved (try to run it fat and you get positive feedback). While there can be synergy between the mana economy and other economies, even positive and negative feedback (again cf Palace and the guns and coins), you don't get the direct causal dependancies where the stonemason can't build castles because the lumberyard has no wood because the robbers robbed the bank so the woodsman can't get paid for the trees he cut, and the elves can't sell their silks anymore anyway (no money), and now prohibit all tree cutting. --<cut>-- A few messages I ran across while digging the archives on this area that you might find interesting: <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1997Q1/msg00158.html">http://www.kanga.nu/archives/MUD-Dev-L/1997Q1/msg00158.html</A> <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1997Q2/msg00095.html">http://www.kanga.nu/archives/MUD-Dev-L/1997Q2/msg00095.html</A> <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1997Q2/msg00431.html">http://www.kanga.nu/archives/MUD-Dev-L/1997Q2/msg00431.html</A> <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1997Q3/msg00480.html">http://www.kanga.nu/archives/MUD-Dev-L/1997Q3/msg00480.html</A> <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1998Q2/msg00479.html">http://www.kanga.nu/archives/MUD-Dev-L/1998Q2/msg00479.html</A> <A HREF="http://www.kanga.nu/archives/MUD-Dev-L/1998Q3/msg01325.html">http://www.kanga.nu/archives/MUD-Dev-L/1998Q3/msg01325.html</A> (I've been pretty quiet this last year). Also realise that I've given up on the logging aspect until mass storage IO rates increase by another two orders of magnitude. "Murkle is intended to serve worlds where the players can create virtual realities, and then enforce those realities on each other." > I recommend SQL, don't make a trillion small files in a directory. > An OS *is not* optimised for that task. SQL *is* optimised for > that task. Ahem. This is a dangerous generality (I tend to work on OS'es for a living). This is a filesystem and IO question. You are correct in that many filesystems are not optimised for this, you are incorrect in that some filesystems _are_ optimised for precisely this case. On the IO subsystem end, the same rules and patterns hold true. > I have thought of, but not yet implemented, a technique whereby I > consolidate multiple identical storage-objects via a counter > property. The way I have considered doing this is by first > writing a new storage-object into a to-do list, and later, when > the system detects plenty spare CPU time available, iterate > through the other objects in that location and consolidate. That > would then only need a small modification where there is a list of > retrieval keys instead of a singular retrieval key. Then 75 > 'small swords' would become massively efficient in terms of > in-game memory. You might like to hit the archives for things like "anonymous aggregate objects" and the like. This has been extensively discussed here. I still don't have a handle on this that I like, especially one that incorporates some of the ideas on ur-objects tht I'd like to try. You might also like to look into the neighborhood concept that keeps resurrecting itself on the list (another gorgeous idea that I just can't seem to implement in a pleasing way) to see if you can't plug that into your aggregate object system as well as your aggregate object scanner (eg make aggregation detection a normal function of neighborhood split/redefinition processing). -- J C Lawrence Internet: claw#kanga,nu ----------(*) Internet: coder#kanga,nu ...Honorary Member of Clan McFud -- Teamer's Avenging Monolith... _______________________________________________ MUD-Dev maillist - MUD-Dev#kanga,nu <A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A> </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00637" HREF="msg00637.html">[MUD-Dev] Optimized Object Storage</A></STRONG> <UL><LI><EM>From:</EM> "Ian Macintosh" <iman#issystems,co.nz></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00649.html">RE: [MUD-Dev] The grass is always greener in the other field</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00652.html">Re: [MUD-DEV] Ideas for dynamically generated worlds</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00637.html">[MUD-Dev] Optimized Object Storage</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00638.html">Re: [MUD-Dev] The grass is always greener in the other field</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00651"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00651"><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>Re: [MUD-Dev] The grass is always greener in the other field</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00628" HREF="msg00628.html">Re: [MUD-Dev] The grass is always greener in the other field</A></strong>, cg <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 17 Dec 1999, 01:01 GMT </LI> <LI><strong><A NAME="00626" HREF="msg00626.html">RE: [MUD-Dev] The grass is always greener in the other field</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 17 Dec 1999, 01:01 GMT </LI> <LI><strong><A NAME="00634" HREF="msg00634.html">Re: [MUD-Dev] The grass is always greener in the other field</A></strong>, cg <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Fri 17 Dec 1999, 04:04 GMT <UL> <LI><strong><A NAME="00637" HREF="msg00637.html">[MUD-Dev] Optimized Object Storage</A></strong>, Ian Macintosh <a href="mailto:iman#issystems,co.nz">iman#issystems,co.nz</a>, Fri 17 Dec 1999, 17:06 GMT <UL> <LI><strong><A NAME="00651" HREF="msg00651.html">Re: [MUD-Dev] Optimized Object Storage</A></strong>, J C Lawrence <a href="mailto:claw#cp,net">claw#cp,net</a>, Fri 17 Dec 1999, 23:36 GMT </LI> </UL> </LI> </UL> </LI> <LI><strong><A NAME="00638" HREF="msg00638.html">Re: [MUD-Dev] The grass is always greener in the other field</A></strong>, Scatter <a href="mailto:scatter#thevortex,com">scatter#thevortex,com</a>, Fri 17 Dec 1999, 17:06 GMT </LI> <LI><strong><A NAME="00641" HREF="msg00641.html">Re: [MUD-Dev] The grass is always greener in the other field</A></strong>, Ilya, Game Commandos <a href="mailto:Ilya#gamecommandos,com">Ilya#gamecommandos,com</a>, Fri 17 Dec 1999, 17:44 GMT </LI> <LI><strong><A NAME="00644" HREF="msg00644.html">RE: [MUD-Dev] The grass is always greener in the other field</A></strong>, Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Fri 17 Dec 1999, 22:05 GMT <UL> <LI><strong><A NAME="00649" HREF="msg00649.html">RE: [MUD-Dev] The grass is always greener in the other field</A></strong>, Adam Wiggins <a href="mailto:adam#angel,com">adam#angel,com</a>, Fri 17 Dec 1999, 23:00 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>