[MUD-Dev] Introduction System

J C Lawrence claw at kanga.nu
Thu Jul 13 14:16:40 CEST 2000


On Thu, 13 Jul 2000 08:42:44 -0400 (EDT) 
Nathan Clemons <nathan at thelinuxcommunity.org> wrote:

> I'm planning on implementing an introduction system on my
> MUD. Players will have to be introduced to other players to learn
> their name. If you don't know the name of a player, you get their
> "appearance" instead, which is customizeable by the character.

You should do some archive searching for "private namespace".  There 
been fairly extensive discussion of the idea, long with variation
and general fault finding with the approach.

  ObNote: Search is mostly broken at Kanga.Nu right now.  
  The current rev of the PHP4-MySQL module has some problems.
  This is particularly annoying as the MySQL DB is being built and
  operated just fine, responds to queries just fine, and PHP does
  its thing quite properly -- essentially everything is working
  exactly the way it should be except that the PHP side usually
  fails when it tries to talk to the MySQL side.  Sorry.  I'm
  working on it when I can.  Keep trying.
  
There are extentions to the idea of private namespaces:

  -- All objects are unamed for a player until that player names
  them.  This encludes, cities, towns, people, houses, bars, NPCs,
  roads, rivers, oceans, mountains and all other forms of in-game
  objects etc.  The world is presented to you exactly as you have
  named it.

  -- Auto-introduction objects which upon acceptance by a player
  auto-inject/edit appropriate names into the receiving player's
  namespace (think of something much like an Edwardian gentleman's
  personal card).  Thus you can meet Bubba, accept his card, and
  automatically know his preferred names and various other data he
  wishes to pass on (cf finger user at address.dom).

  -- Name space virii and other attacks: objects which deliberately
  (or accidentally) pollute or otherwise mangle a players namespace,
  or even install a player-specific process to keep their namepsace
  corrupted (any future assignments are also
  re-written/deleted/corrupted).  A very effective form of enforced
  amnesia and a decent emulation of a very narrow form of demonic
  possession/haunting.

> I'm considering storing this in an SQL DB. 

That's one approach.  Some of the points you'll want to consider
are:

  What effects is this going to have on my working set size and is
  that a problem?

  How often am I going to have to traverse a player's namespace (or
  namepsace cache), and how expensive can I afford that to be?

  How large can a private namepsace grow?  Hundreds of items?
  Thousands or items?  Tens or hundreds of thousands?  If you
  implement any sort of in-game programmatic name-space editing (eg
  the cards or virii) fully expect to run into characters who have
  ~1Million namespace entries.

  If you impose limits on nsmespace size, what are they, how are
  they both maintained and presented to the player, and what can the 
  player do to help ensure that specific items are not deleted
  even if largely inactive/unused or otherwise violating your
  schema?

  What is the backing store for the rest of the game?  If not an SQL 
  DB, does it make sense to use that, or an extention of it,
  instead?

  How are you going to handle persistance of namespaces across
  logins?  Is this different from the rest of the persistance model
  for the game?  Why?  

  Can a namespace get out of synch with the objects it names (eg
  ObjectID recycling)?  How can you detect that, and what are the
  approaches for fixing it?

  Is your world fully persistant?  What happens if I name Bubba and
  he then dies and is resurrected?  What happens if Bubba dies, and
  he gets or creates a new character which is markedly similar
  to/different from his old one?

  Accidentally thinking you recognise someone when you actually
  don't know them, or assigning the wrong identity in that
  recognition?

  Disguises and other forms of deceit.

  You knew Bubba 30 years ago.  Since then he's lost both legs and
  one arm in the war, had 2rd degree burns over most of his body, is
  tatooes almost everywhere, and has hair down to his stumps.  Do
  you recognise him?  Why (not)?

> Can anyone think of any problems with this? 

Most of the problems are indirect and social rather than srtuctural
in the game.  The problems arise from what the players do with it,
and what they are prevented from doing that they want to.

> How about having the cache updated on a tick basis?

Ticks?  Why ever do you have ticks?

--
J C Lawrence                                 Home: claw at kanga.nu
---------(*)                               Other: coder at kanga.nu
http://www.kanga/nu/~claw/        Keys etc: finger claw at kanga.nu
--=| A man is as sane as he is dangerous to his environment |=--


_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list