タグ付けされた質問 「configuration」

8
XML / JSON / Textまたはデータベースを使用してゲームコンテンツを保存する方が良いでしょうか?
コンポーネントベースのゲームを実装する方法を検討しています。それはホットなものであるように思われ、このような柔軟なデザインのアイデアが気に入っています。このような設計の機能の1つは、データを介してゲームに新しいものを追加できることです。多くの場合、XMLなどのテキストファイルを介してコンテンツをロードすることで表示されます。これには、人間が読むことができ、テキストエディタで簡単に編集できるという利点があります。欠点として、テキストの処理が遅くなる可能性があり、データファイルの大規模なコレクションを管理する必要があります。JSONや設定ファイルのような類似のテキストベースの形式には、同様の利点があります。 反対側には、SQLiteやTokyo Cabinetなどの小さくてポータブルなデータベースがあります。人間が直接読むことはできませんが、これらのファイルは簡単にインターフェイスでき、ゲームコンテンツのデザインには何らかの編集ツールが適していると思います。DBを使用すると、構成情報を一貫して保存し、簡単に取得できます。ゲームを保存するために、データをDBにシリアル化することもできます。 パフォーマンスに関しては、一般的にXMLは小さいファイルの方が速いと思いますが、データベースは大量のデータに適しています。実際のゲームには、ゲームオブジェクトがたくさんあると思います。 質問:望ましいアプローチはどれですか?私はDBに傾いていますが、テキストファイルに隠れた落とし穴や本当に強い利点があるかどうかを知りたいです。または、これら以外の選択肢がある場合(バイナリ形式にシリアル化すると思いますか?)

3
カスタムゲームエンジンの場合、コアデータの形式が正しくない、または欠落している場合はどうすればよいですか?
ゲーム用のカスタムエンジンを作成しています。代わりにミドルウェアを使用する理由を理解する前にこのゲームを開始しましたが、書き直すにはあまりにも遠すぎます。 私のデータの大部分は外部ファイルからのものであり、単にアセットを参照するのではありません。すべてのゲームオブジェクトを.JSONで定義します。しかし、悲しいかな、私は人間です。データファイルが無効な場合や、フォーマットを変更したがファイルの更新を忘れたり、ローダー自体が完全にバグがある場合があります。 何らかの理由で、カスタムエンジンで何らかの形式のアセットをロードしようとして失敗した場合、どのようなオプションがありますか? これは、不足しているリソースをどのように処理すればよいですか?、その質問はモデルやテクスチャなどのユーザー向けアセットに関するものです。悪いテクスチャはチェッカーボードに、悪い音は無音に、悪いテキストは「エラー」に置き換えることができます。私の問題は、レベル、ゲームオブジェクトの定義、GUIレイアウトなど、ゲームを実行する上でも重要なデータにあります。

5
エンティティ構成をスクリプトの外に配置するのはなぜですか?
スクリプトファイルでエンティティコンポーネントを定義する多くのゲームを見てきましたが、各エンティティを構成し、そのエンティティが持つコンポーネントを指定するとき、他のファイル形式(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 } } } このアプローチを使用する理由は既に述べましたが、これは技術的で組織的なものです。なぜこれほど多くの他の人(私が見たものから)がこれを使用するのか知りたいと思いました。


6
ゲームでの標準化された構文の使用法:はいまたはいいえ
TL; DR: Civスタイルのターンベースの戦略ゲームでルールセットを定義する際の要素としてCSSを使用する:狂気か、それとも単なる狂気か? 本当の質問: ルールセット解析ルールの設計は面倒です。そこにあるすべてのゲームは、ルールセットの解析方法について独自のルールセットを定義しているようです(もちろん、ゲームにはカスタマイズ可能なルールセットが備わっているため)。 ゲーム開発者の時間です。ルールセットの標準化されたsynatxを採用するコミュニティ? CSSはカスタマイズ可能なゲームの実行可能なオプションですか? 例:カスタマイズ可能なルールセットを持つCivのようなものを考えます。次のようにルールセットを設計できないとしたらどんなにいいでしょう。 artillery:era(modern) { range: 2; sprite: url(/isophex/artillery.png); } artillery:era(classical) { range: 1; sprite: url(/isophex/cannon.png); }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.