1) normal objects. You ought to be able to carry them around, like
2) rigid or soft. You should be able to model bags as well as boxes.
a rigid container has to be broken to put it into a smaller
container, but a soft container can be crumpled up to fit into a
smaller one. Also, soft containers are not much bigger than what
they're holding at a given time -- a bag with only a pencil in it
takes up less space than a bag with 7 telephone books in it.
3) maximum size of contents. Objects should have size as well as
weight. Some rough estimate for sizes of objects (maybe each
object has one number for its size or a maximum and a minimum
size, etc) should be OK.
4) lids. Containers with lids ought to be possible. you can have
many states for 'openness' of lids, but just 'open' or 'closed'
should be fine.
5) sound and light propogation. If you are in a (open) container, you
should be able to hear everything going on outside the container
too (maybe you can hear things outside when you're in a closed
container, too, if you want to model how soundproof the container
is; probably just saying that you can only hear muffled rumblings
is enough). You should also be able to see everything outside of
it. If you are in a container which is inside a closed container,
you should only be able to hear things inside the closed
container, of course. This applies in reverse, too -- people
outside of the container should be able to hear you speak and see
6) multi-location actions (i.e., object propogation). You should be
able to throw things in and out of containers (and into other
7) partitioned containers. Containers should be able to consist of
many connected containers, so that containers should have their own
kind of exits. If you model exits as separate objects, you can
just give some containers the ability to have exits and model the
'connectedness' of the parts of the container separately. What
matters is that when the container moves from place to place, all
of its parts need to move with it.
Once you have these properties modeled, containers are more or less
like rooms, except that they are separate 'entities;' they can have a
location in a room (or another container, of course). All you need to
do is to make vehicles types of containers that allow the occupants to
change the locations of the containers and you have vehicles.
Complex models of transportation might allow players to say "go to
Misty's Bar" and they would walk (or drive) a path to Misty's Bar from
wherever they are, maybe stopping at each place on the way and waiting
for the player to type 'go' or something.
To model types of terrain, you can use a variation on the system of
domains, where each place belongs to a set of 'terrain types,' and
some vehicles may not be able to travel in certain terrain types.
This way, you can model cars which can't drive through swamp or dense
forest, but can handle roads or fields fine. If you drive your car
off the road into the swamp, you'll have a hard time getting it back
on the road.
For players, this could add whole new vistas of interaction; you could
ditch people, you could have a group of people sitting in a car, going
from place to place; you wouldn't have to say "Meet me at the
graveyard," anymore, you'd just say, "Hop into my Porche, babe!" If
you get tired of someone in the car with you, you can throw him out
onto the street (great fun if you can run over people, too }> ).
If you wanted real action, you could model maximum space for each
place and get traffic jams. Then, modeling Los Angeles simply
requires making guns readily available to players. :)
-- Bill Burdick
> Complex models of transportation might allow players to say "go to
> Misty's Bar" and they would walk (or drive) a path to Misty's Bar from
> wherever they are, maybe stopping at each place on the way and waiting
> for the player to type 'go' or something.
What about that that you can 'go' somewhere only if you have visited
that place earlier? If you have been in 2 or 3 places and you someone
tells you that there is a very nice place somewhere is time and space
it wouldn't be so much fun if you could just 'go' there but you should
run through n+1 rooms.
Petri the powerful citybuilder