python数学建模游戏应用_数学建模在游戏数值策划工作中有哪些应用
建模前的大原则还是要写在前面:
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数学建模游戏应用_数学建模在游戏数值策划工作中有哪些应用相关推荐
- 简述数学建模的过程_数学建模入门知识分享(一):什么是数模
0 一个不是那么标准的Introduction 2019年的美赛结束于1月29日,接近一年多对数学建模的不断学习,终于有了些数模的感触,这个系列就简单从几个方面比较系统的阐述一下数模的基本问题,本人在 ...
- 统计学和python结合起来打的比赛_数学与Python有机结合及统计学、微积分、线性代数相关资源、图形软件...
无论是三大数学软件Matlab(通信.控制等工程例外).Maple.Mathematica,还是三大统计软件Spass.Stata.SAS,这些可视化的软件本身就是编程的一个体现,它们在一定程度上降低 ...
- 数学rect什么意思_数学怎么审题?孩子必须知道的几个点!
总有家长问起,孩子数学为什么分数很低?都是一二年级的孩子,按理说不该啊!问询过后发现,孩子们的多数错误都是读题问题造成的.阅读理解没跟上,数学学起来也并不轻松啊! 数学审题也需要阅读能力,可究竟怎么读 ...
- python入门小程序代码_源码精灵游戏小程序,python入门游戏,点开既玩
沐沐带你发现好游戏! 丑姐儿今天给大家伙儿介绍一款小游戏, 名字叫做源码精灵, 看着应该是一款商业化的小游戏, 不过也是良心制作的了, 很Q萌. 这一款和头脑风暴有一点点儿类似的地方就是答题, 是的莫 ...
- 数学猜想验证步骤_数学猜想验证_数学教学中如何运用“猜想验证”
[摘要]猜想验证方法是指通过数学的直觉思维对数学问题进行猜想,然后通过验证得出结论的方法.在新课程标准实施的今天,在学生数学教学中运用"猜想验证",有利于提高学生主动探索.获取数学 ...
- python拍七游戏代码_拍七数字游戏 - Johannes-Jensen - 博客园
最近写作业时,老师留了一道关于拍七数字游戏的题,"拍7游戏"规则是:一堆人围成一圈,开始时,任意指定一人说出数字"1"后,一圈人按顺时针方向,每人按整数由小到大 ...
- python敲七游戏代码_酒桌上的游戏
<酒桌上的游戏>简介: 1 .十五二十:其实也就是猜拳,只是把我们平常用一只手换成了两只手,从古到今非常流 行.游戏规则十分简单 <酒桌上的游戏>正文开始 >> 1 ...
- python谁是卧底游戏流程图_好玩的聚会游戏“谁是卧底”游戏规则
游戏名称:谁是卧底 游戏类型:室内游戏.聚会游戏.晚会游戏 游戏简介:"谁是卧底"是一个非常有趣,风靡全国的比拼语言表述能力.知识面与想象力的游戏."谁是卧底" ...
- 目前大部分的游戏框架_简单的Windows游戏-第1部分:游戏框架
目前大部分的游戏框架 我已决定使用C#和WinForms创建一个简单的Windows游戏,从而得出一系列见解. 还有其他方法可以完成此任务,但我选择了使事情保持简单并演示如何制作游戏的方法. 经验丰富 ...
最新文章
- 【译】保护 Consul 在特定设置中免受 RCE 风险的影响
- peewee flask pwiz 中使用模型 过一段时间报错 peewee.InterfaceError: (0, '') 的解决方式
- python函数调用语句_Python函数定义和函数调用
- ajax请求相关问题
- CSS揭秘(二)背景与边框
- scrapy splash 爬取图片学习心得
- VBA 读写文本文件的几种方法
- 计算机基础第1次作业,计算机应用基础 第一次作业
- mysql delimiter
- vm虚拟机安装lede旁路由_vmware虚拟机下安装lede软路由
- 基于 snowNLP的微博评论数据情感分析
- 回不去原来是没有 实现这个 代理方法,
- win10 Abaqus2018 血泪备注
- 爱普森针式打印机怎么连接计算机,爱普生针式打印机怎么安装 爱普生针式打印机安装步骤详解【图文】...
- IndoorGML 介绍
- 跌宕起伏的区块链行业2022年如何发展?10大行业趋势
- 节日网页HTML代码 学生网页课程设计期末作业下载 清明节大学生网页设计制作成品下载 DW节日网页作业代码下载
- rpmbuild告警mangling shebang in xxx from /bin/python to /usr/bin/python/python2.
- Android 签名机制原理解析和V1 、V2签名区别
- 基于Laya实现ViewPager页面切换效果