Posted by
Parks, Raymond on
Apr 06, 2007; 12:29am
URL: http://friam.383.s1.nabble.com/One-of-my-projects-tp523626p523654.html
Doug,
You wrote:
> Please explain how the "avatars" will know when they have been infected
> by a virus, and how they will respond to that.
The avatar may or may not know, depending upon the implementation.
The real question is whether the player of the avatar knows. This is
something that would have to be crafted into the simulation. Let me
write this up in a logical way.
------------------------------------------------------------------
if the AVATAR is exposed to the disease then
if the exposure is sufficient then
//(ACPLA > X, transferred virii > 50% infection probability or whatever)
set the infected flag in the AVATAR
set incubation time
start the incubation timer counting to incubation time
endif
endif
// Player continues to play AVATAR normally
// Ignore infectious incubation periods for now
// Increment incubation timer each second as part of simulation cycle
if the incubation timer is equal to incubation time then
set the active flag in the AVATAR
set the disease time
// This could be to death, to recovery, or other outcome
start the disease timer counting to disease time
endif
// Then, for each simulation cycle
look up symptoms using disease timer
inform player of AVATAR symptoms
// "You feel tired and your muscles ache."
------------------------------------------------------------------
The player of the AVATAR should respond in an appropriate way,
probably based on their real-life experience. Some will ignore the
symptoms until their AVATAR starts functioning poorly (doesn't move as
fast, doesn't notice the bus about to run them down, or whatever). Some
will promptly go to a doctor. Some may seek advice from other AVATARs
representing trusted counselors (parents, grandparents, etc). All of
these will have different effects on the spread of an epidemic and are
not something you would think to model. That's the point of using real
humans - they do the darndest things that you'd never expect. If you
don't take those strange actions into account, your sim could give you
an answer that has nothing to do with the real world.
> In fact, please explain how the "avatars" know when go to work,
How do you know when to go to work? Somebody told you. If you have
real humans playing an AVATAR in your simulation, they will have to be
briefed on the role they must play.
"You're a computer scientist who has to arrive at the lab every
morning at 0830, gets a half hour for lunch somewhere between 1100 and
1300, and may go home at 1700."
> when and where to go shopping,
"You open the refrigerator to see what you can make for dinner and
there's nothing there."
> know when an epidemic has been announced;
"You hear the funny honking of the emergency broadcast network on
your car radio. An announcer says there is an epidemic raging in your
town."
> how they will respond to a decreed intervention strategy of keeping the kids home
> from school?
"The emergency announcer says you must keep your kids home from school."
In the type of MMORPG we're talking about, its likely that the kids
are not played by real people but by your agents. The interaction
between the agents and the parent will drive the actions of the parent
AVATAR's player. If the simulation informs the parent that their kids
are driving them crazy, the parent may decide not to keep them home from
school. If the initial briefing informed the role-player that they are
short on money, they may decide not to stay home with the kids or to let
the kids roam freely while the role-player's AVATAR goes to work.
> What will be the "avatar" level of compliance to the
> declared regime of intervention strategy? How many will accept
> anti-viral treatment? How many will wear masks to work? How many will
> comply to government requests to self-isolate when they become
> symptomatic?
These are all decisions that the player will make in playing the
AVATAR. That's the point of using real people to help your simulation
be real. We would have to design mechanisms to provide the correct
feedback to the player. You already mentioned that your sim has
provision for poor folks who can't afford not to work. The player would
just be informed of the same information - "Your rent is due next Friday
and you don't have enough money." - to which the player can either
decide to go to work or to follow orders and stay home. To get the
reasonable results from the players, the sim needs to provide feedback.
This doesn't have to be realistic as long as the result is the same.
MMORPGs have mechanisms to do this type of thing without requiring
every actor be role-played. In Star Wars Galaxies, certain professions
can "mine" resources - these aren't just minerals. Rather than play out
the various processes required for mining minerals or growing plants,
the player has to spend time in a certain spot in the game world
clicking on a point or something. Each click increments the resource
count by a miniscule amount. The intent is that the AVATAR spends time
in a particular location doing some activity to collect resources. It's
the spending of time and lack of movement/participation that is the
behaviour to be modeled, not the actions necessary to collect the resources.
> How will an "avatar" determine when it has become
> symptomatic?
All we can do is tell the player that their AVATAR has certain
symptoms. Depending upon whether we want to make this easy or not, we
can use the same words as the government request or use different words
that require the player to interpret them - just as a person would have
to interpret their symptoms in a real epidemic. Some people think they
can't move they ache so badly and others think the muscle ache is a
minor annoyance. In a straight simulation, you model this with some
sort of normal distribution of how many will comply. I'm proposing that
we model compliance with real people and then turn around and use that
number in the agents.
> With what level of resolution will these "avatars" behave in the simulation?
That's the real difficulty. In effect, we would be federating two
simulations in the same structure, and getting timing to match between
two federated simulations is always a problem. We have the most control
over the agent simulation - we can run it faster or slower to match the
turn speed we give to the human-played AVATARs. Fortunately, it isn't
necessary for the human players to enter their actions every second -
they can enter courses of action (go out door - get in car - drive to
work - walk into office - ....) which can then be played out in time to
match the agent simulation. If the agent sim runs faster than
real-time, we can see if that still matches the COA level of the human
players. If the agent sim is too fast, we can throttle it back (or add
more agents). If the agent sim runs too slow, we can coarsen the time
for each turn for the human - instead of asking the human player to
choose what their AVATAR does for the next five minutes, we ask them to
choose for the next ten minutes.
I'm detecting a certain stridency in your replies. I hope I'm wrong
and you're not upset at my suggestion. That's all this is - a
suggestion. It may not be feasible and I certainly have no stake in
this idea. It was just something I threw out based on my experience as
a role-playing gamer and my limited knowledge of MMORPGs.
--
Ray Parks rcparks at sandia.gov
IDART Project Lead Voice:505-844-4024
IORTA Department Mobile:505-238-9359
http://www.sandia.gov/scada Fax:505-844-9641
http://www.sandia.gov/idart Pager:800-690-5288