游戏开发论坛

 找回密码
 立即注册
搜索
楼主: storm1986

[原创] 技能和BUFF数据编辑架构

[复制链接]

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-10-23 13:40:58 | 显示全部楼层
turwater 发表于 2014-10-23 10:50
这么多人谈了那么多  其实无非就2个字“习惯”
抛弃习惯来说  从项目角度 倾向脚本 注重的是扩展性和特殊性 ...

全脚本技能系统没那么复杂,不需要什么多面手才能搞定。

策划给出规范的技能描述表格,2、3个逻辑程序员照着写脚本就行,在各种主要接口都调整好的前提下,每个程序员一天完成10来个技能都没啥问题。如果是相似度高的技能,不外乎复制黏贴,改改参数。这种工作甚至找个执行策划都可以完成。

脚本的扩展性和灵活性是大家都看到的。我这里强调的是另外一个特性——系统结构扁平,方便维护。这个特性其实跟用不用脚本关系不大,用C++这样写(一个技能一个类)也有相同的效果,只不过没办法热更新而已。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-10-23 13:49:35 | 显示全部楼层
本帖最后由 卡特铁角 于 2014-10-23 13:51 编辑
Mr_I 发表于 2014-10-23 08:54
1、拆表 != 把关联性很强的数据拆碎
如果真这么做,只能说明策划对数据关系的理解不够。
数据结构优化之类的问题不想跟你多费口舌了,有兴趣自己去学

至于工具什么的——工具不要程序写么?存在适合所有结构的读表工具么?

跟你这种没写过两行代码的人讨论技术问题真蛋疼……

点评

如果你不能在设计时用通用的结构来描述数据,非要用到“所有结构”,那的确没能力去设计好用的表格,也难怪只能选择脚本了。  发表于 2014-10-24 09:25

13

主题

405

帖子

1034

积分

金牌会员

Rank: 6Rank: 6

积分
1034
发表于 2014-10-23 14:44:18 来自手机 | 显示全部楼层
卡特铁角 发表于 2014-10-23 13:31
不知道你有没有试过将WOW那种技能系统用表格的形式来实现……我试过。就那个伪FPS的MMO项目。一开始是用表 ...

我说的是只把重复利用度最高的部分放入表格作为通用逻辑
你的fps类mmo项目是考虑了很多然后能做出超多效果

这不是一个意思吧?

最近看一个新闻说部分游戏引擎功能随着开发越来越强大,但回过头来看缺发现利用率相当低,但庞大的代码的维护又带来了巨大的挑战

所以国外3a厂很多项目是一个项目一个引擎

我觉得你的迷思和上面的事类似
有点过度设计

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-10-23 15:51:39 | 显示全部楼层
弹你小雀雀 发表于 2014-10-23 14:44
我说的是只把重复利用度最高的部分放入表格作为通用逻辑
你的fps类mmo项目是考虑了很多然后能做出超多效 ...

重复利用度高的放入表格作为通用逻辑,这个思想我也不反对。

我说的那个伪FPS的思路则是——先一个一个写,最后多了再总结,而不是先让策划凭空总结哪些是重复利用度高的。当然最后那个项目流产了。在之后也有两个项目用了这样的开发方式,但最终因为瓶颈不在技能这块,最后也没有去总结什么通用逻辑。

对于是否过度设计,我的看法与你相反——一开始就去总结通用功能,这个才是我眼中的过度设计。对于维护代码的难度,我觉得维护1000段互相独立,每段10来行的代码比维护一段上千行的代码要容易。

13

主题

405

帖子

1034

积分

金牌会员

Rank: 6Rank: 6

积分
1034
发表于 2014-10-23 15:57:19 | 显示全部楼层
本帖最后由 弹你小雀雀 于 2014-10-23 15:59 编辑
卡特铁角 发表于 2014-10-23 15:51
重复利用度高的放入表格作为通用逻辑,这个思想我也不反对。

我说的那个伪FPS的思路则是——先一个一个 ...

你的那几个项目看起来像是探索创新型的项目,走一步看一步,摸着石头过河
开发方式确实适合扁平化,建立大量简易实现的样本进行组合测试
然后总结剔除,留下需要的核心内容
做通用性后再开发

这种流程常见国外中小工作室

我说的是成熟游戏的开发方式,有能力有经验的策划定义这些是不难的

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-10-23 16:07:57 | 显示全部楼层
弹你小雀雀 发表于 2014-10-23 15:57
你的那几个项目看起来像是探索创新型的项目,走一步看一步,摸着石头过河
开发方式确实适合扁平化,建立大 ...

除了那个流产的伪FPS,之后的两个项目其实也都是比较传统题材的。

或许是我参与项目都比较特殊吧……技能这块都或多或少有那么点微创新。这一块在开发过程中策划与程序的争议也总是最多的——我参与过的每个项目,只要是用表格描述技能的,无论端游页游,技能逻辑就没有顺顺利利的,总是要消耗大量的时间在这上面。

完全使用脚本来做技能,唯一的难点就是一开始对脚本接口的抽象。或许目前大家更倾向于使用表格的原因在这里。

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2014-10-24 09:04:13 | 显示全部楼层
卡特铁角 发表于 2014-10-23 13:49
数据结构优化之类的问题不想跟你多费口舌了,有兴趣自己去学

至于工具什么的——工具不要程序写么?存在适 ...

你所做的不是讨论。
只是通过贬低别人来证明自己而已。

恰恰是一个用脚本在写技能的人在和你讨论这些问题。
只是我很遗憾最后我发现之前只是在浪费时间。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2014-10-24 12:04:13 | 显示全部楼层
本帖最后由 卡特铁角 于 2014-10-24 12:16 编辑
Mr_I 发表于 2014-10-24 09:04
你所做的不是讨论。
只是通过贬低别人来证明自己而已。

没有刻意贬低你的想法

只是你的表述中槽点太多,以至于我已经懒得吐槽了。

你可以去程序区开个新帖,跟那边的程序们说说你的想法。
PS:对于你前面的点评——如果你不能在设计时用通用的结构来描述数据,非要用到“所有结构”,那的确没能力去设计好用的表格,也难怪只能选择脚本了——不是非要用到“所有结构”,而是随着项目的推进,很有可能因为多方面的原因导致数据结构发生变化。另外,技能系统的出发点就是提供差异化的交互方式,为什么要用通用的结构来描述数据?有什么好处?

点评

“所有结构”是指包括用表格来表述不太方便的结构。 “通用结构”是指容易用表格表达的结构。 并不是你所误解的“固定结构”。  发表于 2014-10-25 10:22

6

主题

82

帖子

315

积分

中级会员

Rank: 3Rank: 3

积分
315
发表于 2014-10-25 00:56:48 | 显示全部楼层
卡特铁角 发表于 2014-10-17 21:38
对策划而言,把一张复杂的表进行拆分,有利于理解表格的含义,一定程度的方便修改。

但对程序来说拆分与 ...

在moba游戏中我体验下来最高效率的就是通用逻辑走表格,特殊逻辑走脚本的混合使用方式

13

主题

832

帖子

1875

积分

金牌会员

空想家

Rank: 6Rank: 6

积分
1875
发表于 2014-10-25 10:19:50 | 显示全部楼层
卡特铁角 发表于 2014-10-24 12:04
没有刻意贬低你的想法

只是你的表述中槽点太多,以至于我已经懒得吐槽了。

数据结构发生变化,解析不需要重写。
在表里新加一个字段,在程序里可以直接用。
这连我自己写的东西都能做到。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 00:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表