建模前的大原则还是要写在前面:

1、不管是在大公司还是在小公司,都要知道会有更好的工作方法模型,你现在用的并不是最好或唯一的。建立自己的学识和思维体系和方法并时常修正它,而不是拿着Q群里拿来的知识碎片沾沾自喜,也不是让奇葩公司扭曲了你的价值观。

2、不同公司对同一过程和对象定义(包括称谓)可能是不同的,在讨论前先沟通定义,避免鸡同鸭讲,因为这个发生矛盾更是愚蠢的。

3、MATLAB,VBA,C#等都是工具,数据规模,复杂程度或精细程度到达一定水平后自然会用到,用到之前就应开始学习,版本高速迭代的时候你不会有这个时间。直接说这些东西「完全没用」「不要去学」的人离他们远一点。

4、想要单从一张Excel表反向工程就学会建模的,不但学不会什么,还有很大可能会误入歧途。因为有大量的原生数据不体现在数值表上,哪怕你把你认为所有的数值根据都注释在了表里。

5、没有任何数值可以是拍脑袋来的,每个数值写上去必须有数值根据。你甚至可以找一个看起来很扯淡的数值根据附会上去,找到更合适的再替换它,但不可以没有数值根据。

6、如果你觉得你的数值根据是有问题的,那么想办法提醒自己找到更好的并将其替换掉,而不是犯懒把它放在那里,等它出了问题再去管它。念念不忘,必有回响。

7、数值从来不是孤立的,它是从游戏感受量化抽象而来,是游戏感受的可视化体现。在感受反馈不好且可能产生不良后果的情况下,不过多强调数值在表上的合理性。

8、学数学不仅仅是为了学习算法,更多的是训练抽象逻辑思维,将问题迅速归入已有模型并迅速解决之。这种方法的应用不局限于游戏领域。数值策划是掌握游戏骨架脉络的人,认同「数学学到高中就够当数值策划了」说明你的短视不适合做数值策划。

以下流程均为个人总结,仅供参考。

数值策划领域的数值建模,作用是控制战斗平衡,解决「A为什么能战胜B」的问题。

以下举例的模型变化过程以RPG游戏为例,数值制作用拆分法。

1、最小化模型:

A血/B攻 = B血/A攻 = 战斗时长

血 = 有效生命

攻 = 伤害输出

游戏中的战斗是真实战斗的抽象,而这个模型抽象的是两个壮汉互抽嘴巴看谁先倒

下面拆分出来的东西原像是什么你们就自己脑补吧。

但需要注意的是,如果你脑补不出来一个合理的原像,则你的属性设置可能有问题。

2、拆分的定值

有效生命值,除了HP之外可以拆分成其他形式。

例如每次打击时起效的免伤点数,或换了名字的免伤点数(例如PVP专有免伤点数,例如护甲,韧性等换了名字的免伤)

也可以换成非技能层面的伤害吸收,HOT等。

伤害输出可以拆分成攻击以外的其他形式,例如攻击点数加成或换了名字的攻击(同上形式)

或者换成非技能层面的DOT,掉血光环都好。

设置属性时需要注意,最简便的方式是做性质作用上的一一对应。

例如攻击和免伤都是每个战斗时长起效的属性,那么这两个可以配对。

而战斗时长越长,攻击的收益越高,而HP的收益不变,则这两个不能配对。

如果大局观好的人可以做2V1甚至3V2的对应,只要它在模型上是平的。

为保险也可以加上数值反向减免,例如阳痿光环(对方攻击下降)什么的(注意是数值层面而非技能机制)。

3、拆分百分比

百分比的拆分与定值大致相同。

攻击拆成攻击百分比,伤害百分比,攻速什么的。

防御拆成防御百分比,免伤百分比什么的。

配对原则见定值拆分。

为了保险,属性可以做反向减免,例如可以做出暴击(爆发伤害),格挡(爆发防御)和抗暴(anti-暴击)

4、工具制作流程

用MATLAB模拟以上拆分后单位的战斗流程,属性可自行输入。

由于所有值均为定值,所以当模拟双方数值确定则战斗结果确定(先后手的问题放后面说)

注意这里写的是函数,因为后面要用到多次模拟。

5、概率属性拆分

以有效生命和伤害输出两大方向拆分出概率数值

有效生命拆出闪避,格挡,偏斜,招架等

有效伤害拆出暴击,重击,风怒,乱舞等

配对原则见定值拆分部分。

6、设定概率计算优先级,并确定随机算法,是堆栈圆桌,相邻互斥还是相邻互吃等

7、把概率属性写成函数放进MATLAB脚本,并多次执行战斗过程,观察概率之间的相互影响

比如你测出来的「两角色实力相差10%,弱者综合胜率仅为2%~30%(只可能是复合区间)」,那说明那说明数值空间太小,且概率过多导致战斗失控……

8、拆分职业,并做职业平衡矩阵,确保两职业互A战斗平衡

9、设定一般价值量,将所有属性转化为战斗力,作为游戏内唯一实力依据

这个战斗力可能与显示给玩家的战斗力不是一个值,但对你自己的计算很重要。

PS1:国内游戏开发,只要类型确定了,就有好几个现成经典模型给你用了。

一般也很少有人作这个死自己建一套全新的。

所以其实对建模的要求更多落在了对模型的修正上。

例如在AvsB时战斗时长差距小于1的时候,则谁先动手谁先赢。

例如攻速在规定时间内如果不产生一次以上出手机会则等于未生效。

样会产生很多问题,你不得不去修正它。

能够把这些问题解决好了,就可以考虑下一步了。

PS2:把离散和概率求个平均写到表里,不做模拟器不是不可以。

但如果你有时间学MATLAB离散数学概率论的情况下依然这么干就是你偷懒了。

更精确的数值计算可以让你在运营期提高调整效率。

PS3:数值建模不是建模板……是模型……

其实原则来说上面的转化过程不算是模型……算是模型的一部分……

比较具象我拿出来说而已……

因为到此,你刚刚建立平衡。下一步你要做的是破坏平衡。

后面几点提示:续航也是可以纳入原始模型的

设计阶段不要相互「补漏」,即不要用其他系统和机制来补数值的漏洞,反之亦然

游戏种类不同建模方式不同(例如WAR3)

数值制作方法我知道的有拆分法和组合法

RPG领域经典数值模型我知道的大概有三四种,分别适用不同游戏

python数学建模游戏应用_数学建模在游戏数值策划工作中有哪些应用相关推荐

  1. 简述数学建模的过程_数学建模入门知识分享(一):什么是数模

    0 一个不是那么标准的Introduction 2019年的美赛结束于1月29日,接近一年多对数学建模的不断学习,终于有了些数模的感触,这个系列就简单从几个方面比较系统的阐述一下数模的基本问题,本人在 ...

  2. 统计学和python结合起来打的比赛_数学与Python有机结合及统计学、微积分、线性代数相关资源、图形软件...

    无论是三大数学软件Matlab(通信.控制等工程例外).Maple.Mathematica,还是三大统计软件Spass.Stata.SAS,这些可视化的软件本身就是编程的一个体现,它们在一定程度上降低 ...

  3. 数学rect什么意思_数学怎么审题?孩子必须知道的几个点!

    总有家长问起,孩子数学为什么分数很低?都是一二年级的孩子,按理说不该啊!问询过后发现,孩子们的多数错误都是读题问题造成的.阅读理解没跟上,数学学起来也并不轻松啊! 数学审题也需要阅读能力,可究竟怎么读 ...

  4. python入门小程序代码_源码精灵游戏小程序,python入门游戏,点开既玩

    沐沐带你发现好游戏! 丑姐儿今天给大家伙儿介绍一款小游戏, 名字叫做源码精灵, 看着应该是一款商业化的小游戏, 不过也是良心制作的了, 很Q萌. 这一款和头脑风暴有一点点儿类似的地方就是答题, 是的莫 ...

  5. 数学猜想验证步骤_数学猜想验证_数学教学中如何运用“猜想验证”

    [摘要]猜想验证方法是指通过数学的直觉思维对数学问题进行猜想,然后通过验证得出结论的方法.在新课程标准实施的今天,在学生数学教学中运用"猜想验证",有利于提高学生主动探索.获取数学 ...

  6. python拍七游戏代码_拍七数字游戏 - Johannes-Jensen - 博客园

    最近写作业时,老师留了一道关于拍七数字游戏的题,"拍7游戏"规则是:一堆人围成一圈,开始时,任意指定一人说出数字"1"后,一圈人按顺时针方向,每人按整数由小到大 ...

  7. python敲七游戏代码_酒桌上的游戏

    <酒桌上的游戏>简介: 1 .十五二十:其实也就是猜拳,只是把我们平常用一只手换成了两只手,从古到今非常流 行.游戏规则十分简单 <酒桌上的游戏>正文开始 >> 1 ...

  8. python谁是卧底游戏流程图_好玩的聚会游戏“谁是卧底”游戏规则

    游戏名称:谁是卧底 游戏类型:室内游戏.聚会游戏.晚会游戏 游戏简介:"谁是卧底"是一个非常有趣,风靡全国的比拼语言表述能力.知识面与想象力的游戏."谁是卧底" ...

  9. 目前大部分的游戏框架_简单的Windows游戏-第1部分:游戏框架

    目前大部分的游戏框架 我已决定使用C#和WinForms创建一个简单的Windows游戏,从而得出一系列见解. 还有其他方法可以完成此任务,但我选择了使事情保持简单并演示如何制作游戏的方法. 经验丰富 ...

最新文章

  1. 【译】保护 Consul 在特定设置中免受 RCE 风险的影响
  2. peewee flask pwiz 中使用模型 过一段时间报错 peewee.InterfaceError: (0, '') 的解决方式
  3. python函数调用语句_Python函数定义和函数调用
  4. ajax请求相关问题
  5. CSS揭秘(二)背景与边框
  6. scrapy splash 爬取图片学习心得
  7. VBA 读写文本文件的几种方法
  8. 计算机基础第1次作业,计算机应用基础 第一次作业
  9. mysql delimiter
  10. vm虚拟机安装lede旁路由_vmware虚拟机下安装lede软路由
  11. 基于 snowNLP的微博评论数据情感分析
  12. 回不去原来是没有 实现这个 代理方法,
  13. win10 Abaqus2018 血泪备注
  14. 爱普森针式打印机怎么连接计算机,爱普生针式打印机怎么安装 爱普生针式打印机安装步骤详解【图文】...
  15. IndoorGML 介绍
  16. 跌宕起伏的区块链行业2022年如何发展?10大行业趋势
  17. 节日网页HTML代码 学生网页课程设计期末作业下载 清明节大学生网页设计制作成品下载 DW节日网页作业代码下载
  18. rpmbuild告警mangling shebang in xxx from /bin/python to /usr/bin/python/python2.
  19. Android 签名机制原理解析和V1 、V2签名区别
  20. 基于Laya实现ViewPager页面切换效果

热门文章

  1. 14 Python 办公自动化
  2. Linux(Ubuntu)下使用OneNote
  3. html 渐变透明写法,css实现透明渐变特效的示例代码
  4. MAVEN(一)——配置以及plugins
  5. 使用计算机眼睛保护方法,电脑族的护眼诀窍 正确使用眼睛的方法
  6. pycharm创建django项目及开发初准备
  7. ospf在NBMA网络中的实验(保姆级别)
  8. Tokio教程之select
  9. 用8051单片机编程由P1.0和P1.1引脚分别输出周期为1ms和500us的方波
  10. 新奥创:多APP场景端到端的技术体系探索与突破