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

一連のアイテムに属する質的または量的変数の値。

12
ゲーム内通貨に使用するデータ型は何ですか?
単純なビジネスシミュレーションゲーム(Java + Slick2Dで構築)で、プレーヤーの現在の金額を、floatまたはint、または他の何かとして保存する必要がありますか? 私のユースケースでは、ほとんどのトランザクションはセント(0.50ドル、1.20ドルなど)を使用し、単純な金利計算が含まれます。 私はあなたがfloat通貨のために決して使うべきでないと言う人々を見て、同様にあなたが通貨のために決して使うべきでないと言う人々を見ましたint。int必要なパーセンテージ計算を使用して丸める必要があるように感じます。何を使うべきですか?
96 java  data  economy 

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

5
偶然のハッキングから保存データを保護するにはどうすればよいですか?
ゲームデータを安全な方法で保存するためのオプションは何ですか?C ++向けに特別に調整されたソリューションに興味があります。 高速で使いやすいものを探しています。私は、次のような簡単な情報を保存することだけを心配しています ロック解除されるレベルとされないレベル 各レベルのユーザーのスコア 使用するものが何なのか、平均的なプレイヤーが台無しにできない、安全で優れたゲームデータファイルを提供する優れたライブラリを使用したいので、もう一度興味があります。 ここでこれを見つけましたが、これは非常に良さそうに見えますが、他の潜在的なライブラリ/オプションについて意見を得るのは素晴らしいことです。

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

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

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

6
ゲームデータ/ロジックをレンダリングから分離する
私はC ++とOpenGL 2.1を使用してゲームを書いています。データ/ロジックをレンダリングから分離する方法を考えていました。現時点では、描画を実装するための純粋な仮想メソッドを提供する基本クラス「Renderable」を使用しています。しかし、すべてのオブジェクトには特別なコードがあり、シェーダーのユニフォームを適切に設定し、頂点配列バッファーデータを整理する方法を知っているのはオブジェクトだけです。コード全体で多くのgl *関数呼び出しが発生します。オブジェクトを描画する一般的な方法はありますか?
21 c++  opengl  rendering  logic  data 


4
プレーヤーからゲームデータを非表示にしますか?
私は最初の(C ++)ゲームに取り組んでおり、コンポーネントベースのデザインを使用したいと考えています。最近、これについて多くのことを読みましたが、昨日、より柔軟でアクセスしやすいように、外部JSONファイルにオブジェクトデータを保存することにしました。 それから、これらのファイルをゲームのディレクトリツリーに残しておくと、プレイヤーが必要なものを非常に簡単に変更できることがわかりました。 ゲームはオープンソースになるので、開発者にコードを見せることを心配していませんが、経験の浅いゲーマーがゲームを壊したり、少なくとも楽しみを台無しにしたりするのではないかと心配しています。 何か不足していますか?(オープンソースゲームで)ゲームデータを非表示にするポリシーは何ですか?誰でも簡単にアクセスできるようにしておくのは普通ですか? そうでない場合、データを非表示にする良い方法は何ですか?
13 c++  data 

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 

1
マルチプレイヤースペース分割のための効率的なソリューション?
この質問は少しトリッキーですが、私はそれを明確にするように努めます。 私がオンラインゲーム(MMOスケールではない)を構築しているとしましょう。しかし、それは信頼できるサーバーアプローチで可能な限り多くのプレイヤーをサポートします。AIシミュレーションの敵がたくさんいる本当に大きな世界が欲しいです。 スペースを分割して処理の必要がないものを処理しないことにより、サーバーのCPUを節約するいくつかの戦略を知っています。ロードタイムと小さなトランジションを必要とする地域ですでに世界を分割しています。ローカルで(単独で、または数人の友人と一緒に)プレイするときにゲームプレイの品質を維持することが重要だと思います。プレイヤーが1つまたは2つ以上のリージョンにいるとは思わない。 問題は、リージョンがかなり大きくなり、一度に多くのNPCをシミュレートできることです。プレイヤーの経験に影響を与えずにこれをどのように処理しますか?地域ごとに1つのサーバーなどのアプローチは、この表には含まれていません。 私は主に敵の大群、さらには平和なNPCを保持するためのデータ構造を探しています。質問を完成させるために、車両が存在するため、リージョン内を移動するのがかなり速く、エリアを間引く「タイミング」に影響を与えることに注意してください。

3
Minecraftのようなブロックワールドを処理する方法
Minecraftのようなブロックの世界で簡単なゲームを書きたいです。私の理論的な質問は、再生中にこのブロック情報を処理する最良の方法は何ですか。私の最初のアイデアは巨大な配列でしたが、これはメモリ不足を引き起こすと思います。多分私はプレーヤーの近くのブロックをロードする必要があるだけです。 ファイルから必要なブロック情報をロードし、必要なものだけをメモリに保持するにはどうすればよいですか?

3
ボクセルデータの管理
私は今から約4か月間C ++で趣味としてプログラミングをしてきましたが、ボクセルを使ってものを作成するのが大好きでした。私はMinecraftのような世界をレンダリングする「ゲーム」(私は実際には地形のみを行い、ゲームプレイではないので、単なる個人的な挑戦の詳細)を書きましたが、最近、ゲーム/チャレンジ/などを書き込もうと考えていますマーチングキューブやデュアルコンターリングなどのアルゴリズムを使用し、ボクセルサイズを縮小します。Minecraftのようなプロジェクトを書いたとき、各チャンクのデータを符号なしshortの多次元配列に格納しました(したがって、最大65536の異なるブロックタイプが得られます)。さらに、レンダリングのために、1つのポイント(GLubyteとして)ともう1つのGLubyteだけを保存して、6つのポイントのうちどれが表されているポイントに面しているかを示しました。次に、ジオメトリシェーダーを使用して顔をレンダリングしました。 私が考えていた新しいプロジェクトで、頭を包むことができないのは、ボクセルが約1cmサイズのボクセルと比べて約5cmまたは10cmになるのに十分なボクセルデータをどのように保存できるかです。ブロックの704x704x704領域をレンダリングしたとき、私の古いプロジェクトは約670MBのRAMを使用していました。ボクセルサイズを10cmに縮小し、同じレンダリング距離を維持すると、ボクセルデータは約649GBになります(ボクセルごとに2バイトと7040 ^ 3ボクセルの領域を想定)。ボクセルデータをより効率的な方法で保存できる方法はありますか?
8 c++  voxels  data 

5
すべてのゲームデータを巨大なExcelテーブルに入力しますか?より良い方法はありますか?
MMORPGで、すべてのアイテムの巨大なテーブル、すべてのスキルの別のテーブル、さらにはすべてのMobの別のテーブルで作業することを好むゲームデザイナーの数を本当に知りたいです。また、これらのテーブルは数千のレコードで数百MBに拡大する可能性がありますが、ほとんどのレコードはテーブルのいくつかのフィールドのみを使用します。 一部のゲームデザイナーがこの方法で作業していることを知っています。より良い方法はありますか?

4
どうすればこの敵のデータベース実装を改善できますか?
私はRPGを開発していて、敵データベースの構築を開始する必要があるところにいます。これに関連するいくつかの課題と、私が検討してきたいくつかの解決策があります。 敵のデータベースで私がしなければならないことは次のとおりです。 次のデータを表す必要がある2つの主要な敵クラスがあります。 以下を含む基本敵クラス: Base Stats Status Resistance Table Elemental Resistance Table Steal Table Drop Table Level Unique ID Base XP AI Hook Name Display Name そして、次のフィールドを追加して、機器を追加する機能を追加する派生クラス: Main Weapon Secondary Weapon/Equipment Armor Accessories 今後、必要に応じてフィールドやクラスを追加する予定です。敵をデータベース化するための2つの可能な形式を検討しました。 XMLファイル 基本的には次のようにします。 <?xml version="1.0" encoding="utf-8"?> <Enemies> <Enemy name="Red Dragon" type="BaseEnemy" level="56" displayname="Red Dragon"> <Stats HP="55000" MP="2500" …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.