すべてのゲームデータを巨大なExcelテーブルに入力しますか?より良い方法はありますか?


8

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


1
うわー!ゲームデザイナーの友人に、少なくともSQLiteのようなものを検討するように伝えてください:)
bummzack

@bummzack:SQLiteはリレーショナルデータベースです。Excelはスプレッドシートです。RDBは(不十分に)スプレッドシートプログラムに置き換えられる可能性がありますが、スプレッドシートプログラムをRDBだけに置き換えることはできません。

(私はExcelがこの種のことに対して素晴らしい/恐ろしい理由についての専門的な逸話を無限に持っています、私が訴えられることなくそれを行うことができると思うなら、私は1日か2日で書くかもしれませんが、誰かがもっと証拠を持っていることを望んでいますベースの回答。)

1
私はここで文脈を誤解したと思います。これはゲームのデータソースとして使用され、「デザインツール」としては使用されないと思いました。
bummzack、2011年

この目的でXMLファイルを使用することを考えている人はいますか?
James P.

回答:


4

ここでは答えたくありませんでしたが、別の答え/コメントを見たとき、気が変わりました。SQLはこれの非常に良い解決策ではありません。SQLはテーブルを定義し、大量のデータをそのテーブルに挿入します。これはそうではありません。ゲームデザインを作成/テストする場合、大規模なシステムのバランスが取れているかどうかを確認する必要があります。つまり、相互に影響を与える多くのテーブルがあります。実際にはSQLに適したものはありません。あるいは、必要のないプログラミングを行う必要があるため、扱いは簡単ではありません。そして、ゲームデザイナーはそれを知る必要はありません。

ゲームプログラマー/開発者は、Excelとその用途を軽視することができますが、特にゲームデザイナーが適切に使用でき、ドキュメントが適切に作成されている場合は、このケースには非常に優れたツールです。

他のツールはお勧めできませんが、Excelを使用するプロのゲームデザイナーも知っていると言えます。だから私はそれが一般的なツールだと思います。


はい、Excelは一般的なツールです。質問のポイントは、「すべてのアイテムの単一の巨大なテーブル」、アイテムには設備、消費などが含まれます。巨大なものを小さなものに分割する必要がありますか?アイテムごとに構成ファイルを分けていませんか?巨大なテーブルが目を痛める可能性があります:o)
Huang F. Lei

すみません、これは知りません。私はエンジンプログラマです。私は「なぜSQLが一般的なツールであるのに、なぜSQLを言ったり、Excelの冗談を言ったりするのですか?」と言いたかっただけです。質問は良いです、そして私は私のものよりも良いいくつかの洗練された答えに興味があります。
Notabene、2011年

私の最初のSQl回答は、質問の「ゲームデザイナー」の部分を逃したためでした。誤解を招く可能性があるため、削除しました。
共産主義者のダック

3

特にデザイナーにとって、スプレッドシートはまともな開発ツールになることがあるというほとんどの回答者に同意します。

このアプローチをさらに進めることに関心がある場合、Resolver Oneスプレッドシートプログラムはスクリプトにpythonを使用するため、複雑なモデリングとゲームに適したデータ形式へのエクスポートの両方を行うデザイナー向けのスプレッドシートを簡単に設定できます。ExcelのVBScriptよりも操作がはるかに簡単です。


1
開くまで数秒待って楽しんでください!Bahは遅い(速いマシンでも)
Spooks

2

Excelは優れたソリューションです。どうすればいいのかと思っていました。しかし、考えてみると、Excel 非常に人気のあるツールであり、この義務には十分適しているため、この方法はお勧めしません。さらに、@ notabeneが示唆するように、実際のデータベースには、実際には必要のない多くのオーバーヘッドが生じます。いくつかのオプションが表示されますが、そのうちの1つはExcelを使用するのと似ています。

  • Open Office Calc:無料。Calc用のMySqlコネクターのダウンロード(私が信じているオープンソース)もあります
  • シリアル化されたデータ:XMLまたはバイナリ(暗号化)

...どちらにせよ、無料で、完全に制御できます。

個人的には、シリアル化および暗号化されたバイナリデータを使用する傾向があります。2つの理由:

  • ゲームデータは簡単に改ざんできません
  • 私は、DataTableのではなく、データセットのXMLシリアル化してすなわち作業することができ、私は選択肢を持っています。

専用の真のゲーム指向のデータライブラリが必要ですか?多分...誰かがそのようなライブラリがすでに存在していることを知らない限り。

OPの質問の要点として、各ページの csvファイルを、データベース内のテーブルのような単一のデータテーブルとして見てください。各ページファイルには、関連データが含まれている必要があります。

  • スキル、または
  • ギア、または
  • NPC統計

これにより、データコンテンツの増加、ゲームコンテンツの拡大など、非常に重要な高度な組織を維持することができます。

編集
実際に.ODS(OpenOffice Calcファイル)の使用を試み、アプリケーションから接続した後は、OOサイトへの最初の投稿が暗示するため、実際に不可能です。実装に関するcodezを具体的に示すものは何も見つかりませんでした。

また、ゲームの開発中はExcelファイルを使用しても問題ないため、データベースのオーバーヘッドなしでデータを調整できます。ただし、これが重要であり、これを計画している場合は、Microsoft Excel Interop COMを参照できるようにMS Officeをインストールする必要があります。これは最初は有益かもしれませんが、アプリケーションをAlpha、Beta、またはRCの準備ができるようにコードの束を削除または変更したくありません。非常に単純化されたライブラリーは、私が有用だと考えるよりも多くの努力を必要とします。

初期のデータストレージには.CSVファイルを使用します。いくつかの欠点がありますが、全体的に、これははるかに良いオプションだと思います。すべてが私のライブラリに含まれています。.Netには、これらのテキストファイルを読み取るための非常に便利なクラスがあります。また、.CSVファイルとしてデータを簡単に操作できます。また、開発の後半の段階では、データファイルをXMLにシリアル化し、後で暗号化されたバイナリをシリアル化するだけで済みます。


反対投票はまったく気にしません...理由がわからない場合を除きます。私が提供したオプション、またはスプレッドシートの整理に関する私のアドバイスについて何か問題がありますか?それとも誰か私のオプションを気に入らなかったのですか?
IAbstract

スプレッドシートをディスクデータ形式と比較して、「ゲームデータは簡単に改ざんできない」などのステートメントを作成したので、-1を与えました。プログラム/インターフェイスとディスクデータ形式は実際には比較できません。ゲームデータをバイナリにしても、改造者を思いとどまらせることはほとんどありません。また、提案されたスプレッドシートスキーマはすべてのデータを1つのファイルに保存するため、恐ろしいものです。確かにスキルとNPCは別々のファイルにあるべきです。おそらく、すべてのNPCが同じファイル内の別々のページにあるはずですが、ロックRCSを使用すると、恐ろしいことになります。

同意しません。MySqlコネクタを使用してOpen Office Calcを作成します。もちろん、それぞれに異なるファイルを作成できます。しかし、RCを取得したら、この形式でデータを保持することは期待していません。
IAbstract

設計者はExcelを使用している場合、彼らがします .XLSまたは.csvのような形式で相互にデータを渡します。Outlookのブラックホールにデータを失わせたくない場合や、コンピューターがクラッシュした場合は、RCSにデータを保持するように指示する必要があります。

1

データの性質により、あまりにも多くのフープを飛び越えることなく、スプレッドシートにデータを保存できる限り、特に開発作業では非常に優れたフォーマットになります。最後に、あなたが使用するため、他のフォーマットでそれを保存したいかもしれませんが、スプレッドシートは、あなたにすることができ、非常に強力なエディタ与えVERYあなたが何かを処理する方法を変更することを決定した場合には素敵なの!

Excelを使用している場合は、ASAPユーティリティのコピーを入手してください。スプレッドシートがさらに優れたエディターになります。


できるだけ速くに???リンクを提供してもらえますか?
IAbstract


-2

まあ、私にとって、speartesheetプログラムはそのようなものを正しく効果的に処理できないものです。RDBは、実際には、巨大なデータとテーブルを処理するために設計されました。現代のRDBは「巨大な」種類のものを処理するように設計されており、非常にうまくやっています。

ポイントは、RDBの最適な出力を得るには、データベースを正しい方法で設計する必要があるということです。データスキーマが不十分だったり、プロジェクトのすべてのデータをカバーしていなかったりすると、結果、パフォーマンス、出力が非常に悪くなります。

RDBのアイデアは、巨大なテーブルを小さなテーブルに分割して、パフォーマンスと可読性を向上させることです。非常に巨大なテーブル(属性に関してもレコードに関しても)または多くの再パーティションがあり、それらのほとんどを使用しない場合、DBの設計にいくつかのエラーがあります。

Huang F. Leiさんの質問で、MMORPGデータベースの設計を依頼された場合、1つのテーブルにすべてのスキルを追加し、1つのテーブルにすべてのMobを追加することはしません。スキルをクラスと使用法に応じてマルチテーブルに分割します。各スキルタイプには、独自のテーブルまたはテーブルがあります。モブについては、タイプに応じて、または異なる世界での位置に応じて、モブを分けます。等々。

このようにして、テーブルサイズを縮小し、データの追跡を容易にし、DBのパフォーマンスを向上させることができます。

一方、Excelでは、すべてのデータが1か所に「詰め込まれ」ます。そして、1つのデータを見つけることはほとんど不可能です。繰り返しのデータがある場合はそうです。さらに、データのサイズが大きくなると、ファイルのオープン時間が長くなります。

結局のところ、Excelは(私の意見では)、膨大な関連データを処理するには非常に貧弱な方法です。


あなたは正しいですが、これは正しい答えではありません。質問を注意深く読んだり、別の回答やコメントを読んだりすると、その質問はデータを保存するのではなく、ゲームデザインに関するものであることがわかります。
Notabene

私はそのデザインについて知っており、質疑応答を赤くしています。私が理解しているのは、Huang F. LeiがRDBとスプレッドシートのどちらかを選択しようとしていることです。2つの違いを示すための私の答え!
Ali Albahrani、2011年

Cite:Huang F. Lei:「はい、Excelが一般的なツールです。問題のポイントは、「すべてのアイテムに対して単一の巨大なテーブル」、アイテムには設備、消費などが含まれます。巨大なものを分割する必要がありますか?小さなものですか?アイテムごとに構成ファイルが分かれていても?巨大なテーブルが目を痛める可能性があります:o) "
Notabene

2
回答ありがとうございます。o)問題は、ゲームデザイナーがゲームを作成するためのデータをどのように提供するかに関するものであり、プログラマーがゲーム内のプレーヤーのデータを格納/アクセスする方法に関するものではありません。
黄F.レイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.