一个数值框架,让效率提升10倍!

一个数值框架,让效率提升10倍!

作者:news 发表时间:2025-08-06
金融支持新型工业化 划重点来了!官方已经证实 广汽埃安宣布“6纵11横”高速超充网络覆盖最新报道 金海高科:暂时没有在健康养老方面扩大投资的规划记者时时跟进 中宠股份:2025年半年度净利润约2.03亿元,同比增加42.56% 中旗新材:聚焦星空科技发展及减持计划太强大了 央行等七部门:鼓励地方中小银行开发符合区域产业特点的贷款产品实时报道 汇丰挖角瑞银高管负责行销 拟打造美国以外全球最大的财富管理公司后续会怎么发展 央行等七部门联合印发《关于金融支持新型工业化的指导意见》最新进展 收评:港股恒指涨0.68% 科指涨0.73% 科网股分化 生物医药概念股爆发 联想集团涨超5%记者时时跟进 汇丰挖角瑞银高管负责行销 拟打造美国以外全球最大的财富管理公司最新报道 既怕错过又怕买错 提升权益投资或可从“固收+”开始最新进展 中旗新材:聚焦星空科技发展及减持计划后续来了 领益智造:正研究和尝试MIM技术在人形机器人应用 央行等七部门:鼓励地方中小银行开发符合区域产业特点的贷款产品反转来了 泓湖基金亏损视角看大宗商品走到哪个阶段了 轻资产转型“造血”难掩品控隐忧,达芙妮的复苏路不好走秒懂 *ST元成涉财报造假被立案,投资者索赔征集中这么做真的好么? *ST元成涉财报造假被立案,投资者索赔征集中 贵州百灵业绩预告违规获一审胜诉,符合条件仍可登记维权 为何印度IT行业正在裁员秒懂 美联储降息预期升温,欧股集体高开,标普500期指涨超0.5%,现货黄金徘徊3350美元上方 贵州百灵业绩预告违规获一审胜诉,符合条件仍可登记维权 英国石油公司在巴西近海发现重大石油资源,为数十年来最大发现官方通报来了 “藏药茅”奇正藏药毛利堪比茅台,雅江水电站再送十年“红包”实测是真的 悦安新材:3D打印产品相关领域销售收入对公司营收影响较小 白云电器获1800万元回购贷款承诺函 瑞士通胀意外加速,为瑞士央行带来喘息之机后续反转 魅族MEIZU PANDAER充电线苹果华为适用69元最新进展 涉及化工能源等13家公司 龙国神华筹划大规模重组官方已经证实 65股股东户数连续下降 (附股) 航天智装:已完成高可靠RISC-V处理器的研发学习了 23.09亿主力资金净流入,军工信息化概念涨3.75% 天沃科技索赔时效剩八个月 此前部分股民一审胜诉官方已经证实 川金诺:公司主要产品为饲料级磷酸盐、磷肥、磷酸又一个里程碑 券商CFO盘点:山西证券财务负责人汤建雄年薪75万,位居行业倒数第三,本科学历在券商CFO群体中处相对劣势 短剧游戏概念下跌0.32%,7股主力资金净流出超亿元实测是真的 马来西亚同意增加从美国购买科技产品和液化天然气官方通报 2025年电子行业深度分析:被动散热材料持续迭代,液冷成为主动散热新增长点记者时时跟进 航天智装:已完成高可靠RISC-V处理器的研发 王小青,履新招商金控!招商基金董事长职务预期会有变化是真的? 培育钻石概念上涨2.89%,5股主力资金净流入超千万元又一个里程碑 计算机行业资金流出榜:海康威视等11股净流出资金超亿元后续会怎么发展 牛散增持的药企有哪些特征?又一个里程碑 23.09亿主力资金净流入,军工信息化概念涨3.75% 在岸人民币兑美元收盘报7.18,较上一交易日上涨340点 特朗普设定的俄乌和谈-最后期限-就在本周,能否完成?记者时时跟进 容百科技:已成为多家固态电池头部企业第一供应商是真的? 千亿级重组,开启煤化工产业新格局!专家已经证实 佛慈制药:目前不存在应披露未披露的信息

文/张小勇  刚入行的时候,我调整一版完整的数值需要将近一周的时间,几个EXCEL之间来回切换查看再汇总统计让我十分忙乱,按照新的规划重新计算大量的数值让我非常疲惫,填写几十份的配置表让我无比痛苦。后来我不断地优化自己的数值框架,把一些EXCEL和VBA能处理的问题全部在框架中一次性解决,现在我只需要用半天就能调整一版完整的数值,效率提升了10倍。我的数值框架将我从“高级填表员”的工作中解救出来,让我能够将更多的时间和精力放在数值体验上,我的工作效率和质量都提高了一个档次。  本文将分享一套以战斗为主的数值框架,讲述一下做数值框架的思路和方法,希望能对大家有所帮助。  前期工作  一般而言,我做数值框架会从确定属性种类和战斗公式开始。  属性种类  很多游戏喜欢将属性分为一级属性和二级属性,这样做最大的好处是方便做出“加点”的玩法,但一般需要辅助以比较多的属性说明,否则玩家会比较难理解,你能直接看懂下面这张图中的几个一级属性代表什么意思么?

一个数值框架,让效率提升10倍!

  因为我做的游戏都没有加点这个概念,所以我都是直接用生命、攻击、防御、暴击这些属性种类,自己做着方便,玩家也容易理解。  几乎所有游戏中的属性类型都由血攻防这样的基础属性和暴击格挡穿透之类的高级属性组成,个人建议再规划一个“超级属性”。“超级属性”指的是对PVP有决定性影响且十分难升满的属性,超级属性可以承载大R玩家的追求和消费,比如《拳皇98OL》在传统卡牌的基础上将“先手值”独立出来作为“超级属性”,其中很多的大R玩家为了追求“先手值”这一项属性消费了几万甚至十几万。  战斗公式  战斗公式不是本文的重点,相关的文章也很多,不再细述,简单说几点自己的体会:  1.没有最好的,只有最合适的:刚入行的时候觉得像《WOW》、《暗黑》之类的战斗公式才叫**,第一次看到damage=atk^2/(atk+def)的时候虽然看不懂,但是感觉简直*爆了。当时最鄙视的就是减法公式,damage=atk-def,**小学生都会算,一点都不高端。后来发现《放开那三国》用的是减法、《传奇》用的是减法、畅销榜恶霸《梦幻西游》用的也是减法,自己用了一次之后才深深地体会到了减法公式易做反馈、适合做小差距、适合做小数值的特点,拿来做MMORPG十分好用。但如果是做MOBA,需要计算大量的平衡关系,就最好选用damage=atk*(c/(def+c))这种公式,因为这种公式下确定一个英雄的强弱只需要这个英雄自身的属性就可以。  2.关键在于怎么用: 同样是减法公式,《传奇》和《传奇xxx**》的体验完全不同。合适的公式确实会让之后的工作舒爽一些,但最终的体验如何还是要看如何使用。  3.多动手: 网上有很多战斗公式相关的文章,一般都是写一下公式,找个例子算一下,再做几个函数图,最后总结一下。我自己就看了很多这样的文章,收获不小,不过还是有很多疑惑没有解开。其实很多时候遇到公式上的疑惑,自己算一算,对比对比,在相关游戏中跑一跑,会获得更深入更透彻的理解。  数值框架中要明确地列出都有哪些属性和这些属性的详细说明,也要将详细的伤害判定流程和伤害计算公式写出来。这样既能防止自己不小心遗忘,也能方便以后的交接。下面这张图是个简单的展示:

一个数值框架,让效率提升10倍!

  职业设定  职业设定一般而言有三个基本的目的:  1.职业之间相对平衡(或是循环克制)  2.职业差异化:不同职业的作用和体验不同  3.整体战斗体验好:战斗节奏好,战斗时长能够接受  在数值框架中职业设定主要包含两大模块:属性模型,技能设定。

一个数值框架,让效率提升10倍!

  属性模型主要是为了方便调整平衡、战斗时长和职业差异化,其本质就是各职业属性的比例关系,个人的习惯是将属性模型中加入【技能输出系数】和【技能生存系数】两个数值,分别代表算上技能之后输出会变为几倍和生存能力会变为几倍,然后在技能设定中根据这两个系数去调整具体的技能数值。  技能设定时,需要运算多种技能的实际数值影响。其中倍数伤害、属性类buff、眩晕等类型的技能是可以直接转换成有效输出的,相对比较好算,如果不会的话找个数值策划群问一下就可以。而类似于加速、位移、陷阱之类的技能难以量化,需要不断地实测调整。各种技能的具体处理方式不再展开描述。  一些游戏将不同职业的属性比例做的完全相同,然后通过技能设定达到平衡和差异化的目的,十分简单粗暴,各位可以尝试用一下。  属性分配  个人习惯用最大模型和系统分配比例来做不同系统间的属性分配,再在各个系统内细调,这样做的好处是大的改动比较快,细节体验也能调。  系统间分配  为了方便说明,我们假设不同职业的属性比例现在完全相同,这样我们只需要做一套最大模型。将最大属性模型中的每一项属性与对应的各个比例相乘即可得到每个系统应分配的具体属性。大致结构如同下表:

一个数值框架,让效率提升10倍!

  说是“最大”属性模型,但往往扩展系统时会发现属性不够大,因此到后期属性比例中一些属性的比例总和会超过100%。  最大属性模型一般都是通过将职业直接放大得到,但要注意一些公式将各职业属性等比放大后会破坏平衡,比如damage=atk*(c/(def+c))。  系统内分配  某个系统的的属性分配主要包含4个模块:  1.可分配属性:对应系统间分配出来的属性、  2.分配思路:文字描述,记录自己在这个养成系统是用怎样的思路分配每级的属性的,否则到后面自己都会忘记为何这样分配,如果有特殊的计算公式的话我也会记录在这里。  3.分配参数:即使是几百上千级的成长,也可根据几个参数和公式来调控。

一个数值框架,让效率提升10倍!

  4.最终属性表:通过上面三个模块计算得出的最终结果,如下图

一个数值框架,让效率提升10倍!

  经济关联  做经济系统时,我会将每天把消费产出全部拿完的玩家定为标准玩家,然后可以通过产出和消耗预算出标准玩家的成长情况。因为没有办法确定玩家具体会进行什么样的操作,所以这里的一切计算都是估算,比如玩家可能优先把材料全用来升武器,也可能材料全都放背包里不用,没有办法确定,所以我就按照玩家将所有材料平均分配到每一件装备上培养来估算玩家的装备培养等级。  所有系统的经济做完后,我们可以得到一张表,里面有玩家在每个等级时各个养成系统的等级和玩家的总属性,类似下图:

一个数值框架,让效率提升10倍!

  怪物属性  有了通过经济关联算出的玩家属性,我们可以很轻松地得出各个等级对应的每种怪物属性。为了调整方便,我用怪物被玩家打时的生存时间和怪物打死玩家要用的时间来做参数。最终会得到一个类似于下图的表:

一个数值框架,让效率提升10倍!

  如果没有特殊需求的话,所有怪物都可以从这个表中直接取值。  做怪物数值时需要注意的点:  1.上图中的表格没有技能,实际使用时需要注意技能的计算  2.没有特殊需求的话,就将所有种类怪物的防御统一为一个值,比如玩家攻击的80%或是直接用0。  3.表中是以“格斗家”为标准做的怪物数值,在一些职业特性比较强的游戏中需要注意各个职业的战斗体验,否则可能出现治疗职业半分钟杀一个小怪之类的问题  配置导出

一个数值框架,让效率提升10倍!

  将计算结果按照配置的形式关联到另一张表,然后通过VBA导出配置表,并不是很难,一会提供代码,先简单说下使用我的导出需要注意的地方:  1.要在b1单元格填入导出后的表名  2.需要导出的工作表的命名中需要有“-3”

一个数值框架,让效率提升10倍!

  3.代码的本质是将第六行以下所有有内容的单元格复制到另一个EXCEL中,并将该EXCEL重命名存在与数值框架相同路径下的output文件夹中  4.用这种方式导出的表需要另建一个文档写相关的配置说明  5.需要注意一些美术资源的配置  6.要养成在数值框架中改表导出的习惯  这个导表VBA并不是很强大,使用不熟练时很容易出错,但一旦用顺手之后效率会提升很多倍。  VBA代码如下:

    Sub 单表导出()

    If Dir(ThisWorkbook.Path & "output", vbDirectory) = "" Then

    MkDir (ThisWorkbook.Path & "output")

    End If

    If ActiveSheet.Name Like "*-3*" Then

    With ActiveSheet

    a = .Range("a65535").End(3).Row

    b = .Range("IV6").End(1).Column

    arr1 = .Range(.Cells(6, 1), .Cells(a, b))

    Filename = .Range("b1")

    End With

    If Filename = "" Then

    MsgBox (Sheets(i).Name & "中的表名为空")

    i = Sheets.Count

    End If

    For Each xls In Workbooks

    If xls.Name = Filename & ".xlsx" Then

    xls.Close

    End If

    Next

    Dim wb As Workbook

    Set wb = Workbooks.Add

    wb.ActiveSheet.Range(Cells(1, 1), Cells(a - 5, b)) = arr1

    Application.DisplayAlerts = False

    wb.SaveAs ThisWorkbook.Path & "output" & Filename & ".xlsx"

    Application.DisplayAlerts = True

    wb.Close

    End If

    End Sub

    Sub 导出()

    If Dir(ThisWorkbook.Path & "output", vbDirectory) = "" Then

    MkDir (ThisWorkbook.Path & "output")

    End If

    For i = 1 To Sheets.Count

    If Sheets(i).Name Like "*-3*" Then

    With Sheets(i)

    a = .Range("a65535").End(3).Row

    b = .Range("IV6").End(1).Column

    Filename = .Range("b1")

    arr1 = .Range(.Cells(6, 1), .Cells(a, b))

    End With

    If Filename = "" Then

    MsgBox (Sheets(i).Name & "中的表名为空")

    i = Sheets.Count

    End If

    For Each xls In Workbooks

    If xls.Name = Filename & ".xlsx" Then

    xls.Close

    End If

    Next

    Dim wb As Workbook

    Set wb = Workbooks.Add

    wb.ActiveSheet.Range(Cells(1, 1), Cells(a - 5, b)) = arr1

    Application.DisplayAlerts = False

    wb.SaveAs ThisWorkbook.Path & "output" & Filename & ".xlsx"

    Application.DisplayAlerts = True

    wb.Close

    End If

    Next i

    End Sub

  其他  1.数值框架中包含游戏中所有的数值,后期框架中将有很多个工作表,建议做一个目录  2.根据自己的需求去设计框架结构,少做无用功。我曾经为了结果准确,做了个很复杂的战斗模拟器,做完时程序的战斗模块已经做完了,之后我再全都是配到游戏中直接体验,再也没有用过这个模拟器。  3.用颜**分一下内容的类型,但不要用太多的颜色。  4.实际应用时记得在框架中体现出不同层次玩家的数据,这样可以帮助你猜想各类玩家的体验  结语  文章中的截图是我临时做的一个简化框架,其中只做了“格斗家”一个职业的详细数值,但功能基本是完整的。仅供各位参考,欢迎各种交流~

相关文章