在数据库中保存“依赖值”是一种好习惯吗?

时间:2013-03-06 08:06:36

标签: database architecture

我们正在开发一款拥有英雄和士兵的游戏。所有这些都可以升级。但是,随着它们的升级,使用不同的算法来获得下一级别的属性。

  • 对于英雄,他们的属性是由设计师配置的固定值。也就是说,对于每个3级法师,他们的属性完全相同。
  • 对于其他士兵,他们的属性是使用脚本中的公式生成的,带有一些随机噪音。也就是说,两只同级别的兔子不一样。

随着我们的发展,我们首先实施士兵部分,然后是英雄部分。对于士兵,在生成属性值时,我们将每个士兵属性存储到数据库中。随着开发的进行,我们为英雄做了同样的事情。但这是一个好习惯吗?我的意思是实际上我们可以从设计器XML文件中获取所有属性,只要提供级别和类,将所有属性保存到数据库似乎是一种重复。我们被教导要避免重复,不是吗?

更多的是,当英雄升级时,我们会为每5个级别解锁一些行李网格,将这些解锁信息保存到数据库是否合适?

1 个答案:

答案 0 :(得分:1)

经验丰富的经验法则,如果您在数据库中存储价值,它应该优先于任何默认值。如果是这种情况,设计是正确的。如果不是,那就是冗余,应该避免。未来的开发人员如果发现游戏中的值与存储在数据库中的值不同,他们会如何反应?第一个预期的反应是 - 哦,有一个错误,我们需要解决它。