新しい要素を受け取るには、その中のさまざまな要素を結合する必要があります(主要な要素から始まります-土、水、空気、火)。
ゲーム要素の相互作用をより錬金術的にすることが可能かどうかを考えました。
そのため、相互作用は、開発者に知られている反応のリストに基づいて行われるのではなく、他の反応の結果または構造内で獲得した要素のプロパティに基づいて行われます。
たとえば、燃料要素のすべての派生物は可燃性のままであり、火災とのすべての反応を登録する必要はありません。
または、鉱石(金属+地球)、蜂蜜(太陽+ワックス)を組み合わせて、ワックスと地球を火と水で分離することで、金(金属+太陽)を得ることができます。
要素の特性。
要素は3つの特性で取得されます。
名前、コンポーネント、プロパティ。
コンポーネントは階層を形成します。 最大の深さのどこかに、基本的な要素(アリストテレスの原子)があるはずです-土、水、空気、火。
おそらく、本当の錬金術のように、定量的な構成を考慮することは理にかなっています。
/ *たとえば、水銀(金属性の標準)と硫黄(可燃性の標準)のさまざまな割合でそこに形成された金属。 硫黄の量は、明らかに金属の溶解度を決定しました。 * /
一般に、プロパティはコンポーネントとサブコンポーネントの構成によって決まります。
/ *たとえば、硫黄の存在が可燃性を決定します。 * /
しかし、いくつかのプロパティは構成要素からではなく、それらの組み合わせからのみ推論されることは明らかです。
/ *たとえば、不燃性コンポーネントの組み合わせは、それ自体が可燃性のツリーを形成できます。 * /
そうしないと、根本的に新しいプロパティをまったく形成できなくなり、
複雑な階層パターンでそれらを記述する。
要素の相互作用は、そのプロパティに基づいて発生する必要があります。
プロパティ自体は、可能な相互作用のタイプに従って要素をクラスに編成します。
相互作用は、(参照による実装のように)要素全体のレベルではなく、コンポーネントのレベルで発生する可能性があります。
ほとんどの場合、要素に特別なプロパティがない場合、このメソッドをデフォルトとして使用する必要があります。
また、プロパティのアクティビティの程度を示したり計算したりすることは理にかなっています。
コンポーネントのネストが高レベルになるとフェードアウトします。
/ *第1レベルで火の要素が燃えるという事実のように:太陽(エーテル+火)、しかし深部ではもはやありません:蜂蜜=ワックス+太陽(エーテル+火)-それは燃えませんが、加熱します。 * /
おそらく、要素自体が(構成によって)特定のプロパティを決定するように配置できます。 その場合、追加のプロパティを記述する必要はありません。
一方では、同様の反応で異なる結果を得ることができるため、これにより大きな柔軟性が得られます。
一方、同じタイプのすべての要素に対して同じ反応を列挙する必要があります。
より具体的な反応を優先して、両方を決定することが最適です。
オントロジー
2つの部分から取得されます。
-要素のカタログ。
-反応のカタログ;
アイテムカタログ
名前(またはアイコン)のコンポーネントの化合物の属性、およびこれらの化合物の特別なプロパティ。
激しい詐欺の結果として、以前は未知の物質が形成される可能性があります。
/ *たとえば、鉄(水銀+火星)+蜂蜜(ワックス+太陽)=(水銀+ワックス+火星+太陽)* /
ここでは、成分を既知の物質に結合することができ、残りは不純物と見なすことができます。
/ *(水銀+ワックス+火星+太陽)=金(水銀+太陽)+不純物(ワックス+火星)* /
これを行うには、各化合物の安定度を何らかの方法で決定する必要があります。
一部の重み付け基準(たとえば、アトミックエレメントの合計数のカウント)は、合計数が変わらないため、ここでは適切ではありません。
ピクトグラムは、(マヤの執筆のように)縮尺を合わせて組み合わせると、がらくたを指定するのに非常に便利になることがあります。
非常に複雑な物質では成分が区別できないため、非常に明確になります。
反応カタログ
特定のプロパティを持つ要素がどのようになるかを決定する必要があります。
ここでは2つのアプローチが可能です。
-反応は、要素の変換を決定します。
-反応は、プロパティの変換を決定します。
エレメントのみを指定する場合(それらの自己決定プロパティーを考慮して)、式は単純です:
foo + bar→baz、foobar
/ *火+木→火、石炭、煙* /
プロパティの変換を指定すると、式はより複雑になります。
foo {propfoo} + bar {propbar}→foo {propbaz} + bar {propbabaz}
/ *何か{fuel} +何か{burning}→何か{burnt} +何か{extinct} * /
この場合、プロパティが変更された要素を個別に指定する必要があります。
/ *
木{焼け} =石炭{}
fire {extinct} = 0-火災自体が消えます
溶岩{絶滅} =溶岩{燃える}-つまり、外に出ません。
* /
そして、非常に便利です。
要素を記述する場合、ユニバーサルプロパティを使用してそのすべての変換を指定できます。
より普遍的な方法では、式には両方を含める必要があります。
作成とアプリケーションの両方で非常に難しいことがわかりましたが、
しかし、それは触媒との反応を記述することを可能にします/ *火や水の存在下での成分の組み合わせ* /。 ただし、触媒は特殊な特性を使用して記述することもできます。
実装
それ自体、および一部の仮想世界の構成の両方で非常に興味深いことがわかります。
ただし、多かれ少なかれ統合された世界のオントロジーを作成するために、1つであまり喫煙することはできないことは明らかです。
誰もが新しい物質や特性を実験し、発明し、命名できるように、Wikiラボのようなことをするのは理にかなっています。