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

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

作者:news 发表时间:2025-08-22
存储芯片概念异动拉升,德明利、兆易创新双双涨停 浙江7月规模以上工业增加值同比增5.3% 固定资产投资同比降1.9%后续反转 科技水平又一个里程碑 龙国天瑞水泥盈喜后涨超11% 预计中期净盈利同比增加至约5500万至7500万元 翰森制药2025 H1财报:总收入超74亿元,每股盈利增长14.8% 龙国天瑞水泥盈喜后涨超11% 预计中期净盈利同比增加至约5500万至7500万元 油气板块震荡拉升 准油股份涨停 正信期货:豆粕短期震荡偏强,中长期或先强后弱 漫威终极逆转国服开服福利价值解析 财政部有关负责人就规范政府和社会资本合作存量项目建设和运营答记者问最新报道 美联储公布!信息量很大 存储芯片概念异动拉升,德明利、兆易创新双双涨停记者时时跟进 油气开采及服务板块走高,准油股份涨停 3日超15亿资金涌入,“双两万亿”打开券商想象空间,与上轮牛市相比,本轮行情有何不同? 一年猛增一万亿!险资长钱“改写”内地股市结构 个贷不良处置逻辑重塑:告别“死磕”催收 开启“短跑”模式 斑马智行冲击港股IPO,阿里巴巴、上汽为股东,龙国最大的以软件为核心的智能座舱解决方案供应商 “财政主导”时代来临,各国央行只能“被动配合”,而市场“严阵以待”实垂了 今年以来涨幅喜人 银行保险股强势能否延续 周天勇:直面债务问题・预判形势走向 纳指两连跌,科技股遭遇“获利了结”,Palantir“六连跌”成“做空焦点” 友邦保险将于9月23日派发中期股息每股0.49港元这么做真的好么? 一年猛增一万亿!险资长钱“改写”内地股市结构 龙国白银集团发盈喜 预期上半年公司拥有人应占净利润增至5000万至6000万元后续来了 美国国家情报总监办公室宣布进一步裁员40% 险资巨头举牌同行有何深意秒懂 阳光油砂被翘石财务提起清盘呈请后续反转来了 险资巨头举牌同行有何深意学习了 友邦保险发布中期业绩 业务价值同比上升14%至28.38亿美元又一个里程碑 链接新能源与工程机械 三一集团用微电网“点亮”全球矿山记者时时跟进 中金公司助力天岳先进完成港股IPO Blackstone高管预计私募投资二级市场交易到2030年将突破4000亿美元官方已经证实 链接新能源与工程机械 三一集团用微电网“点亮”全球矿山这么做真的好么? 友邦保险发布中期业绩 业务价值同比上升14%至28.38亿美元专家已经证实 吉比特(603444)2025年中报简析:营收净利润同比双双增长,盈利能力上升实测是真的 小米2025年Q2财报:漂亮的成绩单,都在等待汽车交付放大招是真的? 美国股市:科技巨头引领抛售潮 标普500指数连跌四日秒懂 美国债市:国债上涨 20年期国债标售支撑长债是真的吗? 晋西车轴(600495)2025年中报简析:营收净利润同比双双增长,应收账款上升官方通报 周三热门中概股涨跌不一 富途控股涨6.02%,台积电跌1.76%是真的? 麦迪科技(603990)2025年中报简析:净利润同比增长137.11%,盈利能力上升学习了 大连圣亚(600593)2025年中报简析:净利润同比下降229.45%,短期债务压力上升记者时时跟进 我国算力产业迈向高质量发展新阶段最新报道 社保基金二季度调仓换股:选龙头重业绩后续会怎么发展 谷歌发布Pixel 10系列新品 加强AI整合对标苹果 小米2025年Q2财报:漂亮的成绩单,都在等待汽车交付放大招科技水平又一个里程碑 盟科药业(688373)2025年中报简析:营收上升亏损收窄,盈利能力上升 杰克逊霍尔年会在即 特朗普施压货币政策和美联储人事全景回顾太强大了 晋西车轴(600495)2025年中报简析:营收净利润同比双双增长,应收账款上升太强大了 西藏旅游(600749)2025年中报简析:净利润同比增长181.22%,盈利能力上升 吉比特(603444)2025年中报简析:营收净利润同比双双增长,盈利能力上升最新报道 纽约汇市:美元几乎抹去盘中跌幅 美联储会议纪要显示官员更担忧通胀这么做真的好么? 铬盐行业整合升级 振华股份确认参与七家公司重整学习了 我国算力产业迈向高质量发展新阶段

文/张小勇  刚入行的时候,我调整一版完整的数值需要将近一周的时间,几个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.实际应用时记得在框架中体现出不同层次玩家的数据,这样可以帮助你猜想各类玩家的体验  结语  文章中的截图是我临时做的一个简化框架,其中只做了“格斗家”一个职业的详细数值,但功能基本是完整的。仅供各位参考,欢迎各种交流~

相关文章