Questions tagged «data»

定性或定量变量的值,属于一组项目。

12
游戏币种应使用哪种数据类型?
在一个简单的业务模拟游戏(用Java + Slick2D内置)中,玩家当前的钱应该存储为float还是int或其他? 在我的用例中,大多数交易将使用美分(0.50美元,1.20美元等),并且涉及简单的利率计算。 我见过有人说你不应该用float货币,也有人说你不应该用int货币。我觉得我应该使用int并舍入任何必要的百分比计算。我应该使用什么?
96 java  data  economy 

6
保存游戏数据的良好文件格式是什么?[关闭]
我需要保存一些自定义游戏数据。地图,播放器等 它们都将具有“子对象”。例如,地图和地图将具有图块的“阵列”。即分层数据。希望没有二进制文件。 什么是这些的好格式? 到目前为止,我已经考虑过: 序列化:这是快速且容易的,但是当我更改基础类时往往会中断:( XML:我真的很讨厌解析这个。我的测试用例超过了100多行代码,即使是非常简单的格式,也似乎需要大量的“忙碌工作”。 INI:对于分层数据来说真的很笨拙。 Protobuf:从未使用过它,但请阅读,如果您更改班级,则必须做很多手动修改,然后休息。 还有其他选择吗?这就是为什么我在这里! 编辑:这是Java顺便说一句。 编辑2: 我选择了“受控二进制序列化”(见下文)。 优点: 它很快 它很小(在磁盘上),可以在读/写过程中轻松压缩/解压缩。 从游戏和工具集读取/写入非常容易。 我可以决定要包含/排除对象的内容。 对象/数据可以嵌套。 缺点: 无法手动编辑(例如XML,YAML等) 使用脚本无法轻松读取/修改它 与其他实现相比,默认情况下,Java序列化速度相当慢/膨胀,但它稳定且有效
37 java  file-format  xml  data  file 

5
如何保护我的保存数据免遭随意黑客攻击?
有哪些选项可以安全地保存游戏数据?我对专门为C ++量身定制的解决方案感兴趣。 我正在寻找一种快速且易于使用的东西。我只关心存储诸如 哪些级别已解锁和未解锁 每个级别的用户得分 我再次好奇地知道有什么用处,可以使用的任何好的库都可以为我提供普通玩家不会碰到的漂亮,安全的游戏数据文件。 我刚刚找到这个位置看起来很漂亮,但它会是巨大的,得到潜在的其他库/选项的一些观点在那里。

8
使用XML / JSON / Text或数据库存储游戏内容会更好吗?
我正在考虑如何实现基于组件的游戏,因为这似乎很热门,而且我喜欢这种灵活设计的想法。这种设计的特征之一是可以通过数据完成向游戏中添加新事物的过程,通常是通过XML之类的文本文件加载内容。这样做的好处是易于阅读,并且可以在任何文本编辑器中轻松编辑。不利的一面是,文本处理起来可能较慢,并且您必须管理大量数据文件。类似的基于文本的格式(如JSON或配置文件)将具有类似的好处。 另一方面,还有小型的可移植数据库,例如SQLite或Tokyo Cabinet。这些文件虽然不是直接可读的,但很容易与它们交互,并且我认为无论如何,对于游戏内容设计而言,某种编辑工具还是比较可取的。使用数据库可以一致地存储配置信息并易于检索。您也可以将数据序列化到数据库中以保存游戏。 在性能方面,我认为一般来说,小文件的XML速度更快,但是数据库可以更好地扩展到大量数据。我以为任何一款真正的游戏都会有很多游戏对象。 问题是:哪种方法更可取?我倾向于数据库,但是我想知道文本文件是否存在隐患或真正强大的优势。或者,如果除了这些之外还有其他选择(我猜要序列化为二进制格式吗?)

3
对于定制游戏引擎,如果我的核心数据格式错误或丢失,该怎么办?
我正在为游戏编写自定义引擎。在了解为什么我应该使用中间件之前,我已经很好地开始了这个游戏,而且它太过重写了。 我的大部分数据来自外部文件,而我不仅指资产。我通过.JSON定义所有游戏对象。但是,a,我是人类。有时我的数据文件无效,或者我更改了格式但忘了更新文件,或者加载程序本身是错误的。 如果出于某种原因,尝试在自定义引擎中加载某种形式的资产的尝试失败,我有什么选择? 这与“ 我应该如何处理丢失的资源?”不是重复的。,因为该问题与模型或纹理等面向用户的资产有关。坏的纹理可以用棋盘代替,坏的声音可以用静音替换,坏的文本可以用“ ERROR”替换。我的问题在于对游戏甚至运行至关重要的数据,例如关卡,游戏对象定义和GUI布局。

4
如何选择如何存储数据?
给一个人一条鱼,你就喂他一天。教一个人钓鱼,你就养活他一辈子。 - 中国谚语 我可以问一下我应该为实际项目使用哪种数据存储,但是我想学习钓鱼,所以我不必在每次开始新项目时都要求钓鱼。 因此,直到我使用两种方法在我的非游戏项目上存储数据:XML文件和关系数据库。我知道还有NoSQL类型的其他数据库。但是我不知道是否有更多选择可供选择,或者首先是如何选择,除了随意选择一个。 因此,问题如下:如何为游戏项目选择数据存储类型? 在选择时,我会对以下标准感兴趣: 项目的大小。 游戏所针对的平台以及所使用的开发平台。 数据结构的复杂性。 在许多项目之间增加了数据的可移植性。 Added2 Silmutaneous使用不同之间的项目数据。(即用户数据) 添加了应该多长时间访问一次数据 为同一应用程序添加了多种类型的数据 带有多个数据存储的Added2配置。 在决定使用什么时,您认为还有其他要点。 编辑我知道关于使用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分别是显示的敌人数和两次刷新之间所花费的时间。 这可能是一个好主意,或者可能还有更好的主意。我不确定。我希望看到一些意见和想法。 我有两个问题:正确产生一个敌人并创建一个关卡编辑器。关卡编辑器的问题是一个完全不同的问题(我可能会在以后的:P中发布)。 至于正确生成,问题在于我的更新时间可变,因此我需要确保不会错过敌人的生成,因为生成偏移量太小,或者更新花费了更多时间。我在很大程度上修复了它,但是在我看来,问题出在我如何存储水平上。 那么,有什么想法吗?注释? 先感谢您。
12 levels  data  xml  shoot-em-up 

1
多人空间分割的有效解决方案?
这个问题有点棘手,但我会尽力弄清楚。 可以说我正在构建一个在线游戏(不是MMO规模),但是通过权威的服务器方法可以支持尽可能多的玩家。我想真正的大与世界很多 AI模拟敌人。 我知道一些通过细分空间而不处理不需要处理的东西来节省服务器CPU的策略。我已经按地区划分了世界,这需要加载时间和较小的过渡时间,我认为这对于保持本地(单独或什至有几个朋友)玩游戏时的游戏质量至关重要。我不希望球员出现在一个或两个以上的地区。 问题在于,一个区域可能会变得很大,并且一次模拟了很多NPC。在不影响玩家体验的情况下如何处理?表格中没有像每个区域一台服务器之类的方法。 我主要是在寻找能够容纳成群的敌人,甚至是和平的NPC的数据结构。要最终确定问题,请注意,由于存在车辆,因此车辆在某个区域内的行驶速度相当快,会影响“何时”驶向剔除区域。

3
如何像Minecraft一样处理Block World
我想写一个像《我的世界》这样的带有方块世界的简单游戏。我的理论问题是在播放期间处理此块信息的最佳方法是什么。我的第一个想法是一个庞大的数组,但是我认为这将导致内存不足。也许我只需要在播放器附近加载块。 如何处理从文件中加载所需的块信息并仅将所需的信息保留在内存中?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.