Orc In A Spacesuit on 29 Apr 2003 08:30:01 -0000

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [spoon-discuss] Why we need OO

From: Rob Speer <rspeer@xxxxxxx>
On Mon, Apr 28, 2003 at 06:42:35PM -0400, Daniel Lepage wrote:
But anyway, why do we need to define our own version of '3'? 3 is an
object; but does not need to be defined as one in the context of the
Nomic, as it is defined as one in the larger scope of Real Life.

If Concepts were not OO at all, then I couldn't say "everything in the
game is a Thingy". The letter 'B' is certainly in the game (hell, it
could arguably be the first thing that was ever in the game). I just
think that putting _everything_ in the OO system makes things generally

What do people think? Should I take out Concepts?

I'm thinking that we go halfway here. Rather than making everything a part of the class system, we break it into these groups, and not have the basic system itself OO, and instead define the following:

Classes, which may be children of other Classes.
Objects, which is a member of a Class(es).
Properties, which Objects have, and can be Number, Text, Reference, or a list of one of those.
Values, which are the states that Properties have.
Events, which are things that happen, and may cause other events to happen when they occur. Actions, which are things that Objects may do, perhaps choosing other Objects when they do so. Taking an Action is an Event.

So, a Gnome Object (a member of the Gnome class) would have the HP Property. Let's call it ThatGnome. If a Player Object performed the Squeeze(ThatGnome) action, the Event GnomeSqueezed(ThatGnome) would happen, and as a result, ThatGnome's HP Property is set to the Value of (ThatGnome's HP Property minus one).

I think that simply defining the parts of an object, and what happens to them, in plain English rather than as objects, is a lot simpler.

Orc in a Spacesuit

Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

spoon-discuss mailing list