Armageddon General Discussion Board

General => Code Discussion => Topic started by: CodeMaster on August 07, 2014, 02:14:40 PM

Title: Crafting & knowing what you can make
Post by: CodeMaster on August 07, 2014, 02:14:40 PM
Correct me if I'm wrong, but it seems that there are only two ways to know which craftables you can make:

1 - you have the craftable item in your inventory and the necessary skill, and you 'analyze' the item
2 - you have the exact ingredients in your inventory, and typing "craft <ing1> <ing2> <ing3>" gives you possible craftables.

With 2, above, you could stumble upon new crafts, but the combinatorics and the typing involved are a bit daunting.

What if, at advanced/master levels of craft, you could achieve 2 with a partial ingredients list (e.g., one ingredient short)?

So, like this:

$ craft <ing1> <ing2>
You could make <item1> from this.
You could make <item2> from this.
[SUGGESTION: advanced/master crafters might see the following]
If you had <ing3>, you could make <item3> from this.
If you had <ing4>, you could make <item3> from this.

I don't know if this is a small or large coding project (might require additional data structures for efficiency), but I thought I'd throw it up on the board to see what people thought.
Title: Re: Crafting & knowing what you can make
Post by: Nyr on August 07, 2014, 02:40:22 PM
Not quite what you are looking for, but we have discussed a similar idea in the past.  However, you may be unaware of a command, analyze.

Specifically, you can (at the moment) craft with an item and see what you can make with that specific item or items.  Requirements:  must have appropriate skill, skill level, and clan to see potential crafts.  You can also analyze a finished product, in which case you can see what specific items would make that finished product.  Requirements:  must have appropriate skill, skill level, and clan to see crafting factors. 

An improvement would be:  crafting with a potential craftable and then seeing that with other unmentioned materials, you could make a specific finished product.  This has been bounced around staff-side.
Title: Re: Crafting & knowing what you can make
Post by: solera on August 07, 2014, 03:21:15 PM
Otherwise, ask a PC.   :)
Title: Re: Crafting & knowing what you can make
Post by: CodeMaster on August 07, 2014, 10:22:54 PM
Thanks both for the replies. :)

solera - Asking a PC is the third option I didn't list, you're right!  My only beef with that it can lead to minor RP inconsistencies.

By this I mean an ostensible "master weaponscrafter" with a giant fang in front of him really shouldn't need to ask Joe Grebber how to make a rudimentry longknife out of said fang, unless he's some kind of idiot-savant.
Title: Re: Crafting & knowing what you can make
Post by: solera on August 08, 2014, 05:00:30 AM
Well no. I'm sure there are good examples to support your argument, but that's not one. If you saw a knife that appeared to be made of a giant fang, you would have a play around with a fang. It's the more complicated recipes, sometimes not often seen in shops, that rely partly on PCs to teach how-to, or what-you-can-do-with-this-and-this.
Title: Re: Crafting & knowing what you can make
Post by: X-D on August 08, 2014, 06:06:15 AM
QuoteAn improvement would be: crafting with a potential craftable and then seeing that with other unmentioned materials, you could make a specific finished product


I was going to start a thread with just that suggestion.

Should be a simple mod to existing code.
and the two other suggestions on the thread are not much help since there are many "lost" crafts...ie. craftables that do not load into the game without staff help so cannot be analyzed....and people do not even know about them to even ask.  As to finding a pc that knows a craft....i have found that to be even less likely to be successful.
Title: Re: Crafting & knowing what you can make
Post by: manipura on August 08, 2014, 09:39:16 AM
QuoteAn improvement would be:  crafting with a potential craftable and then seeing that with other unmentioned materials, you could make a specific finished product.  This has been bounced around staff-side.

I'm a little on the fence with this suggestion.

On one hand, I had a crafter in a House once who spent a fair bit of time in-game trying to put combinations of 'things' together to figure out two specific craftables which were necessary to make a bunch of the other House items.  I asked other PCs if they knew anything about the two items in question and I analyzed every single item in the crafting hall and still didn't know.  I roleplayed asking the NPCs in the crafting hall, who presumably might have seen the items made at some point, and got nowhere.  I asked my employer if one of his higher-ups would be able to find a sample or something for us so I could analyze it and was told that I'd have to figure it out somehow.  Apparently these two House items that were used in a fair amount of other House items...were things that absolutely no one knew anything about, as X-D said, at that particular time the were 'lost' crafts. 
After much roleplay and trial and error, I finally did figure them out which was immensely satisfying.  However, to this day, when I think of one of them in particular I still am sort of baffled because it's one of those craft recipes where you look at the ingredients and go "Oh.  You put -those- things together and somehow it makes X.  Right...sure it does.  That makes no sense at all really, but somehow it makes the item in question.  Gotcha."  So yes, in that instance it would have been nice to have had a little hint to help the process along.

On the other hand, if I'm a merchant with most of my weaponcrafting skills at advanced or master, I'm not sure I want to sit back contemplating my piece of bone and be hit with a wall of text telling me all the possible weapons in game that incorporate that piece of bone.  Same with something like cloth-working.  If I'm a high level merchant and I have a length of linen I'm mulling over, think of the ridiculous amount of suggestions I'd be hit with by typing 'craft linen.' 

You could make ...all these things out of this linen.
If you had this colour dye you could make these other dozen things as well.
If you had this other colour dye you could make all -these- other things, too.
And with -this- other dye, all these other things.
And so on and so on.

Title: Re: Crafting & knowing what you can make
Post by: X-D on August 08, 2014, 10:11:06 AM
Actually, I would not have it go that way, as Nyr said, "unmentioned" materials.

So, What you would instead see is...

craft bone
You can craft this.
And this.
And this.

It is also part of.
This,
That
and this other thing.


You still have to figure out the parts to the second bit.
Also, It would likely not be too hard to put a toggle in so you can turn Find all and find only off and on.

IE, Find all, Find all items that take this component, inside my skills and skill range.
Find only the items that take only these components.

As to the wall of text, sure, that would be an inssue if you were simply doing a single component, But adding even one more component would shorten that drastically.

And honestly, lets face it, if you are a master clothworker, you are not typing craft sandcloth, you are typing, craft sandcloth dye diamond silk 2.diamond.
Title: Re: Crafting & knowing what you can make
Post by: CodeMaster on August 08, 2014, 01:17:09 PM
First, I'm hyped about what Nyr described is being discussed staff-side.  Screen-scroll might be an issue, but I guess that's what the MUD's built-in paging system ("[MORE]") is for.

solera took issue with my example (fair enough).  But I sincerely do think it's a good example so I want to defend and/or clarify it.

Quote from: solera on August 08, 2014, 05:00:30 AM
Well no. I'm sure there are good examples to support your argument, but that's not one. If you saw a knife that appeared to be made of a giant fang, you would have a play around with a fang.

Sorry if it wasn't clear, but in my example I had the fang, but not the knife.  OOC, I may not even know if a knife can be made from this particular fang, even though it might be perfectly plausible to do so IC. (Let's leave the issue of mastercrafting aside for a moment.)

But somewhere in the game database, amid the myriad of objects, there is "a length of black leather cord" that will enable me to craft "a black-hilted fang longknife" from this fang.  My crafter could "play around with a fang" until the cows come home, but without this (very arguably OOC) knowledge, I will still have no idea how to make this knife (or possibly any knife at all).

Sorry to be a pedant.  Onto something more lighthearted...

(http://www.badassoftheweek.com/macgyver.jpg)

MacGyver was a master crafter.  He may have never made a lockpick out of a piece of chewed bubblegum and a straw before, and he may never have discussed the possibility with another crafter.  He simply had the intrinsic ability to see how tools could be made from objects he might not have interacted with before, and I'd like to see more MacGyvers in the game - or even be one.

https://www.youtube.com/watch?v=yOEe1uzurKo (https://www.youtube.com/watch?v=yOEe1uzurKo)

[edit: fixed misspelled macgyver, added theme music link]
Title: Re: Crafting & knowing what you can make
Post by: whitt on August 08, 2014, 01:28:43 PM
Quote from: CodeMaster on August 08, 2014, 01:17:09 PM
MacGyver was a master crafter.  He may have never made a lockpick out of a piece of chewed bubblegum and a straw before, and he may never have discussed the possibility with another crafter.  He simply had the intrinsic ability to see how tools could be made from objects he might not have interacted with before, and I'd like to see more MacGyvers in the game - or even be one.

Clearly MacGyver was played by a veteran player who'd already visited all these recipes in previous characters.   ;)
Title: Re: Crafting & knowing what you can make
Post by: MeTekillot on August 08, 2014, 01:45:09 PM
That's helpful.
Title: Re: Crafting & knowing what you can make
Post by: solera on August 08, 2014, 03:06:39 PM
I get you now, Codemaster. I agree with what's been suggested in this thread. I suppose I just wanted to say don't forget the fun and challenge of the PC option.
Aaaaand  , this game's not meant to be easy X-D.  ;)
Title: Re: Crafting & knowing what you can make
Post by: The7DeadlyVenomz on August 08, 2014, 03:40:55 PM
If you needed a shard of obsidian, a black cord, and a black snake skin to make a snake-skinned hilted knife;
- When you typed craft shard, you would see:
   You can make part of a snake-skinned hilted knife.
- When you typed craft cord, you would see:
   You can make part of a snake-skinned hilted knife.
- When you typed craft snake, you would see:
   You can make part of a snake-skinned hilted knife.

I would love this a great deal - the system is too convoluted to start over with, and too obtuse to be intuitive.
Title: Re: Crafting & knowing what you can make
Post by: X-D on August 08, 2014, 04:07:22 PM
Exactly 7DV
And the bonus is, it should be an easy mod to existing code.

Allow the code to be able to search for any instance instead of just exact match, add a couple lines so it echos showing one is exact match and the other is not and we are in business.

Without making it too easy for the player or giving away all the information.
Title: Re: Crafting & knowing what you can make
Post by: WithSprinkles on August 08, 2014, 04:22:21 PM
I actually propose that instead of messing with the CRAFT command with this, you add a new command. Maybe PROBE or something.

I mean, maybe I am looking at it wrong, but some certain items, you craft (item) and you get scrolled. Imagine then having possibilities of what you could craft from those items? And some of the items I am thinking of are used in a lot of recipes. PROBE or something similar would at least only return the possibilities of recipes for missing components. And maybe I don't agree with an echo stating exactly what could be made, either. Something generic like.. PROBE (item) ...  you could make part of a knife with that.

This seems like a way for people to OCD their way through learning crafting recipes if they have the time and patience..
Title: Re: Crafting & knowing what you can make
Post by: The7DeadlyVenomz on August 08, 2014, 04:26:22 PM
If staff would put page-scroll breaks in the list, much like merchant shop lists, this wouldn't matter much.

As far as knowing the item you can make with it, yes, that needs to happen. Not some generic knife or clothing stuff, but the actual item. There's no reason not to be able to see this, since our crafting system is so unrealistic as it is. If we worked via components, by combine hilts and crossguards and blades to make weapons, for example, I could see this.

But our crafting system is not like that at all, so yes, a system that tells me that I can use an item to make part of another item seems ideal.
Title: Re: Crafting & knowing what you can make
Post by: Spud on August 08, 2014, 04:40:46 PM
I think upgrades to analyze could be useful.

As is, when you analyze a craft and get the list of items required you can find objects that are also crafts. I've always thought you should be able to find out what all items in a recipe are crafted from if you have the sufficient level.

For example, some axes and spears include items crafted with other skills (hafts, poles). I'm suggesting with the sufficient skill in say axe making, you would know how the haft is made, just not how to make one yourself. This would allow people to find the raw materials, and try to find someone with the skill they lack.
Title: Re: Crafting & knowing what you can make
Post by: WanderingOoze on August 08, 2014, 06:24:17 PM
Quote from: WithSprinkles on August 08, 2014, 04:22:21 PM
I actually propose that instead of messing with the CRAFT command with this, you add a new command. Maybe PROBE or something.


(https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSQbEKixMBELYXgNhaBpPGKXMeWGIZ6U_NmXN9WvMdKpSKdtXzb)
Title: Re: Crafting & knowing what you can make
Post by: Lizzie on August 09, 2014, 05:41:54 AM
While we're at it -

If we had ALL the correct materials, AND the actual skill to make a thing, I really wish there was a way to see the mdesc of the thing before we tried to make it. Here's why:

craft silk buttons

You can make that into a silk dress.

emote cuts the silk. She trims the hem to around shin-length, and adds a pair of cap-sleeves. Along the back, she applies half a dozen buttons for easy closure.

>You successfully make a heavily-embroidered silk dress.

examine dress

This dress has all kinds of details on it that might've been fun to emote, but you didn't know what it was supposed to look like. Also it's long, has no sleeves, and the buttons are sewn in an intricate pattern making a rosette at the hip. It's really a slip-over gown.

If we could do something like - craftdesc silk buttons (aka cdesc) that'd be awesome. Not only would we know what RP options exist for that item, but we'd also know whether or not it's even the item we want to make.
Title: Re: Crafting & knowing what you can make
Post by: Riev on August 09, 2014, 12:23:53 PM
Adding, if vaguely, that I know of some recipes that all take (food item1) + (food item2) to make Fancy Lad Snack Cakes. You can interchange food item 2 with any FLAVOR of snack cake you want, and food item 1 stays the same.


Except for these two recipes, that just require the food item 2 FLAVOR. Some of these inconsistencies are why people have trouble. I even found a cooking recipe that utilized a VERY SPECIFIC sub-craft... that was flagged House Craft only. Meaning... someone must've mastercrafted one recipe, only to have it be part of a second recipe, that was flagged as House Craft only, but the first recipe was open to the public.


If there's not going to be an (admittedly absurdly lengthy) project into normalizing some of the crafting recipes, a band aid would be a system like this, where the Database search is more of a "SELECT * FROM t_recipes WHERE component1 LIKE N'<input>' OR WHERE component 2 LIKE N'<input>'" etc etc etc. It could search all recipes that have that item as a component. Its a laggy command if the recipe table is super huge, and it would get even more lengthy if, instead of that, there are two nested queries to separate out the difference between "component" and "goes into a component of a larger recipe".
Title: Re: Crafting & knowing what you can make
Post by: FantasyWriter on August 09, 2014, 01:41:24 PM
Quote from: Lizzie on August 09, 2014, 05:41:54 AM
While we're at it -

If we had ALL the correct materials, AND the actual skill to make a thing, I really wish there was a way to see the mdesc of the thing before we tried to make it. Here's why:

craft silk buttons

You can make that into a silk dress.

emote cuts the silk. She trims the hem to around shin-length, and adds a pair of cap-sleeves. Along the back, she applies half a dozen buttons for easy closure.

>You successfully make a heavily-embroidered silk dress.

examine dress

This dress has all kinds of details on it that might've been fun to emote, but you didn't know what it was supposed to look like. Also it's long, has no sleeves, and the buttons are sewn in an intricate pattern making a rosette at the hip. It's really a slip-over gown.

If we could do something like - craftdesc silk buttons (aka cdesc) that'd be awesome. Not only would we know what RP options exist for that item, but we'd also know whether or not it's even the item we want to make.


I hardly ever emote the first time I make a new (to me) thing for that reason.
Title: Re: Crafting & knowing what you can make
Post by: Molten Heart on August 09, 2014, 06:13:34 PM
Quote from: WanderingOoze on August 08, 2014, 06:24:17 PM
Quote from: WithSprinkles on August 08, 2014, 04:22:21 PM
I actually propose that instead of messing with the CRAFT command with this, you add a new command. Maybe PROBE or something.


(https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSQbEKixMBELYXgNhaBpPGKXMeWGIZ6U_NmXN9WvMdKpSKdtXzb)

Probe is already a command.  Find out it ;-)
Title: Re: Crafting & knowing what you can make
Post by: solera on August 09, 2014, 08:20:01 PM
Question: There are some craftable items, not one off, but crafted for exclusive people or specific situations. Most of them wouldn't normally be left lying around on clan tables. I think it would be possible as 7-DV describes it, for any skilled recruit to copy it.  Do you think?
Title: Re: Crafting & knowing what you can make
Post by: icewindsong on August 24, 2014, 02:08:28 AM
Quote from: X-D on August 08, 2014, 06:06:15 AM
QuoteAn improvement would be: crafting with a potential craftable and then seeing that with other unmentioned materials, you could make a specific finished product


I was going to start a thread with just that suggestion.

Should be a simple mod to existing code.
and the two other suggestions on the thread are not much help since there are many "lost" crafts...ie. craftables that do not load into the game without staff help so cannot be analyzed....and people do not even know about them to even ask.  As to finding a pc that knows a craft....i have found that to be even less likely to be successful.

A tangent, but from reading this I had an idea that seemed interesting, though I'm only guessing at what are the lost crafts.  But the idea reading this suggested to me was that if the lost crafts could be gathered into some number of very narrow sub-crafts, then maybe a merchant could learn a random one when a craft is mastered fully?  Making saddles, or lockpicks, or ancient allenaki noble dessert-foods, or paintings, or small sand-skiffs, or whatever.  I don't know what isn't normally craftable.  Maybe they would just learn the new subcraft, or have a chance to.  Or maybe there could be an experiment command that eats money and some resource item and has a chance to uncover something?
Title: Re: Crafting & knowing what you can make
Post by: MeTekillot on August 24, 2014, 02:20:16 AM
Crafting with an item should compare it to other items in your inventory/in the room to tell you if you could craft something with those too.
Title: Re: Crafting & knowing what you can make
Post by: Reiloth on August 30, 2014, 03:27:47 AM
I think the annoying thing now is...

You have a buckle.

Craft buckle and nondescript length of linen

You can't make anything out of that.

Hmm..How about a buckle and some buttons?

Nope.

How about a buckle and some sand cloth?

Nope.

What would be nice is:

Analyze Buckle

You can make some pants with that buckle, but you need this specific type of cloth.

or

You could make pants with the buckle, but you are missing material:
list of material you can use with the buckle

I think if you are of a certain skill -- It's an apprentice recipe, and you are a journeyman for instance, you can figure out how to make it.
Title: Re: Crafting & knowing what you can make
Post by: Barsook on August 30, 2014, 08:46:22 AM
I dig that ^^^.
Title: Re: Crafting & knowing what you can make
Post by: perfecto on September 15, 2014, 05:29:40 AM
Not sure if this is the right thread for this, but its' been eating at me.

"Crafting, and having to get it resized to fit me."

Why on Tek's red earth would any crafter, of any kind, of any race, make something that doesn't fit them?

Doesn't that strike you as the basic guideline for what you're about to make? 

I find this especially annoying for any indies trying to live off the land. 

It's none too helpful having to run into town to get the new stuff you've just made from scratch re-fitted so that you can wear it.
Title: Re: Crafting & knowing what you can make
Post by: Reiloth on September 15, 2014, 01:06:53 PM
diku code, not by design.
Title: Re: Crafting & knowing what you can make
Post by: Saellyn on September 15, 2014, 02:50:13 PM
It's just difficult to change because of intrinsic code that prevents it. It would require an admin to find every craft recipe in the game, every craftable, then custom code each object that can craft things to show you a message. That would take fucking FOREVER.
Title: Re: Crafting & knowing what you can make
Post by: CodeMaster on September 15, 2014, 04:06:34 PM
Quote from: Saellyn on September 15, 2014, 02:50:13 PM
It's just difficult to change because of intrinsic code that prevents it. It would require an admin to find every craft recipe in the game, every craftable, then custom code each object that can craft things to show you a message. That would take fucking FOREVER.
what's this a response to?
Title: Re: Crafting & knowing what you can make
Post by: Saellyn on September 15, 2014, 04:09:04 PM
Perfecto.
Title: Re: Crafting & knowing what you can make
Post by: CodeMaster on September 15, 2014, 04:14:05 PM
I see!  Ok, off the cuff - stock Diku doesn't have item sizes as far as I'm aware.

I can't speak on it because I don't have the context, but I imagine Perfecto's idea could be accomplished by checking whether the item you're crafting has a size attribute, and then setting that attribute to the crafter's size if s/he succeeds in crafting it -- i.e. without going through every object in the game.

OTOH, you raise a good point in general, that some seemingly trivial changes can require new data structures and/or extensive case-by-case attention, which is often too much to justify them.
Title: Re: Crafting & knowing what you can make
Post by: Saellyn on September 15, 2014, 04:19:55 PM
Quote from: CodeMaster on September 15, 2014, 04:14:05 PM
I see!  Ok, off the cuff - stock Diku doesn't have item sizes as far as I'm aware.

I can't speak on it because I don't have the context, but I imagine Perfecto's idea could be accomplished by checking whether the item you're crafting has a size attribute, and then setting that attribute to the crafter's size if s/he succeeds in crafting it -- i.e. without going through every object in the game.

OTOH, you raise a good point in general, that some seemingly trivial changes can require new data structures and/or extensive case-by-case attention, which is often too much to justify them.

Yeah, but these are all manual things you would have to add into the game code, and it's really hard to do that stuff with only a couple coders, as good as they may be.
Title: Re: Crafting & knowing what you can make
Post by: The7DeadlyVenomz on September 15, 2014, 08:41:46 PM
Quote from: Saellyn on September 15, 2014, 02:50:13 PM
It's just difficult to change because of intrinsic code that prevents it. It would require an admin to find every craft recipe in the game, every craftable, then custom code each object that can craft things to show you a message. That would take fucking FOREVER.
I'm not discounting that theory, but how could such a change require more than a few lines in the crafting command itself that says , resize item - get character's size?
Title: Re: Crafting & knowing what you can make
Post by: Riev on September 16, 2014, 01:27:07 PM
I mean, its really just setting the size attribute on the item to be the crafters size attribute, but it might require a new method to GET the players size, and then change how crafting works...

I don't know DIKU at all, but I get the feeling it is NOT like a real coding language, and doesn't just have easy functions and methods to do everything we want it to.
Title: Re: Crafting & knowing what you can make
Post by: lostinspace on September 16, 2014, 03:56:07 PM
Last I worked in diku a character was just a struct. If the crafting skill is grabbing a stat from the character to get the chance of success, it can grab the size category as well. I think that if you can make something, you should just be able to resize it.
Title: Re: Crafting & knowing what you can make
Post by: Ouroboros on September 17, 2014, 02:09:14 PM
I think this is something many have wished for over the years. At the same time I'm on the fence on it, as I've come to find the mystery of "unlocking" recipes to be a satisfying endeavor. In a clan for example, it provides a good opportunity for senior crafters of the clan to train newer members. And perhaps release recipes to them as trust in the crafter builds. For the indie, it can provide a nice "treasure hunt" plot to track down a sample of a given item they might have seen or heard about in order to dissect it for study. But I understand I might be the minority in this.

In any case, if this was to be implemented as proposed, a solution to the spam would be simple: analyze -v <object>

Normal use of the analyze command would spit back the current message that states what the object was made from (if craftable), and adding the verbose flag would also spit back crafting recipes it's partially included in. Personally if this was added I'd also like to see the analyze skill finally be used as more than a binary state, where what recipes you can see in verbose mode would be dependent on your skill level (and not just your crafting skill level and/or clan flags).

As far as the sizing woes, which might or might not belong in this thread, the crafting code shouldn't be hard to mash up with the tailor NPC code even if it isn't that way out the box. A simple hook at the end of a successful craft that inserts the sizing code from submitting a ticket to a tailor would do the trick and get that object sized for the crafter.

However I think if effort was going to be made into adding this, it should really be added as a modification of the repair command and skill (much like armor repair NPCs function already). That way with a third input variable to the command one could repair <object> <material> to repair and/or tailor it to themselves or repair <object> <material> <target> to do so for someone else. Given the repair command uses up materials, that would effectively offset the cost of not going to an NPC. This has been a requested feature for as long as I can remember.