May 1998
- OT: CGDC Adam Wiggins
- OT: CGDC Mike Sellers
- There can be.. only ONE! (fwd) Ling
- There can be.. only ONE! (fwd) Matt Chatterley
- Some thoughts on languages and users - was: Ma Jon A. Lambert
- Some thoughts on languages and users - was: Ma Chris Gray
- Some thoughts on languages and users - was: Ma Adam Wiggins
- Some thoughts on languages and users - was: Ma J C Lawrence
- (fwd) AD: [custom graphical] whitestar Crossfi Jon A. Lambert
- LIST: The "MUD-DEV" MUD Development mailing list J C Lawrence
- Wired, UO, Mike Sellers
- Wired, UO, John Bertoglio
- Wired, UO, and Internet Gaming (was OT: Dr. Cat
- Wired, UO, and Internet Gaming (was OT: Koster, Raph
- Wired, UO, and Internet Gaming (was OT: J C Lawrence
- Wired, UO, and Internet Gaming (was OT: John Bertoglio
- OT: Supporting articles found for UOL play style Jon A. Lambert
- PK's: A solution? J C Lawrence
- Preview of Asheron's Call J C Lawrence
- Asheron's Call Interview with Toby Ragaini, Lead Designer, and Jon Grande, Product Planner. J C Lawrence
- Character maintinence - expenditure of resources Adam Wiggins
- Character maintinence - expenditure of resources Dan Shiovitz
- Character maintinence - expenditure of resources Adam Wiggins
- Character maintinence - expenditure of resources J C Lawrence
- Character maintinence - expenditure of resources Koster, Raph
- Character maintinence - expenditure of resources J C Lawrence
- Character maintinence - expenditure of resources John Bertoglio
- Character maintinence - expenditure of resources J C Lawrence
- Motivations for Creating Mud-Like Worllds and Servers | John Bertoglio
- FW: (Fwd) Bouncing mail J C Lawrence
- FW: (Fwd) Bouncing mail John Bertoglio
- FW: (Fwd) Bouncing mail Matt Chatterley
- FW: (Fwd) Bouncing mail s001gmu@nova.wright.edu
- FW: (Fwd) Bouncing mail J C Lawrence
- FW: (Fwd) Bouncing mail s001gmu@nova.wright.edu
- FW: (Fwd) Bouncing mail J C Lawrence
- Character development [was ] Koster, Raph
- Motivations for Creating Mud-Like Worlds and Servers Holly Sommer
- META -- membership Jay Sax
- META -- membership Koster, Raph
- META -- membership J C Lawrence
- Motivations (was something else...) s001gmu@nova.wright.edu
- Motivations (was something else...) Richard Woolcock
- client UI written in server's language (was Some thoughts...) Erik Ostrom
- Some thoughts on languages and users - was: Ma J C Lawrence
- Some thoughts on languages and users - was: Ma Travis S. Casey
- Some thoughts on languages and users - was: Ma J C Lawrence
- META: Character of the list's membership J C Lawrence
- quickie CGDC report Mike Sellers
- quickie CGDC report Adam Wiggins
- Some essays I've written lately Koster, Raph
- Some essays I've written lately Koster, Raph
- Some essays I've written lately Koster, Raph
- Some essays I've written lately Koster, Raph
- Some essays I've written lately Koster, Raph
- Some essays I've written lately J C Lawrence
- Some essays I've written lately Koster, Raph
- Some essays I've written lately J C Lawrence
- Some essays I've written lately J C Lawrence
- Frandel 3D (fwd) Holly Sommer
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Raph Koster
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Koster, Raph
- MURKLE: Wot it is Dr. Cat
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Shawn Halpenny
- MURKLE: Wot it is Mike Sellers
- MURKLE: Wot it is Nathan F Yospe
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Chris Gray
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Chris Gray
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Ling
- MURKLE: Wot it is Oliver Jowett
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Ling
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is Ling
- MURKLE: Wot it is J C Lawrence
- MURKLE: Wot it is jacob langthorn
- MURKLE: Wot it is Jon A. Lambert
- MURKLE: Wot it is J C Lawrence
- We're Tiny, we're Toonie, we're all a little Loonie! Ling
- META: Search features of the MUD-Dev archive J C Lawrence
- CGDC, a summary Adam Wiggins
- CGDC, a summary Koster, Raph
- CGDC, a summary Holly Sommer
- CGDC, a summary Caliban Tiresias Darklock
- CGDC, a summary J C Lawrence
- CGDC, a summary Chris Gray
- CGDC, a summary J C Lawrence
- CGDC, a summary Marian Griffith
- CGDC, a summary J C Lawrence
- CGDC, a summary Koster, Raph
- CGDC, a summary J C Lawrence
- CGDC, a summary J C Lawrence
- CGDC, a summary Mike Sellers
- CGDC, a summary J C Lawrence
- CGDC, a summary Chris Gray
- CGDC, a summary Travis S. Casey
- CGDC, a summary Koster, Raph
- CGDC, a summary Adam Wiggins
- CGDC, a summary Koster, Raph
- CGDC, a summary Chris Gray
- CGDC, a summary Koster, Raph
- CGDC, a summary John Bertoglio
- CGDC, a summary s001gmu@nova.wright.edu
- CGDC, a summary John Bertoglio
- CGDC, a summary Koster, Raph
- CGDC, a summary s001gmu@nova.wright.edu
- CGDC, a summary J C Lawrence
- CGDC, a summary John Bertoglio
- CGDC, a summary Koster, Raph
- CGDC, a summary Joel Kelso
- CGDC, a summary J C Lawrence
- CGDC, a summary Marian Griffith
- CGDC, a summary J C Lawrence
- CGDC, a summary Marian Griffith
- CGDC, a summary Jon A. Lambert
- CGDC, a summary J C Lawrence
- CGDC, a summary J C Lawrence
- CGDC, a summary J C Lawrence
- CGDC, a summary Adam Wiggins
- CGDC, a summary Jon A. Lambert
- CGDC, a summary Orion Henry
- MUD mentation system Matthew R. Sheahan
recently, due to various factors, many related to the pressures exerted
by porting an add_action() using Amylaar mudlib to a pure centralized
command system under MudOS, it came to be that i and several other coders
developed a system for tracking character thought in an in-character
fashion, primarily for the purpose of actuating game processes like item
use on the basis of thought.
the more we developed this system, the more enthusiatic we became about
it, and we wound up porting it from the MudOS development site back onto
the production Amylaar site. as far as any of us have been able to
discern from our knowledge of what other people have done, the approach is
a genuine innovation, and so i thought it my duty to share it with the
mud-dev list. enclosed is our man page explaining the overall mentation
mechanism. if there are any points which people would like to have
clarified, please let me know.
chiaroscuro
mentation - description of the Ain Soph mentation mechanism
SYNOPSIS
Ain Soph enables the handling of game functionality actuated by
in-character mental processes; e.g. a helm which projects flames when
you think a command word, a gem that heals you when you visualize a
cadeceus.
FILES
/std/module/character/mind.c
/lib/thought.h
/daemon/command/character/believe.c
/daemon/command/character/concentrate.c
/daemon/command/character/disbelieve.c
/daemon/command/character/imagine.c
/daemon/command/character/subvocalize.c
/daemon/command/character/think.c
/daemon/command/character/visualize.c
/daemon/command/character/will.c
DESCRIPTION
The mentation mechanism enables wizards to implement character abilities
which are actuated by thought processes. Many items and organizations add
various capabilities to players by using add_action() to create arbitrary
command structures. Many of these capabilities are better handled through
speech or thought actuation; this system covers the latter.
Thought-actuated events, or simply "thoughts", are created using the
function add_thought(), which exists in all living objects. Its syntax
is as follows:
mapping add_thought(mixed tag, string arg, int flags, int activity,
closure fcan, closure fdo);
'tag' is a string or array of strings which the thought 'keys' on, or 0
to key on any string. For example, if you wanted your thought to activate
when someone thought of trees, you might send a value of "trees" for 'tag'.
If you wanted it to activate when they thought of either trees or bushes,
you could send ({ "trees", "bushes" }). It's recommended that both
specific and less specific tags be provided; e.g. you could have a power
key on both "visualize a triangle" and "visualize a point-up silver
triangle", possibly triggering somewhat different versions of the power.
This allows the possibility of ambiguity with other powers which also
involve the visualization of triangles, but also lets characters who wish
to be careful in their use of thought-actuated powers avoid trouble.
'arg' can be used for thoughts which take arguments, e.g. if you wanted
people to be able to do "concentrate on harming <target>". In that case
you would pass "%s" as 'arg', meaning a string argument following the tag
value. You can also use "%d", meaning an integer argument following the
tag value.
'flags' indicates the types of mentation which the thought will key on.
These are defined by the macros in /lib/thought.h, and are:
TF_Believe thought confirming the reality of a thing or
idea
TF_Concentrate concentration on an concept
TF_Disbelieve thought denying the reality of a thing or idea
TF_Imagine thought about a sensory impression, real or
constructed
TF_Subvocalize mind-internal verbalization, "thinking words"
TF_Think thinking about a concept, like concentrate but
less intensive
TF_Visualize thought about a visual sensory impression,
real or constructed
TF_Will thought oriented toward a desired effect
You can send one of these flags as your 'flags' value to key only on that
type, send several joined by bitwise ORs (e.g. TF_Think|TF_Will), or use
the macro TF_Any to key on any mentation type. Note that the mentation
types have different default activity costs ('concentrate' takes more time
thank 'think', for example) and different conditional requirements (you
cannot 'concentrate' while berserk).
'activity' is the activity cost of actuating this thought. Only the
highest activity cost from all thoughts triggered at once is used. If no
triggered thoughts specify an activity cost, the activity cost will be the
default value for the type of mentation used (in general, 2 for think,
subvocalize and will, 15 for the rest).
'fcan' is the function checked for whether the thought can be actuated.
It is passed the following arguments:
object who The person performing the mentation.
mixed val The value obtained for the thought's arguments,
if any.
string what The string value given by the player to the
mentation command; e.g. for both "think about
beer" and "visualize beer", this value will be
"beer".
int total The total number of thoughts which are having
their 'fcan' functions checked for this
mentation event, including this one.
int type The appropriate thought.h macro for the type
of mentation actually being performed.
The return value from the 'fcan' closure may be:
1 Success; allow the thought to be actuated.
0 Failure; do not actuate this thought.
a string Failure; do not actuate this thought. The
string returned will be shown to the person
performing the mentation, as an error message.
an array Success; allow the thought to be actuated.
Pass the array given to the 'fdo' function.
a mapping Success; allow the thought to be actuated.
Pass the mapping given to the 'fdo' function.
'fdo' is the function called when the thought has been successfully
cleared for actuation; all actual game effects should be contained in
this function, while status checks and so forth should be contained in the
'fcan' function. It is passed the following arguments:
object who The person performing the mentation.
mixed val The value obtained for the thought's arguments,
if any.
mixed inf If 'fcan' returned an array or mapping value,
this is it.
string what The string value given by the player to the
mentation command; e.g. for both "think about
beer" and "visualize beer", this value will be
"beer".
int total The total number of thoughts which have had
their 'fcan' functions checked and are now
being actuated via 'fdo' functions, including
this one.
int type The appropriate thought.h macro for the type
of mentation actually being performed.
Example of setting up a thought:
thought = character->add_thought(
({ "a triangle", "a point-up silver triangle" }),
0,
TF_Visualize,
0,
#'can_use_healing_power,
#'do_use_healing_power
);
The return value of add_thought() is a mapping which contains the thought
information as used internally by mind.c. You should not change the data
in this mapping. What you should do with it is store it for when you want
to remove the thought from the character, which is done like so:
character->remove_thought(thought);
where 'thought' is the mapping passed back to you by add_thought().
This documentation is for the Amylaar driver version of the mentation code.
The MudOS version will have some mostly cosmetic differences, such as the
use of a class for tracking thoughts rather than a mapping. There is
support for "thought monitoring", but this is mostly useless under the
Amylaar version of Ain Soph and so will not be covered until we have moved
to MudOS.
DEVELOPMENT CREDITS
Ubiquitous
Seed crystal idea: "actually, the Nexus rune bonds ought to work
from thought rather than speech"
Vii
Conceptual development: the believe and disbelieve commands
Ambidexter
Conceptual development: most of the mentation commands, miscellaneous
ideas; technical development: the MudOS to Amylaar port
Chaos
Technical development: the rest of the grunt work
--
MUD-Dev: Advancing an unrealised future. - How to handle log-outs in a totally dynamic world. Ben Greear
- How to handle log-outs in a totally dynamic world. John Bertoglio
- How to handle log-outs in a totally dynamic world. Ben Greear
- How to handle log-outs in a totally dynamic world. Dan Shiovitz
- How to handle log-outs in a totally dynamic world. Ben Greear
- How to handle log-outs in a totally dynamic world. Adam Wiggins
- How to handle log-outs in a totally dynamic world. Vadim Tkachenko
- How to handle log-outs in a totally dynamic world. Richard Woolcock
- How to handle log-outs in a totally dynamic world. Ben Greear
- How to handle log-outs in a totally dynamic world. Dan Shiovitz
- How to handle log-outs in a totally dynamic world. J C Lawrence
- On tanks... J C Lawrence
- On tanks... Ling
- More on LetsSystems J C Lawrence
- Attributes: Sanity Holly Sommer
- Attributes: Sanity Travis S. Casey
- Attributes: Sanity Holly Sommer
- Attributes: Sanity Holly Sommer
- Attributes: Sanity Adam Wiggins
- Attributes: Sanity Travis S. Casey
- Attributes: Sanity Holly Sommer
- Attributes: Sanity Holly Sommer
- mudschools Marian Griffith
- mudschools Matt Chatterley
- Mudschool Ling
- Using HTML for a Mud character generator John Bertoglio
- Using HTML for a Mud character generator s001gmu@nova.wright.edu
- Using HTML for a Mud character generator John Bertoglio
- Using HTML for a Mud character generator Holly Sommer
- Using HTML for a Mud character generator John Bertoglio
- Using HTML for a Mud character generator s001gmu@nova.wright.edu
- Using HTML for a Mud character generator Vadim Tkachenko
- Using HTML for a Mud character generator John Bertoglio
- Using HTML for a Mud character generator J C Lawrence
- Using HTML for a Mud character generator Vadim Tkachenko
- Using HTML for a Mud character generator John Bertoglio
- Using HTML for a Mud character generator Robert Woods
- Leaving characters in play Joel Kelso
- Leaving characters in play Ben Greear
- Leaving characters in play John Bertoglio
- Leaving characters in play Adam Wiggins
- Leaving characters in play J C Lawrence
- Leaving characters in play John Bertoglio
- Leaving characters in play Travis S. Casey
- Leaving characters in play Adam Wiggins
- Leaving characters in play John Bertoglio
- Leaving characters in play J C Lawrence
- Leaving characters in play J C Lawrence
- Leaving characters in play Travis S. Casey
- Leaving characters in play J C Lawrence
- Leaving characters in play D. B. Brown
- Leaving characters in play Travis S. Casey
- Leaving characters in play Adam Wiggins
- Leaving characters in play Jon A. Lambert
- Leaving characters in play s001gmu@nova.wright.edu
- Leaving characters in play Ben Greear
- Request "unsubscribe calvin@orinconhi.com mud-dev" Petidomo Mailing List Server
- Natural Language Processing (NLP) Shawn Halpenny
- Is There a There in Cyberspace? J C Lawrence
- Is There a There in Cyberspace? Jon A. Lambert
- Is There a There in Cyberspace? J C Lawrence
- [OT] Web Pages Jon A. Lambert
- AR Mining System John Bertoglio
- AR Mining System Oliver Jowett
- AR Mining System John Bertoglio
- mudschools Mike Sellers
- Using HTML for a Mud character generator Travis S. Casey
- Character creation, was: Mudschool Richard Woolcock
- Character creation, was: Mudschool Jon A. Lambert
- Onchat -- Java based chat room. J C Lawrence
- A short introduction of a (quite) long-time lurker Per Vognsen
- [MUD-Dev]World Size and The "Hot House" Factor Was PK and my "Mobless MUD" idea John Bertoglio
- mudschools jacob langthorn
- world concept jacob langthorn
- world concept Jo Dillon
- world concept J C Lawrence
- world concept Holly Sommer
- world concept jacob langthorn
- OT: Java multithreading performance Vadim Tkachenko
- OT: Java multithreading performance Ben Greear
- OT: Java multithreading performance Vadim Tkachenko
- OT: Java multithreading performance Chris Gray
- OT: Java multithreading performance Vadim Tkachenko
- OT: Java multithreading performance Chris Gray
- OT: Java multithreading performance Vadim Tkachenko
- OT: Java multithreading performance Chris Gray
- OT: Java multithreading performance Ben Greear
- OT: Java multithreading performance Jon A. Lambert
- OT: Java multithreading performance Chris Gray
- OT: Java multithreading performance Vadim Tkachenko
- OT: Java multithreading performance J C Lawrence
- META: Lost messages J C Lawrence
- Titanic's demise (was MURKLE: Wot it is) Mike Sellers
- Titanic's demise (was MURKLE: Wot it is) Koster, Raph
- mudschools jacob langthorn
- mudschools Marian Griffith
- mudschools Mike Sellers
- mudschools Marian Griffith
- mudschools Robert Woods
- mudschools Mike Sellers
- mudschools Robert Woods
- mudschools Robert Woods
- mudschools Caliban Tiresias Darklock
- MUD Schools Adam Casbarian
- MUD Schools Chris Lloyd
- MUD Schools Jon Lambert
- Combat Was Leaving characters in play Orion Henry
- Combat Was Leaving characters in play Oliver Jowett
- Combat Was Leaving characters in play Orion Henry
- Combat Was Leaving characters in play Oliver Jowett
- Combat Was Leaving characters in play D. B. Brown
- Combat Was Leaving characters in play Orion Henry
- Combat Was Leaving characters in play Adam Wiggins
- Combat Was Leaving characters in play J C Lawrence
- Combat Was Leaving characters in play Orion Henry
- Combat Was Leaving characters in play Adam Wiggins
- Combat Was Leaving characters in play Travis S. Casey
- Combat Was Leaving characters in play Adam Wiggins
- Combat Was Leaving characters in play Travis S. Casey
- Combat Was Leaving characters in play Adam Wiggins
- Bad Game Designer, No Twinkie! -- By Ernest Adams J C Lawrence
- Bad Game Designer, No Twinkie! -- By Ernest Adams T. Alexander Popiel
- Bad Game Designer, No Twinkie! -- By Ernest Adams J C Lawrence
- Bad Game Designer, No Twinkie! -- By Ernest Adams John Bertoglio
- Bad Game Designer, No Twinkie! -- By Ernest Adams Caliban Tiresias Darklock
- Bad Game Designer, No Twinkie! -- By Ernest Adams John Bertoglio
- Bad Game Designer, No Twinkie! -- By Ernest Ada ms Koster, Raph
- Bad Game Designer, No Twinkie! -- By Ernest Adams Caliban Tiresias Darklock
- Bad Game Designer, No Twinkie! -- By ErnestAdam s Koster, Raph
- Bad Game Designer, No Twinkie! -- By Ernest Ada ms J C Lawrence
- Bad Game Designer, No Twinkie! -- By Ernest Adams J C Lawrence
- Bad Game Designer, No Twinkie! -- By Ernest Adams John Bertoglio
- Java multithreading test source Vadim Tkachenko
- Java multithreading test source J C Lawrence
- Java multithreading test source Vadim Tkachenko
- Java multithreading test source Ben Greear
- Java multithreading test source Vadim Tkachenko
- Java multithreading test source Chris Gray
- Mud Tales John Bertoglio
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Ling
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Ling
- Nested coorindate space model Michael Hohensee
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Michael Hohensee
- Nested coorindate space model Jason Goodwin
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Michael Hohensee
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Benjamin D. Wiechel
- Nested coorindate space model J C Lawrence
- Nested coorindate space model Michael Hohensee
- Now For Something Completely Different: PK with style John Bertoglio
- Sex in Games -- ya gotta, um, yeah J C Lawrence
- Combat in the Abandoned Realms John Bertoglio
- A Metaphysics System s001gmu@nova.wright.edu
- META: New list features J C Lawrence
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Mike Sellers
- OT: Java multithreading test source Ben Greear
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Ben Greear
- OT: Java multithreading test source John Bertoglio
- OT: Java multithreading test source Vadim Tkachenko
- OT: Java multithreading test source Jon A. Lambert
- OT: Java multithreading test source Ben Greear
- Plug: Got my java client to work using the java-plugin. Ben Greear
- UO's rep system, was: CGDC Koster, Raph
- UO's rep system, was: CGDC J C Lawrence
- BIAP Chat/Chat Pro (fwd) Nathan F Yospe
- BIAP Chat/Chat Pro (fwd) Holly Sommer
- Tutorial for Multi-User Environments Niklas Elmqvist
- Tutorial for Multi-User Environments Niklas Elmqvist
- skill system Andrew C.M. McClintock
- skill system Jo Dillon
- skill system Andrew C.M. McClintock
- skill system Adam Wiggins
- skill system Marian Griffith
- skill system J C Lawrence
- skill system Jon A. Lambert
- skill system John Bertoglio
- skill system J C Lawrence
- skill system s001gmu@nova.wright.edu
- skill system Adam Wiggins
- skill system Katrina McClelan
- skill system Richard Woolcock
- skill system Koster, Raph
- skill system John Bertoglio
- skill system Adam Wiggins
- skill system Mike Sellers
- skill system Richard Woolcock
- skill system Adam Wiggins
- skill system Richard Woolcock
- skill system Katrina McClelan
- skill system Adam Wiggins
- skill system Richard Woolcock
- skill system Katrina McClelan
- skill system Adam Wiggins
- skill system Dan Shiovitz
- skill system Adam Wiggins
- skill system Richard Woolcock
- skill system Adam Wiggins
- skill system Richard Woolcock
- skill system J C Lawrence
- skill system s001gmu@nova.wright.edu
- skill system J C Lawrence
- skill system John Bertoglio