一、游戏物品/道具系统数据模型设计特点
为了让游戏更加的丰富,我们1201团队的新手机游戏设计了道具系统。于是丰富了游戏、取悦了玩家,哭了开发——道具/物品数据子系统是简单的、复杂的、不确定的:
- 简单,说起来不就是选择一个或多个数据库产品,然后定义一种数据模型,然后增、删、改、查。
-
复杂,物品/道具可以在细分为装备、时装、坐骑、宝石、buff等等,每类物品有不同的属性需求,于是:
- 首先物品数据是游戏核心数据里数据量最大、操作最频繁、数据结构最多元化的数据
- 如果用一种数据表结构,那么会浪费很多的字段或数据空间(而物品表超大);
- 如果用不同的数据表结构,那么游戏逻辑就要麻烦一些了,比如物品在玩家中转移的时候、修改、丢弃的时候。
- 是否进行应用逻辑层水平切分?切分了就可以将数据库分布到多个数据库服务器上,那么理论上数据规模就不会成为瓶颈了;但如果切分了,道具数据分析、后期的合区逻辑就会很复杂。
- 装备、时装是会有多个属性的,且每件装备的属性值、属性类型都不一样,如何设计数据字段(当然如果用nosql数据库就不存在这个问题了)?
-
不确定:
- 随着游戏开发及运营的进行,各种新的道具的需求会不断涌现出来,有可能就会需要增加新的属性和功能需求
- 到底每一个玩家最终会有多少的物品?
- 最终单个区服的数据规模有多大这个其实