[MUD-Dev] Thoughts about smarter Sims
Paul Schwanz - Enterprise Services
Paul.Schwanz at east.sun.com
Thu Jun 1 15:54:24 CEST 2000
Jon A. Lambert wrote:
> I'm still working on the documentation. :-(
>
> Nevertheless...
> This is a sample PLAN.
>
> PLAN rats_feed
> CONTEXT
> this.hungry = true; // Using variable deined on object
> this.attacked = false
> ENDCONTEXT
> BODY
> EXECUTE this.find_food(); // message to self
> if (this.hungry == false)
> ACHIEVE rats_feed;
> else
> CONTINUE rats_feed;
> endif
> ENDBODY
> ENDPLAN
>
> And a simple RULES definition
>
> RULE rats_rule
> MODEL rat_model;
> INIT
> PLAN rats_feed PRIORITY 5;
> PLAN rats_reproduce PRIORITY 5;
> PLAN rats_flee PRIORITY 1;
> ENDINIT
> EVAL
> if (this.room.contains(objtype(cat)))
> PLAN rats_flee PRIORITY +5;
> endif
> if (this.attack)
> PLAN rats_defend PRIORITY +5;
> endif
> if (critical_population) // see rats_model
> PLAN rats_reproduce PRIORITY +2;
> endif
> ENDEVAL
> ENDRULE
This reminded me very much of an article I read recently. After some searching, I
was able to relocate the article. It is entitled "A Modular Framework for
Artificial Intelligence Based on Stimulus Response Directives," and was written by
Charles Guy.
http://www.gamasutra.com/features/19991110/guy_01.htm
I wondered whether or not you were familiar with the article. I found it
fascinating.
Also, what happens if this.room.contains(objtype(really_cute_rat)) /*OK...this is
hypothetical*/ and this.room.contains(objtype(hunk_of_cheese)) and rats_feed and
rats_reproduce are at the exact same priority level? Will this lead to a
Capt-Kirk-like logic problem in which rats_self_destruct is initiated? Just
wondering.
--Phinehas
-----------------------------------------------------------------
"All things are permissible,
but not all things are expedient."
-----------------------------------------------------------------
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list