home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!decwrl!csus.edu!netcom.com!netcomsv!terapin!paulk
- From: paulk@terapin.com (Paul Kienitz)
- Newsgroups: comp.sys.amiga.datacomm
- Subject: Re: multiuser environment (via modem)
- References: <cg.0cu9@ami-cg.UUCP>
- Message-ID: <paulk.186k@terapin.com>
- Date: 21 Aug 92 17:17:48 PST
- Organization: BBS
- Lines: 30
-
- > I can't send you sources, but I can provide some information. What
- > I do in AmigaMUD is have a single server process and multiple
- > client processes, which communicate over Amiga Exec message ports.
-
- I once did some hacking on a multiuser mainframe game, and this sort
- of thing CAN be managed with no central server. The game I worked on
- did everything by cooperation between the users' separate processes,
- by means of a division-of-labor which specified when a process could
- make up its own mind about when something happens successfully, and
- when it would have to take some other process's word for something
- having happened. For example, in this game, when you shoot at
- someone else's spaceship your own process decides whether it was a
- hit or not, and the other guy's process just gets the news "You've
- been hit (x) hard." By being careful about who has responsibility
- for what, you can eliminate the need for a server.
-
- The core of this game was a big chunk of shared data accessable to
- all the processes, protected by a semaphore, so all the processes
- were tightly coupled through a shared picture of the world. That
- would be difficult to manage through a modem. I don't know how
- difficult it would have been to do that game with messages, since the
- machine in question didn't have decent messaging anyways.
-
- The division-of-labor principle would apply more strongly when messages are
- used, I think. It would be, like, whoever decides first that he can move into
- a given square would send out messages telling everybody else they can't.
- Except in that particular case you'd need some kind of way to lock out
- overlapping moves. One player on a slow data link would slow EVERYONE down if
- he had to acknowledge every attempt to get such a lock, which might be required
- if the thing was really decentralized.
-