« first day (3 days earlier)      last day (20 days later) » 

02:32
@El'endiaStarman hi
hey
So, uh, a little more than 2 hours, huh?
just a couple
same order of magnitude, though
Well, to be fair, I was physically back at the house within about 2 hours, but my fiancée's family is the reason I didn't get back to my computer until just now... :P
Have you considered not getting engaged?
cat material{bool malleable false;opt metal{malleable},wood}
this is how I would describe the fact that metal is malleable but wood isn't.
> Do you have any way of specifying contradictory attributes?
Does that answer your question at all?
@PhiNotPi Heh heh, she read that. You're in trouble now.
02:47
lol
@PhiNotPi Well, that question came to mind because of that "black block of water". Reminded me of "Colorless green ideas sleep furiously", which is a sentence that is semantically valid, thus generatable by computer programs that only know about syntax and semantics, but meaningless (unless you give it a meaning through fairly contrived means).
@El'endiaStarman So, there probably is something worth doing about that.
First, well there's nothing yet that gives meaning to tags other than the tags.dat file, period.
(Well, I'm currently working on code to compute mass as a function of density * volume, but that's not really the point).
Second, my random item generator picks random values for all possible categorical tags that an object could have.
Which, isn't really how random stuff would be generated in the game.
But, there's still nothing other than hardcoding that would tell the program to "not generate shapes for liquids" etc.
so there could be motivation to add that functionality
@El'endiaStarman are these pings annoying or helpful in any way?
03:06
Well, you can specify in some way that liquids fill their container, so they have to be in a container to be used as an ingredient.
Or somehow specify that liquids can't have a shape attribute such as "block".
or maybe, drastically different items like liquids can't really be described other than hardcoding what they can't have (in the form of a Java subclass for them).
Perhaps, yeah. I'm sure other instances with solid objects will pop up.
What if I have phase-changes?
water and ice, for example, if the temperature drops below freezing?
I think this is getting into Scribblenauts territory...
@El'endiaStarman I was actually thinking so, too.
Scribblenauts is pretty cool, though.
03:32
I'm going to bed.
 
11 hours later…
14:34
Hello again.
14:54
@El'endiaStarman I just thought of a situation in which fluids can have shapes: magical beasts.
Not such a simple crafting game anymore, huh? :P
But yes, you do have a point there.
@El'endiaStarman should I place a limit of one type of item produced by each crafting recipe?
How do you mean?
Simple example: you expend wood fuel and iron ore to make iron, but (in addition to iron), there are additional byproducts like ash.
15:13
So what would the limitation be on?
Well, it's a question of whether I should include byproducts, and how "extensive" they should be.
ahh, okay
I think it'd be neat to have byproducts. Or multiple results of a single recipe.
Part of the difficulty being how the properties of the products are derived from the ingredients.
ahh, right
Especially if you're going to allow alloying of metals.
I have to specify which reactants dictate which properties of which products.
15:16
Sometimes the products won't have the properties of either of the reactants. Classic example: sodium chloride.
Yeah.
Sodium explodes violently on contact with moisture. Chlorine is a very poisonous gas. We eat their product all the time. :P
Other times, one of the reactants comes out identical or almost identical, like a catalyst.
Examples of catalysts: using an anvil to shape metal, a furnace to burn fuel, etc.
15:18
Platinum is an oft-used catalyst in chemical reactions.
Enzymes are catalysts too.
What I'm currently missing is a way to describe how the products relate to the reactants.
Two part solution:
Oh, another case: photoreceptors in our retinas change shape in response to light, after which they don't respond to further stimulation, and take time to revert back to their original shape.
The ingredients (each of which matches a reactant) are labeled either as a catalyst or a consumable.
Consumables are destroyed, catalysts might only have minor modifications made to them.
Next, the recipe has a list of "created" products.
Each of these created products is in the form of a "template" item, that has every "general" property filled out. Each of these products is associated with a list of ingredients from which they derive more specific values.
For example, a created product might be [metal][ingot] (which is associated with the ingredient [metal][ore]).
If one of the associated reactants has a more specific form of a tag, then the more specific tag is used. Like, if the reactant was [iron][ore] then the [metal] in the product would be replaced by [iron] to form an [iron][ingot].

« first day (3 days earlier)      last day (20 days later) »