[MUD-Dev] Room-based vs. coordinate-based

Alex Oren alexo at bigfoot.com
Wed Jun 4 12:52:47 CEST 1997


Jeff wrote:

} >How do you handle cross-room actions?
} 
} As I understand your question, I don't.  As I say "room" is too narrow a
} term. My model is a world of nested containers, each iwth acoordinate
} system. If you want something like a voice to be heard in multiple places,
} or an arrow to arch across an area, the areas in questio nare all part of
} the same "container" and exist in the same coordinate space.
} 
} As an example... a large expanse of desert might all be one container.  The
} streets of a city m,igth be another container. Inside a bar in the city is
} in a third conatiner.
} 
} The whole purpose of containers is to cut down on the interraction between
} players where logical and reduce the n-square problem. (Actually, thats not
} entirely true, my parse system is also inhearently tied to the container
} hirearchy.)

Consider:

  +---------------------------------------+---------------+    N
  |                                       |               |    ^
  |  [A]          Grassland          [B]  |  [C]  Forest  |   / \
  |                                       |               |    |
  +---------------------------------------+---------------+    |

Alfred is in the grassland.			Position[A] = (30,30).
Bubba is in the grassland, near the forest.	Position[B] = (200,30).
Calvin is in the forest.			Position[C] = (230,30).

How will the program handle the following scenarios:

* Bubba sees Alfred ("in the distance") but not Calvin.

* Bubba says "hi".  Calvin hears him but Alfred does not.

* Bubba screams "H-E-L-P".  Calvin and Alfred both hear him.

* Calvin shoots an arrow to the west, which arches over Bubba
  and accidently hits Alfred.

* Calvin walks west.
  Bubba sees a message "Calvin arrives ...".  Alfred does not.

In a purely "container-based" setting, $Calvin would send a message to
$Grassland which would, in turn, send messages to $Alfred and $Bubba.

} >What algorithms do you use? 
} 
} Um... thats BIG question. All code is algorithymic.  Im not sure what your
} question is here...

I meant data structures to represent spatial relationships and algorithms to
compute message recipients.


Have fun,
Alex.




More information about the mud-dev-archive mailing list