Author Topic: A Self Modifying Object  (Read 533 times)

Rigwyn

  • Prospects
  • Forum Addict
  • *
  • Posts: 2033
  • ...
    • View Profile
A Self Modifying Object
« on: January 28, 2015, 06:10:37 am »
I'm not sure how else to describe this, but I was thinking about something, and this seemed like a possible solution with many uses. You may already have something like this implemented, but here goes:

An object that can modify itself under certain conditions and keep state - even after a server restart. The idea here is that the object's state could be viewed by multiple players, and each player could have a chance at modifying the object.

Some concrete examples of this:

Sometimes in role play, you want to have an object ( like a lamp, let's say ) which has hidden properties. Those properties can only be revealed if someone makes the right check. Ie. Someone with reasonable luck tries to rub it, or someone with reasonable int tries to determine its origin or use.  In a case like this, you would have a player or gm do all the work - describing the object, and determining if each player was successful in revealing something about the object. They would then announce any revelations to the group. This way, players with differing skills could contribute to the revelation of the object.

You can do this with a book - ie. write a description of the object, and then write a list of if statements in brackets ( ie. if you try to burn the book, you will see that its fire proof, if you have high int and study it, you may fine a hidden message... etc..) The problem here is that this gives away the surprise. It could also be very tempting for people to rationalize that they *should* be able to discover x,y and z.

In relation to game play, this sort of thing could be used to implement a chest that requires different skills to open, a crafted item that requires different processes to turn it into the end result, a mount that requires more than one rider, or some sort of spell/charm that requires multiple players to cast.

I say self modifying because the object would modify its own state in response to inputs that it makes available to the player. At any time then, any player could look at it and see a description of its current state.

What would be most ideal is if such an object could be make available to players who wish to implement an RP object that requires skill checks (or just chance ) to unravel. Perhaps 50/50 chance of success for an unskilled check, and a little better if the player is more than 50% trained in a relevant skill.

As an example for a role playing object. Let's say you wanted to make an object that would be used as a clue. Let's say a big, fat turd.  You might start off with a description of it, and then add some odds to it for revealing different things about it. ie.

%25 chance of determining the kind of creatures that dropped it if someone opts to right click and choose "identify".
* In this case, the object would update its list of things about it that were discovered and then /say "This appears to have come from a treppor"

%75 chance of determining how long ago it was dropped based on warmth if someone chooses to right click and choose "feel"
* Likewise, it would update its state and /say "Upon inspection, it was determined that this was dumped no more than an hour prior to testing it."

%50 chance of finding a rolled up note hidden in the mush if someone chooses to right click and choose "examine"
* the state would be updated and it would /say "A rolled up note in the dung reads: 'Look for a stone 20 paces from the floating rock, and dig under it.' "

100% chance of ruining and thus deleting the object if you right click and choose "wash"

Ok, this is kind of big and perhaps far fetched, but its out there...





Jilerel

  • Hydlaa Resident
  • *
  • Posts: 112
    • View Profile
Re: A Self Modifying Object
« Reply #1 on: January 28, 2015, 07:24:55 am »
I really like the idea, could be very useful to many RPs and dungeons !

Eonwind

  • Developers
  • Hydlaa Notable
  • *
  • Posts: 815
    • View Profile
Re: A Self Modifying Object
« Reply #2 on: January 28, 2015, 08:47:27 am »
Something like this already exists (more or less) in the engine, not many knows items may be "locked" (any item, not only containers) and unlocked and it's possible to set which skill (blacksmith, weapon repair, crystal way, ... anything) can be used to unlock and at which difficulty (skill rank).

Eredin

  • Developers
  • Traveller
  • *
  • Posts: 20
    • View Profile
Re: A Self Modifying Object
« Reply #3 on: January 29, 2015, 10:37:37 pm »
If I'm understanding your suggestion - you want to add a custom menu of actions to an item, something like a limited shortcut bar with stat, skill or random percentage based actions. Intriguing notion. Let me think out loud a bit about it:

It would have to be a very limited subset of commands. Nothing that modified descriptions, shortcuts, books or items of the person activating it. It seems it might be easier to list the commands it could do, perhaps just /say And the ability to unlock itself?

Could it be that the triggers are the important element?



Rigwyn

  • Prospects
  • Forum Addict
  • *
  • Posts: 2033
  • ...
    • View Profile
Re: A Self Modifying Object
« Reply #4 on: January 29, 2015, 11:28:58 pm »

The idea is to have a user defined object for role playing purposes - one which can have hidden properties that are revealed as a result of one or more players successfully taking actions upon the object.  ( Perhaps I should have worded it that way in the first place ).

In the turd example, the initial object might be graphically represented as a book or a question mark or whatever. The description might initially be "A smelly brown lump of something." As each player takes actions on it ( ie. inspect, touch, smell, dissect, etc.. ), the description would grow to reveal both the original description plus all the things that have been discovered about it. The determination could be controlled by luck, skill, the possession of another object or a combination of the three. Also, to keep one player from dominating the discovery, it might be possible to have an optional limitation of X discoveries per user. ( This would encourage team work )

For role play, its pretty common to have objects or artifacts that are not fully understood until players actually examine, probe, or use them. The revelation of these properties and the determination of whether or not such revelations are made is usually controlled by a player/dm/gm.  In this particular case, such work could be done by the object itself.

Does this make sense up to this point?

To do this, the user would need to prepare the object in advance - giving it an initial description and then setting up the additional properties and the criteria for successfully discovering each one.  I would think that setting up choices for the right-click context menu ( ie. dissect, touch, squeeze, open, study,.... ) would be done in this setup phase too. Yes, they could be selected from a per-approved list of actions.

The same type of definable object could likewise be used for things that don't necessarily pertain to role play. Examples would be physical items that change state, mutate or transform when used or when worked on ( like weapons, potions, levers, possibly other things too ).  Another example might be a cauldron or statue/effigy that multiple players must interact with in order to activate ( Imagine mages activating a summoning ring, multiple xiosians dancing around a tree, multiple players pushing a rock. It would be fairly simple for an object to tell if X number of players tried to activate it within a 30 second period. The exact logic could be more robust )

As for how to do this, I was thinking along the lines of a class or object. ( this is what I was thinking when I originally said self modifying. My thoughts were not neatly organized at the time of writing. sorry )  where each action might be a method or function that causes it to check to see if the player is successful, and then causes it to alter its own state (ie. update its description )

As for your last sentence, as a role player, I think the discovery process is what is most important. The discovery of hidden information, and the cooperation of players in order to obtain it. If for example, a character was to sneak into a guild house or tavern and leave a clue behind, you would want players to be able to examine that clue and enjoy the process of discovering hidden aspects of it. If you just left a book with these hidden aspects in ooc bracketed text, you could accomplish the same thing, but there would be no challenge and no element of surprise.

Eredin

  • Developers
  • Traveller
  • *
  • Posts: 20
    • View Profile
Re: A Self Modifying Object
« Reply #5 on: January 30, 2015, 08:58:38 pm »
Aha! I had only a small part of the idea.

My final sentence of the last post was intended to apply to the code-object, not its impact to the game or RP. Sorry if I was unclear. In terms of RP this is a fabulous idea and I would love to see it in game!

Now lets talk purely at an abstract code-object level. I'm going to describe my current understanding of your idea and you can tell me how far off I am until we're at the same point. Then I'm going to put those results in a feature request and kick it about within the dev team.

    The player would define a starting state, a series of "triggers" -- actually let's call them "qualifiers"-- controlling a custom menu of "actions" that may be taken on the object.
    Qualifiers could check attributes, skills, possession of an item, or internal counters.
    Each action could execute one or more commands, for example /shout, /say, or /tell to the person who acted on it, or update its description or internal counters.
    All descriptions and internal counters would be shared to all clients within range as well as persist.

How's that so far?

Rigwyn

  • Prospects
  • Forum Addict
  • *
  • Posts: 2033
  • ...
    • View Profile
Re: A Self Modifying Object
« Reply #6 on: January 31, 2015, 01:02:09 am »
Yes exactly, basically a persistent class/object with the ability to be influenced/changed via access controlled methods/functions. From an oo perspective, it's a simple persistent object with public methods.

As for the implementation, it would be ideal if a player could configure and start the object. Obviously, you would want to take precautions to ensure that it is used within expected limitations. ie. That it's not turned into something nefarious like a spam machine, something with obscene entries in the context menu, or something that can be tricked into doing things with elevated privs.

Hopefully it would be fairly easy for the player to set it up.

An exhaustive implementation might allow multiple users to test any skill, faction, possessed/held item, way or spell against it but whether or not that is practical would be up to you. For all we know, the idea could flop.

Eredin

  • Developers
  • Traveller
  • *
  • Posts: 20
    • View Profile
Re: A Self Modifying Object
« Reply #7 on: January 31, 2015, 01:35:21 pm »
created PS#6780 - Scriptable Ojects

Eredin

  • Developers
  • Traveller
  • *
  • Posts: 20
    • View Profile
Re: A Self Modifying Object
« Reply #8 on: February 01, 2015, 05:07:19 pm »
We are debating the merits and drawbacks of this approach. I wonder if you could provide some detailed and compelling examples ? something not quite so stinky maybe ? ;)

Rigwyn

  • Prospects
  • Forum Addict
  • *
  • Posts: 2033
  • ...
    • View Profile
Re: A Self Modifying Object
« Reply #9 on: February 02, 2015, 01:30:19 am »
Rp example, someone has broken into a guild house, is stopped, but gets away. They leave behing a clue - a piece of their armor.

- the object in this case is the armor.
- one with armor making or armor repair skills might have a high chance of determining who made the armor, or what kind of armor it was.
- one with high alchemy skills might have a high chance detecting the presence of a unique substance on the armor - they might be able to examine a trace of blood, sweat, or hair from the armor.
- one with high crystal way skill might be able to tell that the armor was enchanted with a cw spell
- one with strong laanx faction might recognize that the armor had markings that signified that the wearer may have been a protector of the temple, or a member of an unknown laanx sect
- there may be fetas that don't require a special skill - like determining what race the armor was made for, or for which gender.

Collectively these clues might lead the rp group torward investigating one or more suspects who might fit the armor.

Crafting example:

You have an object called "raw steel blade"
Invoking a method of the object might bring the object one step closer to becoming a sword or axe. Repeated invocations of the object's methods like "hammer" "temper" "sharpen" and "polish" would eventually result in the object in question

Team effort

A huge boulder is too heavy for any one player to move. To move if three or more players would need to right click the rock and select "push" within x seconds. In this case, selecting push might invoke one of the rock's methods - telling the rock that its being pushed. The rockin this case might have a variable this gets incremented each time someone pushes it, and that gets reset every 10 seconds. If the rock sees that the counter has reached three clicks, the it rolls itself for a predermined about of time.

Rp example: mysterious artifact

A group travels into the howling well and finds a strange, ornate sword among the dead. The sword stands out because it has what appears to be a the name of a god that has never been heard of. The group decides to examine the object.

Players with high religious faction might be able to reveal bits of the object's history. The object would relay this infoto the group via the /say command.

Players with high sword skills might be able to ascertain various bits information about the objects design, possible uses, and so on.

A user with high azure way skill might intuitively know that the sword is charmed, and when they try to active that sword's aw magic, something huge is revealed to the group - perhaps a key piece of information is given, perhaps some sort of guardian appears, picks up the sword and /attacks the group with it - leaving behind yet another key clue when killed and looted.

I could come up with more uses if this is what you mean.



bilbous

  • Guest
Re: A Self Modifying Object
« Reply #10 on: February 02, 2015, 05:24:35 am »
It seems to me your testable conditions would very quickly get out of hand. Your setup form would require a list of all skills and stats that could possibly be brought to bear, and then an undefined list of other conditions that may apply. Ideally, I suppose, you would want the possibility to have the objects 2d and 3d representations be chosen so as to impart what would be readily apparent. Your armor object would look like whatever generic piece of armor it was, your blade would look like an axe blade, or whatever.

LigH

  • Forum Legend
  • *
  • Posts: 7096
    • View Profile
Re: A Self Modifying Object
« Reply #11 on: February 02, 2015, 05:39:06 am »
This concept of skill-aware information is interesting as such; unfortunately, it requires participating roleplayers to return to game mechanics and practice skills to be able to obtain information. Not every roleplayer may enjoy grinding to match their roleplayed and their mechanical skills.

Gag Harmond
Knight and Ambassador
The Royal House of Purrty