I played here in a
funny alchemical toy .
It is necessary to combine different elements (starting with the main ones - earth, water, air, fire) in order to get new ones.
I wondered whether it was possible to make the interaction of game elements more alchemically.
So that their interactions take place not on the basis of the list of reactions known to the developer, but on the basis of the properties of the elements that they acquire as a result of other reactions or in their structure.
So that, for example, all derivatives of a combustible element remain combustible, and it would not be necessary to prescribe for all of them their reaction with fire.
Or so that you can get gold (metal + sun) by combining ore (metal + earth), honey (sun + wax) and separating wax and earth with fire and water, as well as a bunch of other ways to connect metal with the sun.
')
Characteristics of the elements.
Elements are obtained with three characteristics:
name, components, properties.
Components form a hierarchy. Somewhere at the maximum depth there should be basic elements (Aristotle's atoms) - earth, water, air, fire.
Perhaps it makes sense to take into account the quantitative composition, as in real alchemy.
/ * For example, metals formed there by various proportions of mercury (metallicity standard) and sulfur (combustibility standard). The amount of sulfur was determined, apparently, by the degree of fusibility of the metal. * /
Properties, by and large, are determined by the composition of components and subcomponents.
/ * For example, the presence of sulfur determines the flammability. * /
But it is obvious that some properties are not derived from the components, but only from their combination.
/ * For example, a combination of incombustible components can form a tree, which itself is combustible. * /
Otherwise, it will not be possible at all to form fundamentally new properties,
to describe them with complex hierarchical patterns.
The interaction of elements must occur on the basis of their properties.
Properties themselves organize the elements into classes according to the types of possible interactions.
Interaction can occur not at the level of the elements as a whole (as in the implementation by reference), but at the component level.
Most likely, such a method should be used as a default when the element does not have special properties.
It also makes sense to try to specify / calculate the degree of activity of properties,
which would fade away at large levels of nesting components.
/ * It seems that the fire element burns on the 1st level: the sun (ether + fire), but no longer on the deeper ones: honey = wax + sun (ether + fire) - it does not burn, but it heats. * /
It may be possible to customize so that the element itself (by its composition) defines a special property. Then additional properties do not need to be described.
On the one hand, it gives greater flexibility, because it will allow to get different results in the same type of reactions.
On the other hand, it is necessary to list the same reactions for all elements of the same type.
It would be optimal to define both, with the priority of more specific reactions.
Ontology
It turns out from two parts:
- catalog of items;
- catalog of reactions;
Catalog items
attributes to compounds of components the names (or pictograms) and special properties of these compounds.
As a result of intensive frauds, unknown substances can be formed in advance.
/ * For example, iron (mercury + mars) + honey (wax + sun) = (mercury + wax + mars + sun) * /
Here you can combine the components into already known substances, and the rest to consider impurities.
/ * (mercury + wax + mars + sun) = gold (mercury + sun) + impurities (wax + mars) * /
To do this, you need to somehow determine the degree of stability of each compound.
Some weight criteria (for example, the calculation of the total number of atomic elements) do not fit here, because their total number does not change.
For the designation of any crap, pictograms can be very convenient if they are combined on a reduced scale (as in Mayan writing).
It will be very clear, because of the very complex substances components are indistinguishable.
Reaction Catalog
must determine what elements with certain properties turn into.
There are two possible approaches:
- reactions determine the transformation of elements;
- reactions determine the transformation of properties;
If you specify only the elements (considering their self-defining properties), the formulas are simple:
foo + bar → baz, foobar
/ * fire + wood → fire, coal, smoke * /
If you specify the transformation of properties, the formulas are more difficult:
foo {propfoo} + bar {propbar} → foo {propbaz} + bar {propbabaz}
/ * something {fuel} + something {burning} → something {burned} + something {extinct} * /
In this case, it is necessary to separately designate elements with changed properties.
/ *
tree {burnt} = coal {},
fire {extinct} = 0 - the fire itself disappears
lava {extinct} = lava {burning} - that is, it does not go out.
* /
And it turns out very convenient.
When describing an element, you can specify all its transformations using universal properties.
In a more universal way, the formulas should include both.
It turns out very difficult both for creation and for application,
on the other hand, it makes it possible to describe reactions with catalysts of the / * type of compound of components in the presence of fire or water * /. However, catalysts can be described with the help of special properties.
Implementation
It may turn out to be quite interesting both by itself and as part of some virtual worlds.
However, it is obvious that in order to create an ontology of a more or less integral world, one does not smoke so much.
It makes sense to do something like a wiki lab, so that everyone can experiment, invent and name new substances and properties.