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

6
ゲームデータを保存するのに適したファイル形式は何ですか?[閉まっている]
いくつかのカスタムゲームデータを保存する必要があります。地図、プレーヤーなど それらすべてに「サブオブジェクト」があります。たとえば、マップとマップにはタイルの「配列」があります。すなわち、階層データ。うまくいけばバイナリはありません。 これらに適したフォーマットは何でしょうか? これまで私は考えてきました: シリアル化:これは高速で簡単ですが、基になるクラスを変更すると壊れる傾向があります:( XML:これを解析するのは本当に嫌いです。私のテストケースは100行以上のコードであり、非常に単純な形式でさえ、「忙しい仕事」のように思えました。 INI:階層データにとっては本当に不器用です。 Protobuf:使用したことはありませんが、クラスを変更した場合は、手作業で何度もいじり、中断する必要があることを読んでください。 別のオプション?だから私はここにいる! 編集:これはJava btwです。 編集2: 「Controlled Binary Serialization」に決めました(以下を参照)。 長所: これは速い (ディスク上)小さく、読み取り/書き込み中に簡単に圧縮/解凍できます。 ゲームやツールセットからの読み取り/書き込みは非常に簡単です。 オブジェクトに含める/除外するものを決定できます。 オブジェクト/データはネストできます。 短所: 手動で編集することはできません(XML、YAMLなど) スクリプトで簡単に読み取り/変更できない デフォルトでは、Javaシリアル化は他の実装に比べてかなり遅い/肥大化していますが、安定して動作します
37 java  file-format  xml  data  file 

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

3
チームはソースファイルの上書きをどのように防止しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 たとえば、ゲームエンジンなどが複数の人によって同時に処理されているときに、上書きをどのように防ぐことができるのか、ということが起こりました。 開発者1が作業してAudio.cppおり、開発者2も作業をしているとしましょう。Audio.cppこれは、一般的に大規模なチームで上書きに対処するためにどのように管理されていますか?(つまり、開発者2がファイルを開くのを停止して、開発者1が終了するまで)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
データの保存方法の選択方法
男に魚を与えて、あなたは一日彼を養います。男に魚を教えると、あなたは一生彼を養います。 - 中国のことわざ 実際のプロジェクトにどのようなデータストレージを使用すべきかを尋ねることができますが、釣りを学びたいので、新しいプロジェクトを始めるたびに魚を求める必要はありません。 そのため、ゲーム以外のプロジェクトにデータを保存するためにXMLファイルとリレーショナルデータベースの2つの方法を使用するまでは。NoSQLのような他の種類のデータベースもあることを知っています。しかし、私が利用できる選択肢が他にあるかどうか、または最初に任意に選択する以外にどのように選択するかはわかりません。 質問は次のとおりです。ゲームプロジェクトのデータストレージの種類はどのように選択すればよいですか。 そして、私は選択するときに次の基準に興味があります: プロジェクトのサイズ。 ゲームが対象とするプラットフォーム、および使用される開発プラットフォーム。 データ構造の複雑さ。 多くのプロジェクト間でデータの移植性を追加しました。 追加 2異なるプロジェクト間でのデータの無制限の使用。(つまり、ユーザーデータ) データにアクセスする頻度を追加しました 同じアプリケーションに複数のタイプのデータを追加 追加2複数のデータストレージを備えた構成。 何を使用するかを決定する際に、あなたが考える他のポイントは興味深いものです。 編集私は知っていますXML / JSON / Textまたはデータベースを使用してゲームコンテンツを保存する方が良いでしょうか?、しかし、それは私のポイントを正確に扱っていないと思った。今私が間違っていれば、私は私の方法でエラーを喜んで表示されます。 EDIT2関連性があると思われるいくつかのポイントを追加しました。さらに、フラットファイルストレージとリレーショナルデータベースは別として、他にどのようなオプションが利用可能かを聞きたいと思います。たとえば、非リレーショナルデータベースはどうでしょうか。前述のその他のオプションよりもこのようなデータベースを使用することが適切な場合は?
25 databases  data  xml 

7
ゲームデータ用の「バイナリXML」?
私は、データをXMLとして保存するレベル編集ツールに取り組んでいます。 これは、データ形式を少し変更するだけで簡単であり、ツリーのようなデータでもうまく機能するため、開発中に理想的です。 ただし、欠点は、主にタグ名と属性名が重複しているため、XMLファイルがかなり肥大化することです。また、数値データがネイティブデータ型を使用するよりもかなり多くのスペースを使用するためです。小さいレベルでは、1Mb +になります。特に、メモリが比較的限られているiPhoneやその他のデバイスでゲームにシステムを使用する場合は、これらのサイズを大幅に小さくしたいと思います。 メモリとパフォーマンスの最適なソリューションは、XMLをバイナリレベルの形式に変換することです。しかし、私はこれをしたくありません。フォーマットをかなり柔軟に保ちたい。XMLを使用すると、オブジェクトに新しい属性を簡単に追加でき、古いバージョンのデータが読み込まれた場合はデフォルト値をオブジェクトに設定できます。そのため、属性を名前と値のペアとして、ノードの階層を維持したいと思います。 しかし、これをよりコンパクトな形式で保存する必要があります-タグ/属性名の大量の重複を削除するためです。ネイティブタイプの属性を指定することもあります。たとえば、浮動小数点データは、テキスト文字列としてではなく、フロートあたり4バイトとして格納されます。 Google / Wikipediaは、「バイナリXML」はほとんど新しい問題ではないことを明らかにしています-すでに何度も解決されています。ここに誰かが既存のシステム/標準のいずれかで経験を持っていますか?-ゲームの使用に理想的なものはありますか?-無料の軽量でクロスプラットフォームのパーサー/ローダーライブラリ(C / C ++)が利用可能ですか? それとも、自分でこのホイールを再発明すべきですか? または、理想を忘れて、生の.xmlデータを圧縮するだけで(zipのような圧縮でうまく圧縮する必要があります)、ロード時にメモリ/パフォーマンスヒットを取得する方が良いでしょうか?
17 tools  xml  compression 

1
MUDスタイルのテキストベースの世界でレベル/部屋を整理する
私は小さなテキストベースのアドベンチャーゲームを書くことを考えていますが、技術的な観点から世界をどのように設計するべきかは特にわかりません。 私の最初の考えは、XMLでそれを行うことで、次のようなものを設計しました。XMLの膨大な山をおologiesびしますが、私が何をしているかを完全に説明することが重要だと感じました。 <level> <start> <!-- start in kitchen with empty inventory --> <room>Kitchen</room> <inventory></inventory> </start> <rooms> <room> <name>Kitchen</name> <description>A small kitchen that looks like it hasn't been used in a while. It has a table in the middle, and there are some cupboards. There is a door to the north, …

7
タイルマップデータを保存する良い方法は何ですか?
私はいくつかの大学の友人と2Dプラットフォーマーを開発しています。.txtファイルを使用してタイルマップを保存するXNA Platformer Starter Kitに基づいています。これは単純ですが、レベル設計で十分な制御と柔軟性を提供するものではありません。いくつかの例:コンテンツの複数のレイヤーに複数のファイルが必要な場合、各オブジェクトはグリッドに固定され、オブジェクトの回転、文字数の制限などが許可されません。したがって、レベルデータの格納方法について調査しています。およびマップファイル。 これは、タイルマップのファイルシステムストレージのみに関係し、ゲームの実行中にゲームで使用されるデータ構造には関係しません。タイルマップは2D配列に読み込まれるため、この質問はどのソースから配列を埋めるかに関するものです。 DBの理由:私の観点からは、データベースを使用してタイルデータを保存するデータの冗長性が少ないと思います。同じ特性を持つ同じx、y位置のタイルは、レベルごとに再利用できます。特定のレベルで使用されているすべてのタイルをデータベースから取得するメソッドを作成するのは十分簡単だと思われます。 JSON / XMLの推論:視覚的に編集可能なファイル。変更はSVNを介してはるかに簡単に追跡できます。しかし、繰り返しコンテンツがあります。 どちらかが他に比べて欠点(ロード時間、アクセス時間、メモリなど)がありますか?そして、業界で一般的に使用されているものは何ですか? 現在、ファイルは次のようになっています。 .................... .................... .................... .................... .................... .................... .................... .........GGG........ .........###........ .................... ....GGG.......GGG... ....###.......###... .................... .1................X. #################### 1-プレーヤーの開始点、X-レベル出口、。-空のスペース、#-プラットフォーム、G-宝石
12 xna  c#  xml 

3
shmupレベルを保存する方法は?
私は2Dのshmup(すなわちAero Fighters)を開発していますが、レベルを保存するためのさまざまな方法について疑問に思っていました。敵が独自のxmlファイルで定義されていると仮定すると、レベルで敵が出現するタイミングをどのように定義しますか? 時間に基づいていますか?アップデート?距離? 現在、私はこれを「レベル時間」に基づいて行っています(レベルが実行されている時間-一時停止しても時間は更新されません)。次に例を示します(シリアル化はXNAによって行われました)。 <?xml version="1.0" encoding="utf-8"?> <XnaContent xmlns:level="pekalicious.xanor.XanorContentShared.content.level"> <Asset Type="level:Level"> <Enemies> <Enemy> <EnemyType>data/enemies/smallenemy</EnemyType> <SpawnTime>PT0S</SpawnTime> <NumberOfSpawns>60</NumberOfSpawns> <SpawnOffset>PT0.2S</SpawnOffset> </Enemy> <Enemy> <EnemyType>data/enemies/secondenemy</EnemyType> <SpawnTime>PT0S</SpawnTime> <NumberOfSpawns>10</NumberOfSpawns> <SpawnOffset>PT0.5S</SpawnOffset> </Enemy> <Enemy> <EnemyType>data/enemies/secondenemy</EnemyType> <SpawnTime>PT20S</SpawnTime> <NumberOfSpawns>10</NumberOfSpawns> <SpawnOffset>PT0.5S</SpawnOffset> </Enemy> <Enemy> <EnemyType>data/enemies/boss1</EnemyType> <SpawnTime>PT30S</SpawnTime> <NumberOfSpawns>1</NumberOfSpawns> <SpawnOffset>PT0S</SpawnOffset> </Enemy> </Enemies> </Asset> </XnaContent> 各敵の要素は基本的に特定の敵の種類の波です。タイプはEnemyTypeで定義されますが、SpawnTimeはこのウェーブが表示される「レベル時間」です。NumberOfSpawnsとSpawnOffsetは、表示される敵の数と、それぞれのスポーンにかかる時間です。 これは良いアイデアかもしれませんし、もっと良いものがあるかもしれません。よく分かりません。私はいくつかの意見やアイデアを見たいです。 これには2つの問題があります。敵を正しくスポーンすることと、レベルエディターを作成することです。レベルエディターの問題は、まったく別の問題です(おそらく、今後投稿します:P)。 正しくスポーンする場合、問題は更新時間が可変であるという事実にあります。そのため、スポーンオフセットが小さすぎるか、更新に少し時間がかかったため、敵のスポーンを見逃さないようにする必要があります。 。私はそれを大部分修正しましたが、問題はレベルの保存方法にあるようです。 だから、アイデアはありますか?コメント? 前もって感謝します。
12 levels  data  xml  shoot-em-up 

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 } } } このアプローチを使用する理由は既に述べましたが、これは技術的で組織的なものです。なぜこれほど多くの他の人(私が見たものから)がこれを使用するのか知りたいと思いました。

2
XNAでXMLファイルをコンテンツファイルとして使用する方法
ゲームで使用できるさまざまな自動車メーカーを表すXMLファイルがあります。ファイルは次のようになります。 <?xml version="1.0" encoding="utf-8" ?> <XnaContent> <Asset Type="List[string]"> <car>Audi</car> <car>BMW</car> <car>Nissan</car> <car>Volvo</car> </Asset> </XnaContent> コンテンツフォルダーに追加すると、コンパイラーは次のエラーを返します。 There was an error while deserializing intermediate XML. Cannot find type "List`1" 文字列のリストを作成してXMLに入れ、XNAから読み取るにはどうすればよいですか?
9 xna  xml 

1
XNAのContentManagerがシリアル化のためにジェネリック型パラメーターに従うのはなぜですか?
ようやく問題の根底に達し、私の最善の解決策は何なのかと思っています。つまり、ReflectiveReaderシリアル化されているオブジェクトにジェネリック型のインスタンスが格納されていなくても、XNA がジェネリック型パラメーターに反映されるという問題があります。 例がこれを最もよく示しています。次のモデルクラスを検討してください。 namespace Model { using System.Collections.Generic; using Microsoft.Xna.Framework.Graphics; public abstract class Entity { } public sealed class TestEntity : Entity { public Texture2D Texture { get; set; } } public abstract class EntityData { } public abstract class EntityData<TData, TEntity> : EntityData where TData : EntityData where TEntity …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.