使用C ++将负载数据改进到虚幻引擎

时间:2016-04-24 13:57:27

标签: c++ mysql mongodb sqlite unreal-engine4

我正在使用C ++和虚幻引擎开发游戏。

每次开始游戏时,我都必须从文本文件中读取数据。此文本文件目前有117,955行分为24个寄存器。每行的第一个字符是标识它们的索引。

我将加载12或13个寄存器,所以我需要先找到它们。所有寄存器都是连续的:从0到12,或从5到17。

我不知道这是否是将数据加载到程序中的最佳方法。现在,我打开文件,逐行读取,直到找到第一个寄存器。

我认为我可以将文件分成24个文本文件,每个寄存器一个。但也许打开和关闭13个文件可能会更慢。

另一种选择是使用像mySQL或mongoDB这样的小型数据库引擎。

你是更有经验的程序员,因为我刚开始学习C ++,而且我总是用C#编程并使用SQL Server。

你推荐我什么?

2 个答案:

答案 0 :(得分:2)

我不相信mysql或者mongo是一个正确的选择(后台服务器进程对游戏来说太过分了),我建议你看一下sqlite。

如果您对数据库相对较好,使用数据库可以极大地提高您的开发速度(而不是考虑您的自定义文件格式,您只需使用旧的SQL)

另一点是您的数据组织得很好,您将拥有统计数据,只需一些简单的脚本即可为游戏设计师创建分布式环境/网络界面,以便为您的内容添加内容/项目/脚本游戏

至于设计:无论如何封装数据库访问。它会在以后帮助你。即如果您发现即使sqlite对您而言太慢,也可以将您的数据刻录到二进制文件

答案 1 :(得分:2)

SQLite是一个很好的解决方案。您可以使用此插件SQLiteUE4与DB交互,或者至少查看C ++代码。此处链接到guide

MongoDB会有问题,因为c ++ API没有稳定的版本,需要很多依赖。