2016-04-24 23 views
0

私はC++とUnreal Engineでゲームを開発しています。C++による読み込みデータをUnreal Engineに改善

ゲームを開始するたびに、テキストファイルからデータを読み込む必要があります。このテキストファイルには、現在、117,955行が24個のレジスタに分割されています。各行の最初の文字は、それらを識別するインデックスです。

私は12または13のレジスタをロードしますので、まずそれらを見つける必要があります。すべてのレジスタは0から12、または5から17まで連続します。

これは、プログラムにデータをロードするための最良の方法であるかどうかわかりません。今、ファイルを開き、最初のレジスタが見つかるまで1行ずつ読み込みます。

私はファイルを24個のテキストファイルに分割できると考えました。しかし、13ファイルを開いたり閉じたりするのが遅くなる可能性があります。

もう一つの選択肢は、mySQLのような小さなデータベースエンジンかmongoDBを使用することです。

私はC++を学び始めたばかりなので、経験豊富なプログラマーです。私はいつもC#とSQL Serverを使ってプログラミングしています。

私に何をお勧めしますか?

+0

ファイルを開くのは高速です。ほとんどの場合、適切な行を探している巨大なファイルを通過するよりもはるかに高速です。 –

答えて

2

私はmysqlやmongoが正しい選択であるとは思わない(バックグラウンドサーバーのプロセスはゲームの過度な仕掛です)、私はsqliteを見ることをお勧めします。

あなたは非常(あなただけの古いSQLを使用する代わりに、カスタムファイル形式について考えるの)あなたの開発スピードを向上させることができ、データベースを使用して、データベースと比較的良好であればは

もう一つのポイントは、あなたのデータはよく組織されていますゲームデザイナーがコンテンツ/アイテム/スクリプトをゲームに追加するための分散環境/ Webインターフェースを作成することができる簡単なスクリプトをいくつか用意しておきます。

とにかくデータベースアクセスをカプセル化します。後でお手伝いします。私。 sqliteでさえ遅すぎるとわかったら、バイナリファイルにデータを焼き付けることができます

2

SQLiteは良い解決策です。このプラグインSQLiteUE4を使用してDBとやりとりするか、少なくともC++コードを調べることができます。ここにはguideへのリンクがあります。

MongoDBは、安定版ではないC++ APIのために問題があり、多くのことを必要とします。

関連する問題