[Reality] Re: T-minus 450 hours and counting (Was: Something a lot longer)

Jp Calderone reality@twistedmatrix.com
Fri, 14 Jun 2002 12:36:17 -0400 (EDT)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Fri, 14 Jun 2002, Glyph Lefkowitz wrote:

> From: Christopher Armstrong <carmstro@twistedmatrix.com>
> Subject: [Reality] Command handling?
> Date: 11 Jun 2002 15:48:02 -0400
>
> > Yo, glyph. exarkun and I are hearing rumours that you have something
> > of a sentence replacement dreamed up. Can you explain what your ideas
> > are so far so we can take a look-see?
>
> Well, there's a lot to discuss here.
>
> First and foremost, I am planning to integrate Reality as much as
> possible with Beyond 2.0, which is the next iteration of Jason Asbahr's
> definitive white paper on the topic of virtual worlds.  I'm really not
> sure at this point what all the pieces are going to be called when
> that's done, which will be "reality" and which "beyond", but I really
> don't want TR to be a text-only solution from bottom to top; it should
> use virtual world abstractions which are more universal.  I don't want
> to rush Jason's design, so there will probably be some delays in my
> involvement as we work things out for a much broader category of games
> than Reality was originally intended to be used for.  (On the plus side,
> there are lots of things in the graphical components of Beyond that
> Reality won't need to move forward, initially.)

  Yay.  I have long dreamt of a system capable of properly handling
multiple styles of input, but never had either the skill or the drive to
make it happen.  Are the existing Beyond documents available to the
general public, or are seekrut ninja access codes required?

>
> So, that said, the initial motivation I have to do something to sentence
> will be to separate the process of parsing text (determining intent)
> from the process of dispatching actions (determining consequences).
> Each game will need to both extend the parser and dispatch new kinds of
> actions.
>
> [snip : text parsing is fun, documentation is good, users are unclueful]

> Once you're done dealing with whatever mangled garbage the so-called
> "user" has deposited at your prompt, you only know what they *want*.
> You don't know what they can do.  The plan for doing things at this
> point is that the parser will not make any policy decisions, but emit an
> "Intention", which will be the sort of new equivalent of a Sentence.
> Unlike Sentence, however, this will be an instance of a user-defined
> class; a sentence that begins with "pick", you might parse to an
> instance of a PickLock, PickUp, or Choose.  Each of these might be from
> an entirely different game system.  Each of these _also_ has its own
> dispatch rules -- I don't know if you've noticed this yet, but a set of
> rules designed for dispatch of take/drop/look/hit doesn't work so well
> when you're trying to deal with verbs like "taste" or "unscrew".

Oararkgurglegurgle...

So this is basically the "central command registry" or whatever it's
called?  My main concern about this is that it makes it somewhat difficult
to differentiate between commands (Intentions, Abilities, Skills...) that
go by the same name.  Perhaps this is a moot point if the Intentions are
dispatched properly, ie, only to what would currently be the ambient_*,
verb_*, and ability_* methods Reality has.  I have trouble groking this
sort of thing without an implementation to pick up and poke and try to
break :)

>
> One last thing before I go.  I want to move away from the "everything is
> a unique object" mindset that TR had before.  This mindset was itself a
> rebellion against MUDs where the rules of the game were completely
> inviolate, self-contained, always consistent, and fairly boring.  I
> wanted to have spice and flair in the objects in Divunal, so I designed
> a system that revolved around uniqueness.
>
> I still like this, in a very abstract philosophical light, but
> unfortunately it maps very poorly into the real world.  For example;
> there tend to be more players than content creators, by an order of
> magnitude, in any given virtual world, so you need to make the rate at
> which players can devour content _glacially_ slow.  The best way to do
> this is to provide an enjoyable, repeatable experience that they can
> engage in on a regular basis.  Players complain if this is *too*
> repetetive, but they need some form of repetition, otherwise the game is
> so constantly unfamiliar and weird that they'd never develop a sense of
> accomplishment and want to play it more.  This may all be obvious to
> you, but it took a long time in coming to me ;-)

  Hooray.  I'm all for uniqueness, but I'm not God, or even a major diety,
I can't make stuff that fast :)  I have some ideas for an item
construction system to let players partially participate in the creation
process (Nothing unique, I'm sure.  I've been told it's a lot like the EQ
system) and algorithmic generation can be another source of unique, if not
terribly creative, items/locations/creatures, but a template system (which
is already partially available simply via python classes) strikes me as a
must-have.

>
> I believe a more realistic solution to the game getting stale is having
> boundaries between various "game systems" that are thicker-walled than
> elsewhere; providing an abstraction for the overall 'game system' as
> well as the relationship of each player to each game system.  So there
> will be a Game called Combat and a GamePlayerRole instance associated
> with all players who can fight called CombatSkill, which will all point
> to (probably the same) Combat instance.  I would likely also have a
> DiscovererSkill which might include statistics related to aspects of the
> game like lockpicking.  In addition to statistics, it would also include
> the player's default processing code for the actions involved in that
> part of the game.  Ideally these GamePlayerRole *Skill objects (terrible
> name, I know, working on a better one) would be able to implement the
> Reality.IParserEnhancer interface to provide additional rules for the
> parser to match against and the Beyond.IActionSource interfaces to
> provide new capabilities to the player.

  That's going to take some time to digest.  If anything coherent
percolates up, I'll post another reply.

> [snip : a game that makes sense]
>
>
> I still have a lot more thought to give this, since I'm re-treading
> ground I haven't walked on for quite some time, as well as waiting to
> see how the critical related components of Beyond turn out.  Any
> comments on the general direction?

  Comments... Comments... Can't think of anything more interesting than
"sounds good" at the moment.  Please, keep us updated :)

  Jp

- --
"Minerals are inexhaustible and will never be depleted. A stream of
investment creates additions to proved reserves, a very large in-ground
inventory, constantly renewed as it is extracted... How much was in the
ground at the start and how much will be left at the end are unknown and
irrelevant."  -- Morry Adelman, World Renowned Economist
- --
 10:11am up 24 days, 10:53, 5 users, load average: 0.00, 0.00, 0.00
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9ChuFedcO2BJA+4YRAn91AJ97KKkTLwOg7ddcn+W95AQ5fmYv4wCgtRxo
T1f/MZox3NgWj6FZrv+dQeI=
=SKvO
-----END PGP SIGNATURE-----