Dynamically-generated object descriptions
Goto page 1, 2  Next
 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
Grem



Joined: 15 May 2005
Posts: 36
Location: Maryland

PostPosted: Wed Jun 01, 2005 9:55 pm    Post subject: Dynamically-generated object descriptions Reply with quote

Does anyone have a system that dynamically generates object systems? How would you personally go about doing it?

One idea would be to have each flag on an object modify it's description. You could have a base object type 'sword', and add flags like 'steel', 'sharp', 'rusty' to generate the sword's description. Even better, the sword flags could be modified in realtime, which would immedietely effect the sword's description.

Of course, some objects will need custom strings for their description, so an optional custom string could be placed on objects by builders. This would be essential for certain quest items.

Items could have size also, that effect the description of it. So a key that weighs 20 pounds would obviously be described to the player as an extremely large key, whereas a 20 pound bed would be described as extremely small. In other words, the descriptions would be automatically written based on 'averages' of the object.

Some item descriptions could even change based on their current world value. If there is a lot of silver available in the world, silver would be considered 'extremely common', whereas some resources, if nearly depleted, would be 'extremely rare'. So lets elaborate on this system so that we can eliminate the need for the to manually describe each and every type of rusty sword!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Wed Jun 01, 2005 10:16 pm    Post subject: Re: Dynamically-generated object descriptions Reply with quote

Grem wrote:
Does anyone have a system that dynamically generates object systems?


Yes, all of my object descriptions are dynamically generated. Swords become notched and blood-stained, armour gets dented when struck, clothing gets wet when you wade into water, and so on.

Quote:
How would you personally go about doing it?


Each Thing has a GetDescription() method, which is called whenever you want to see its name. For an Object, this method is overloaded to generate a description based on numerous factors such as item name, colour, material, blood, water, damage, ammo, etc.

It can become quite long winded though, when you end up with objects like "a peasant's blood-stained cut up slightly nibbled severed arm".
Back to top
View user's profile Send private message Visit poster's website
Author Message
Traithe



Joined: 13 May 2005
Posts: 50

PostPosted: Wed Jun 01, 2005 10:20 pm    Post subject: Re: Dynamically-generated object descriptions Reply with quote

KaVir wrote:
It can become quite long winded though, when you end up with objects like "a peasant's blood-stained cut up slightly nibbled severed arm".


Does the system generate full descriptions as well - the things you get when you actually LOOK at an object?

Seems to me those would be the most difficult part by far.
Back to top
View user's profile Send private message Visit poster's website
Author Message
eiz



Joined: 11 May 2005
Posts: 152
Location: Florida

PostPosted: Wed Jun 01, 2005 10:21 pm    Post subject: Re: Dynamically-generated object descriptions Reply with quote

KaVir wrote:

It can become quite long winded though, when you end up with objects like "a peasant's blood-stained cut up slightly nibbled severed arm".


What was the one I had? A blood-stained slightly nibbled cut up chocolate longsword? Yeah, it's a bit windy. You should cap the number of adjectives.

As for generating the description, it's pretty easy. The simplest case is to just look at the material and condition of the item. Generating a full description would be much more work. For that you might want to logically break the object down into a set of sub-objects (e.g. the hilt of a sword) or features and describe those. This would allow more dynamic behavior, but is probably also much more work for a builder.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Traithe



Joined: 13 May 2005
Posts: 50

PostPosted: Wed Jun 01, 2005 11:35 pm    Post subject: Re: Dynamically-generated object descriptions Reply with quote

eiz wrote:
For that you might want to logically break the object down into a set of sub-objects (e.g. the hilt of a sword) or features and describe those. This would allow more dynamic behavior, but is probably also much more work for a builder.


Yeah, this is more or less what I'm planning for Etherea... hasn't been fully sketched out yet (or even sketched out at all really, heh), but the basic idea is that each object will contain references to all the other component objects used to build it.

Will allow for player-blind crafting, dynamic descriptions, material saving throws/modifiers, easily auto-genned EQ, etc.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Grem



Joined: 15 May 2005
Posts: 36
Location: Maryland

PostPosted: Thu Jun 02, 2005 9:47 pm    Post subject: RE Reply with quote

Im considering changing my object system to something like what you've suggested Traithe. But I wonder how objects should 'attach' to one another. Dynamic object descriptions are definitely the direction id like to go though, since ive also implemented dynamic mob and room descriptions - I might as well go the whole nine yards!

I do wonder how builders will be able to create objects by attaching other objects to them though. Can we brainstorm some ways that objects could be randomly generated by base resources? Instead of builders being required to create a 'steel longsword', they should just create a hilt and longsword blade. Players can then craft a 'steel longsword'. That means, builders shouldnt need to create a 'steel longsword'. The object description would read something to the effect of 'a steel hilt grafted to a steel longsword blade'. Hmmm...
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Author Message
Lindahl



Joined: 29 May 2005
Posts: 56

PostPosted: Thu Jun 02, 2005 11:44 pm    Post subject: Reply with quote

When I was working on a previous mud, I drew up a description pick-list indexed by object type. The builders could pick various qualities that each object had. Administration could add whatever qualities they wanted. They weren't functional in any way, but they were used for control purposes. You certainly could add functional adjectives as well without too much trouble. For instance, if you wanted to add the hilt to the description, you'd look at the various choices for hilt-styles and adjectives and choose what you wanted. There was a limit to keep things from becoming too gaudy or long-winded, but it worked for both short and long descriptions. If you couldn't find what you were looking for, you could ask the administration (or a head builder, for instance) to add what you needed to the list, providing it wasn't too far out there. It helped eliminate spelling mistakes and wording that wasn't consistent with common sense.

So it never went as far as breaking objects into components - you lose a lot of flexibility here, I think - but CPU generation of craftables works a bit better, making the system more mechanical. I never liked that idea to begin with, I prefer morphing objects when crafting, but that generally requires specific code for each craft (whether soft or hard code, doesn't matter) - but to each his own.
Back to top
View user's profile Send private message
Author Message
Molly O'Hara



Joined: 11 May 2005
Posts: 99
Location: Sweden

PostPosted: Fri Jun 03, 2005 7:03 am    Post subject: Reply with quote

How about keeping the longwinded description to the actual look desc and keep the long and short descs simple?

We are in the process of implementing Craftskills, including weaponsmith and armour skills in my mud. Typically a weapon in our system would consist of three parts, the blade, the hild and the pommel. All three parts and the materials they are made from influence the quality of the end product, as does things like 'engraving','filigree', bejewelling', 'honing' and 'polishing'. The descs will be auto generated from these factors, plus the possible flaws created by the lacking skill of the crafter.

Now I certainly would hate ending up with a 'short desc' like
Quote:
'a slightly dented mithril blade longsword, with an engraved ebony hilt and a gold pommel decorated with filigree work, honed and polished to perfection'.


That would look a lot more cheesy than impressive to me. I'd much prefer something short and simple like
Quote:
'an almost perfectly crafted mithril longsword'


But if the 'look desc' would give all those details, it would be cool. It could pick from a number of sentences and adjectives generated by the crafting process. Something like:
Quote:
'The longsword is almost without flaw, except for a slight dent in the mithril blade. The hilt is made from ebony, engraved with the name of the owner and polished to to a glowing lustre. The pommel is made of pure gold, decorated with exquisite filigree work. The edge of the blade is very sharp, honed to perfection.'


That would to me be the best way to use code generated descs on an object.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Author Message
Lindahl



Joined: 29 May 2005
Posts: 56

PostPosted: Fri Jun 03, 2005 4:56 pm    Post subject: Reply with quote

Molly O'Hara wrote:
How about keeping the longwinded description to the actual look desc and keep the long and short descs simple?


I agree, and it's quite easy to do such. Limit the short description to only those adjectives that describe the functional parts of the item (and not it's components). For example, the functional attributes of a sword would be the material and perhaps the quality of the blade (dented, notched, serrated, pristine, sharp, well-balanced, etc.). It's quite item-dependent, of course. But thats why object-oriented programming languages and virtual functions are so nice. You don't have special case code all over the place.
Back to top
View user's profile Send private message
Author Message
Ashon



Joined: 11 May 2005
Posts: 86
Location: Seattle

PostPosted: Wed Jun 08, 2005 3:12 pm    Post subject: Re: Dynamically-generated object descriptions Reply with quote

eiz wrote:

As for generating the description, it's pretty easy. The simplest case is to just look at the material and condition of the item. Generating a full description would be much more work. For that you might want to logically break the object down into a set of sub-objects (e.g. the hilt of a sword) or features and describe those. This would allow more dynamic behavior, but is probably also much more work for a builder.


For my Tabletop game (the world which I will be basing my mud off of), I use Tablesmith which is a Random Generator of sorts. But I wanted to be able to have consistent descriptions for my more mundane 'treasure'. And what I did was I templated each Item that I wanted into it's functional parts as you suggested. And then because each cultural or area has a different type of use/development. And each blacksmith has different additions to the item. So a longsword from region x by blacksmith y is going to look a lot like a longsword from region x, but the craftmanship, materails, and decorations are going to be different from blacksmith z.

It comes down to how far into the minutia that you want to get into. But as I've found the further into the minutia that I got the more interesting items became. Because of my mindfullness to OOP design theory, I've kept things pretty relevant. And since I'm unsure of the usefulness of builders in the traditional sense, I am attempting to make take the building away from the builders and incorporate it into the code. So Dynamic Descriptions, both the long/short/name and full descriptions are easy for me to generate, change, and adapt as the situation demands. And while I fully expect it to start off, as rather blah, it becomes easy to extend and expand the power of these descriptions.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Author Message
Grem



Joined: 15 May 2005
Posts: 36
Location: Maryland

PostPosted: Thu Jun 09, 2005 11:44 pm    Post subject: RE: Reply with quote

Here's what my dynamic object system is looking like so far.

Builders can add 'description flags' to objects, which effects the description of the object when loaded. Each flag can have value from 1 - 10 (1=minor,10=major).

When the object is loaded, it's short description is described based on it's major flags. When you look at the object, there will be a paragraph description detailing all of it's description flags.

Here's a screenshot of what ive got so far:
http://www.epicpermana.com/objects.png

Im running the client at an 'unsupported' resolution so that I can fit everything on the screen, so parts of it may look garbled and ugly.


Things to notice:
- You're looking at a basic 'wooden sword', but the MUD adds adjectives to it because the world builder has added a 'hilt', 'blade', and 'pommel' flag to it. Notice how builders also have the ability to add flags to the object without adding to the description of the object (this allows the object to undertake the stat, but allows builders to write their own description segments).
- Notice how builders are still able to add custom description strings, the 'name' and 'description' of the object. This way, they can create static quest items.
- Notice how objects automatically write themselves to be grammatically correct: Two wooden shortswords with pristine hilts lie next to you.


Comments? Suggestions? Im still working on plans of how to introduce a crafting system to this design.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Author Message
kelson76



Joined: 27 Jun 2005
Posts: 30

PostPosted: Mon Jun 27, 2005 12:25 am    Post subject: Re: Dynamically-generated object descriptions Reply with quote

In engineering you make tradeoffs....

My concern w/ auto generated descriptions is it reduces the variety in the MUD. In the end, you wind up with to many items having the same description.

I think for the average mud, you will fnd yourself w/ less variety using auto-generated descriptions. In something like God Wars, it may not be as important to have alot of unique items. But in a standard mud, it's unique items that add alot of the depth to the world.

Is the time spent trying to create a system for auto-generated items worth it, or is it better to focus on spending the time creating unique items?

Just a thought....

- Kelson
Back to top
View user's profile Send private message AIM Address
Author Message
Spazmatic



Joined: 18 May 2005
Posts: 76
Location: Pittsburgh, PA

PostPosted: Mon Jun 27, 2005 4:29 am    Post subject: Reply with quote

Quote:
My concern w/ auto generated descriptions is it reduces the variety in the MUD. In the end, you wind up with to many items having the same description. ... Is the time spent trying to create a system for auto-generated items worth it, or is it better to focus on spending the time creating unique items?


I believe you're making the false assumption that generated descriptions are fundamentally limited and repetitive. I can't say that's not the case for most description generation systems out there - namely because, in truth, most of them are horrible. However, much like a name generator can generate a far greater variety for the same amount of work than a large, hand-written list (asymptotically, anyways), why shouldn't a description generator eventually be able to outperform human content, at least in terms of raw variety? (If not interest or originality, an entirely different set of problems).
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Jun 27, 2005 7:35 am    Post subject: Reply with quote

Quote:
My concern w/ auto generated descriptions is it reduces the variety in the MUD.


Not really - the variety is limited only by the number of description rules you create (just as the variety in a regular mud is limited by the number of descriptions you create).

For room descriptions you usually want each description to be unique, and in that respect the generated descriptions can fall short. But for object descriptions, you're generally creating a template from which all instances of that object are constructed, and as such it's no longer a requirement that each object have a unique description.

Quote:
In the end, you wind up with to many items having the same description.


You'll end up with this regardless, but with hand-written descriptions you'll end up with a large number of items which have identical descriptions - while using the generated approach, each description will vary somewhat to suit the particular instance of item it refers to.

Quote:
Is the time spent trying to create a system for auto-generated items worth it, or is it better to focus on spending the time creating unique items?


If you want each individual item to be unique, then I'd say that auto-generating them is the only reasonable way to do so. If you want each item template (from which any number of items can be cloned) to be unique, then either approach could work, although you can provide a bit more variety to each instance via generated items.

However IMO the main strength of generated object descriptions isn't the variety, but rather the ability to change on the fly to accurately reflect the current attributes of the object. To see your longsword become notched and blood-stained during battle, your trousers become wet as you wade into the ocean, your shirt change colour after being dipped in dye, your breastplate transform from bronze into steel via alchemical magic, your food become nibbled as you take bites from it, and so on. This is the sort of thing which makes the game feel more immersive to me.
Back to top
View user's profile Send private message Visit poster's website
Author Message
kelson76



Joined: 27 Jun 2005
Posts: 30

PostPosted: Mon Jun 27, 2005 6:54 pm    Post subject: Reply with quote

KaVir wrote:
Quote:
My concern w/ auto generated descriptions is it reduces the variety in the MUD.


Not really - the variety is limited only by the number of description rules you create (just as the variety in a regular mud is limited by the number of descriptions you create).

For room descriptions you usually want each description to be unique, and in that respect the generated descriptions can fall short. But for object descriptions, you're generally creating a template from which all instances of that object are constructed, and as such it's no longer a requirement that each object have a unique description.

Quote:
In the end, you wind up with to many items having the same description.


You'll end up with this regardless, but with hand-written descriptions you'll end up with a large number of items which have identical descriptions - while using the generated approach, each description will vary somewhat to suit the particular instance of item it refers to.

Quote:
Is the time spent trying to create a system for auto-generated items worth it, or is it better to focus on spending the time creating unique items?


If you want each individual item to be unique, then I'd say that auto-generating them is the only reasonable way to do so. If you want each item template (from which any number of items can be cloned) to be unique, then either approach could work, although you can provide a bit more variety to each instance via generated items.

However IMO the main strength of generated object descriptions isn't the variety, but rather the ability to change on the fly to accurately reflect the current attributes of the object. To see your longsword become notched and blood-stained during battle, your trousers become wet as you wade into the ocean, your shirt change colour after being dipped in dye, your breastplate transform from bronze into steel via alchemical magic, your food become nibbled as you take bites from it, and so on. This is the sort of thing which makes the game feel more immersive to me.


It could be that my perception of common auto-generated descriptions is a bit shallow. When I heard auto-generated descriptions, I picture "Item = Sword", Keywords = "Notched, Rusty", Description = "A notched and rusty sword." Often objects have short and long descriptions, one for it laying on the floor, another when you look at it.

I am assuming that both would be auto generated, which in the case of a long description, would be rather bland. I think that for a large number of items, it would certainly make sense, and I really like the dynamic aspects of changes that may have occured to an item to be reflected.

However, I think that adding dynamic effect keywords in a description that an be dynamically updated might be more effective than generating the entire description from keywords.

For instance.....

A <attrib:color> finely woven tunic.

tunic->attrib->color == "blue"

A blue finely woven tunic.

> put "green dye" pot
> dip tunic pot

A green finely woven tunic.

Or to extend...

A <attrib:color> <attrib:quality> tunic.

A brown well-worn tunic.

However, the point being, using keywords to make manually created descriptions dynamic. I would not refer to this as auto-generated descriptions, but dynamic description modifiers.

Just a thought.....

- Kelson
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign