[MUD-Dev] Star Wars Galaxies: 1 character per server

Caliban Tiresias Darklock caliban at darklock.com
Mon Dec 30 03:52:19 CET 2002


From: "Marc Fielding" <fielding at computer.org>

> An offline, crafting character wouldn't be included in the event
> loop.  However, when the character next goes online, part of the
> loading process would be the calculation of the character's
> offline progress: X number of hours offline, Y rate of failure, Z
> rate of skill increase, N quantity of resources, etc.

This sets up a race condition. Imagine that Joe and Bob have a
house. In their house, they have a series of resources used to build
guns. They've got enough left to build one decent high-powered
assault rifle, which takes two hours of offline time.

  2:30 -- Joe says "build an assault rifle" and logs off.

  5:00 -- Bob says "build an assault rifle" and logs off.

  7:30 -- Bob logs on and gets his assault rifle.

  8:00 -- Joe logs on. There is not enough material to make an
  assault rifle, so Joe gets squat.

Joe should have finished his assault rifle at 4:30, so when Bob said
"build an assault rifle" he should have been told that there wasn't
enough material to make one. However, since the crafters aren't in
the event loop, Joe and Bob allocated the same resources to
different tasks -- and since Bob came back first, Bob got
them. Effectively, Joe has been punished in the game for not getting
back online fast enough.

It is, of course, perfectly sensible to put crafters in the event
loop at a MUCH lower priority. You could handle offline players once
a minute, and people would probably be happy. There's certainly no
need to check them several times a second, and since there's also no
need to render frames or parse input, you should be able to cut your
processing time per character by a factor of at least a thousand.


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



More information about the mud-dev-archive mailing list