像「暗黑破坏神」「流放之路」这样有词缀系统的网络游戏,装备数据库是如何设计的?

2021-11-13 10:42:17 +08:00
 AIPC

类似这样有词缀系统的游戏,可以生成的装备「似乎」是无法穷尽的。

难道是玩家每爆出一件装备,都会在整个服务器的装备库里插入一条单独的数据吗?

3467 次点击
所在节点    程序员
17 条回复
SimonOne
2021-11-13 11:09:20 +08:00
带有镶嵌功能的游戏不也一样吗。
词条个数和位置是固定的吧,你把词条当成特殊的装备,一件装备当成组合的装备不久行了吗。
winnerczwx
2021-11-13 11:12:08 +08:00
装备上的词缀分为前缀和后缀

每个词缀对应的属性是相同的

像流放之路, 一件+血+力量的手套 那就是 [健康的] [野蛮之] xx 手套
binux
2021-11-13 11:14:55 +08:00
难道装备没词缀,玩家爆装备的时候就不用在数据库里更新这个装备的数据了吗?
现在给这个装备多加几条注释又有什么区别?
winnerczwx
2021-11-13 11:16:45 +08:00
另外爆出的装备应该只会在类似缓存数据库里, 不会持久化存储

玩过流放之路的玩家应该知道, 10 分钟打一张图, 可能爆出几百件装备, 能捡起来的可能只有几件, 这种数据没必要持久化

只有被捡起的才会进入持久化数据库
kokutou
2021-11-13 11:33:01 +08:00
装备数据在人物数据里。

服务器只需要核对人物数据的完整性。
levelworm
2021-11-13 11:45:48 +08:00
前后缀随机化,比如说 A 的装备 B ,同样 A 和 B 但是数据会稍微有区别。我估计楼上说的有道理,没必要都持久化,应该是先进缓存然后最后游戏结束的时候仅仅保存还在玩家身上的。

另外暗黑我记得是
levelworm
2021-11-13 11:47:08 +08:00
另外暗黑 2 我记得是装备掉下来就已经数值定好了,鉴定只是个噱头。我也挺好奇暗黑 2 战网的数据库是什么样子的。
raaaaaar
2021-11-13 17:14:56 +08:00
话说为什么感觉很少讨论游戏公司里的各种技术
kokutou
2021-11-13 17:38:38 +08:00
@levelworm
很多祖传 bug 都在,目测跟暗黑 2 机制差不多
DSKcpp
2021-11-13 18:47:54 +08:00
2i2Re2PLMaDnghL
2021-11-13 21:36:04 +08:00
就直观地认知,是带参数的物品,那就不存在整体的装备库,只是人物的装备、库存的数据罢了

如果某个表的任何记录至多只会被引用一次,且一旦不再被引用则再也不会被引用,那么完全可以直接展平。
类比一下,有谁会在记录轨迹数据的时候是一张表存点,另一张表引用点的 ID 的?
zeni123
2021-11-14 06:48:11 +08:00
private static Windforce bow;
私有的静态的风之力 弓

说不定是用 AST 实现的
zeni123
2021-11-14 06:49:25 +08:00
应该是 private static Bow windforce;
私有的静态的弓 风之力
nutting
2021-11-14 08:05:49 +08:00
没用数据库,对象持久化
Eytoyes
2021-11-14 10:00:44 +08:00
研究过完美世界的数据,装备 hex 数据以 xml 格式存储在角色文件内,属性和属性、属性和值是两个字段粘合在一起的,装备表只存武器的基本信息,后面的随机属性由武器 xml 决定
wildmelon
2021-11-14 13:26:27 +08:00
流放之路,可以看看他的网页市集,基本都是明文

考虑这个游戏的优化,估计设计得一般
DeWjjj
2021-11-15 12:12:01 +08:00
如果是现在的话应该很多公司都会选择区块链的形式上武器掉落。以此彻底避免外挂复制装备这些,区块链在信息的安全稳定性来看是真强。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/815097

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX