スクリプトファイルでエンティティコンポーネントを定義する多くのゲームを見てきましたが、各エンティティを構成し、そのエンティティが持つコンポーネントを指定するとき、他のファイル形式(XMLなど)を使用します。なぜ彼らはそれをするのですか?
私は主に他の人の根拠がこれについて何であったかを確認するように求めています。私はまた、(私はXML JSONを選択しなかったが)外のスクリプトの私のエンティティを設定します。これを行う理由は、セーブゲームを簡単に実装できるようにするためです。また、この種の構成はXMLやJSONのようなものに整理するほうがよいと思うからです。
@ クリストファーラーセンの答え: コメントとして投稿するには長すぎる
質問の主題から少し逸脱しているのではないかと思います。あなたが説明している問題は、階層ベースのエンティティにより関連しています。私の質問では、コンポーネントベースのエンティティについて話していることを述べました。
これが私が聞きたかった例です。以下は、エンティティを構成する2つの代替方法です。スクリプトを使用する方法と外部JSONファイルを使用する方法です。私の質問は、なぜ多くの人がスクリプトの外でエンティティを構成することを好むのかということでした。
基本エンティティクラス:
class Entity:
def __init__(self, name):
pass
def addComponent(self, comp):
pass
スクリプトのアプローチ:
orc = Entity('Orc')
orc.addComponent(PositionComponent(3.4, 7.9))
JSONアプローチ:
{
"name" : "Orc",
"components":
{
"PositionComponent": {
"x" : 3.4,
"y" : 7.9
}
}
}
このアプローチを使用する理由は既に述べましたが、これは技術的で組織的なものです。なぜこれほど多くの他の人(私が見たものから)がこれを使用するのか知りたいと思いました。