云风:游戏数值公式的表象与本质

2023-12-15 02:18

本文主要是介绍云风:游戏数值公式的表象与本质,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从为我们的游戏设定角色基础属性,以及设计战斗伤害的计算公式开始。

计算机里的一切问题都是数学问题。

这句话可能不太确切,但是目前一切利用计算机解决的问题,都必须先表达成数学形式,我想没有太多人会有意见。计算机游戏本质上也是一段交给计算机运行的程序,必须先转化成数学形式。这个转换过程无论是交给游戏策划来做还是给程序员来做,都无可避免。

转换的过程必然有损于原始设计初衷;策划做的时候往往不太能掌握数学语言,有失准确;而程序员总是刻板的追求形式上的统一,而失去细节(神韵?)。大多数人都趋向于游戏的表象而忽略本质,这不单是某一个人或某一类人常犯的错误。

扯点时间久远点的例子。我们知道中国人比古希腊人更早发现了勾股定理,但是西方人依旧把直角三角形直角边的平方和等于斜边的平方称为毕达哥拉斯定理。

杨辉三角形为每个程序员所熟知(大部分编程入门教材上都会用这个做编程习题),但是数学上,我们用的更多的对应名词是牛顿二项式定理,虽然中国人早了至少 300 年发现它。

抛开民族自豪感这些东西,当我们仔细比较上面两个例子中前后两者对同一数学定理的见解,我们会发现,它们其实是表象和本质的差别。只有我们用演绎的方法证明理解数学定理时,才能看透本质,并做出推广。摆脱事物的表象,用符号工具单纯的研究他们之间的关系,正是我们许多人思维中缺失的能力。

在我很小的时候,读数学科普读物。曾经嘲笑过毕达哥拉斯因为不能理解无理数而杀死他的学生;也没觉得负数是一个了不起的发现,而欧洲的数学家到 16 世界还不承认它。

直到中学时,接触到复数的概念,才觉得数学的神奇。然后回过头来思考,为什么一个小的数字减一个大的数字的结果是负数?负数到底是什么?问这些个问题时,我才明白,绝对不能轻视古人。看清事物的数学本质是件多么不容易的事情。明白自己其实什么都不懂只是一个开始。

扯远了,还是谈游戏。

拿魔兽世界(后面全简写作 wow )举例说事,恐怕是唯一不容易遭人非议的了。我们注意到, wow 之前有很多网络游戏,甚至暴雪之前也有一款很接近现代网游的游戏—— diablo 的 battle net 版,都采用了一种让玩家展现个性化角色的设计。那就是随着升级,为角色自由分配属性点,再由属性点影响角色的能力。

我可以举出长长的例子证明这一点,甚至电脑 RPG 的鼻祖,D&D ,也是有自由加点的设定的。虽然 D&D 里玩家可以加的点很少,暴雪在 diablo 里加强了这个设计。

为什么在这么多已有的网游中,大家都沿袭了这个设定,把它作为提供玩家个性化的必要手段时,暴雪绝然抛弃了它,把个性化转移到了天赋系统中。是为了创新吗?我不是暴雪的游戏设计师,我没有答案。但我们知道,暴雪从来不是一个以创新为名的游戏制作公司。而天赋树从外观上看,就是 diablo 中技能树的延续。

熟悉 wow 的玩家可能会说,是为了平衡。没错,但这是表象。我们需要进一步看清本质。

前段试玩了一个新出的网游,工作需要。可能是我已经厌倦了 wow ,对 wow like 的东西更提不起精神来。我试图说服自己,我觉得这个游戏比 wow 还无趣,是因为早先年打 wow 打累了。一丁点不如 wow 的地方都会被放大来看,甚至比 wow 做的好的,也会被忽略掉。

在公式化的游戏进程里,我玩到了游戏设计者“体贴”玩家的地方,比如升级飞快,轻松的接交任务等等。但是让我能理解,又觉得不可理喻的地方是,游戏依然保留着“传统”MMORPG 的设定,那就是每次升级都可以自由分配属性点。

亲身体验后,更加坚定了我的想法:自由分配属性点在大多数游戏中是一个极其鸡肋的设定。

或许是大部分游戏设计师认为,我们要提供给玩家一些自由度,而用户接受了自由加点这个设定,那么这就是一个廉价稳定的方案,我们也要提供它,没什么坏处,不是吗?

其实,大多数用户根本不知道他们真的需要什么,只是服务提供商对他们反复强化一些东西,这些东西反过来才成了必须品。在软件行业中,这样的例子比比皆是。“不要听用户的”是我去年听到的深合我意的一个声音。当然,千万不要曲解这句话。我从来没有否认过,用户调查,市场分析,等等这些对于游戏开发的重要性。

作为游戏设计人,我们到底想提供给用户多少自由度,怎样的自由度,这些都必须在设计时考虑在内。我们不是神,可以创造出简洁的自然法则构建出如此复杂的世界,任其发展。而且上百亿年了,其中的智能生物都无法完全了解这些规则。

说回属性点自由分配的设计,看似自由,比如一个小角色从1 级到满级可能得到上十点甚至上百点自由分配组合在 4 到 6 个不同的属性上。实际上,真正有用的组合方式寥寥无几。有天真的设计师,指望玩家可以摸索出超出自己想象的自由属性点组合方案吗?如果真的出现了,那么对游戏平衡一定是一个灾难。

如果你有信心对你没有预料到的东西做出合理的判断(不至于引起灾难),那么只有一种可能,那就是你做出了数值背后更深层次的规律的探索。可惜,大部分设计师没有这么做。

总结一下。如果你给了玩家一些自由度,让他们自由组合一些东西,达到个性化的目的,那么在设计阶段,作为设计师的你,就一定要全面列出所有的组合可能,并一一对其审视。

几十上百个的属性点自由分配的组合方案,从绝对数字上说实在是太大了。没有人会一一排到纸上演算。实际上也没有这个必要,因为大多数组合间是有规律的,不至于把量变堆积为质变。大量的组合方案在对玩家来说都是无意义的,没有人会那么组合,除非他犯错误,否则一定能找到一个达到他期望目的(PvP PvE 或者别的目的)的更优解。

从我信奉的 KISS 哲学上看,允许这么多理论上的属性点组合方案本身就是一个错误。如果我们希望玩家有 10 种个性化方案,就应该用最少的元素提供出 10 种这个数量级的变化规则。而不是提供上千种,让玩家从中选出 10 种。网络游戏中,提供自由度而存在的规则和设定不是为了考验玩家的智力(有时连智力都不需要,只需要机械性的忍受力)而存在的。

我相信很多人在接触一款新游戏时,都有过和我一样的迷茫:不知道升级后点该怎么加,只是无谓的犹豫不决,或是干脆一古脑把点全加在最需要的方面(比如物理攻击职业把点全堆在力量上)。


--------------------------------------------------------------------------------

再来看看,大家沿袭最多的 MMO 系统,还是暴雪的——装备系统。很多玩家迷恋于装备上 +20 力量,+10 敏捷这些属性点加成。

我想大家在开发网游的时候,也自然而然的把这个系统做进产品里去了吧。

提一个问题:为了暴雪在做的时候,不把 +20 点力量直接写成 + XXX 点伤害力呢?这样玩家不就可以直接知道这个东西对他有什么好处了。

在 diablo 的年代,属性点意味着高级技能学习的先决条件;而 wow 中,同样的属性点,对于不同职业的实际效果反应是不一样的。比如敏捷可以增加盗贼的攻击力,而对战士则没有这样的效果。即使是同样依赖力量增加战斗力的职业,一点力量意味的伤害力的增强也是不同的。

所以,本质上,wow 中属性点到实际伤害计算公式中参量的变换,是为同一装备对不同职业的效能差异服务的。如果 wow 中,每个职业都用他们各自专有的装备,互不影响,那么,属性点的设计就是多余的。至少没有必要展现给玩家看,只让它作为设计战斗公式时的辅助工具就够了。


--------------------------------------------------------------------------------

几年前,我曾经跟一个同事争论过一些游戏数值设定的方法。我坚持认为,一切都是数学公式,我们在设计时完全可以用 A B C D E 代替我们想要的东西,甚至一些公式也不用先定好具体函数是什么,而只需要根据最终的需要反过来推导。反正最终都是一些初等函数的变换,不可能跳出大框价。

但是很多设计师总期望先从现实中或是小说设定中找到对应物,非搞清楚为什么力量影响攻击力,根骨导致 HP 总量更长。那些名词到底是什么更为重要。以此可以展开更多的想象。

我说的名词还包括,“法师”、“战士”、“盗贼”、“牧师”这些……

最近我自己在做数值设定了,亲身感受后,果然合适的名词的确能辅助设计。没错,我们总需要借助一些更有意义的词来在头脑中建立起概念。但是,最终我也发现,一旦能克服对这些名词的依赖,纯数学的构建出基本的关系,无偏袒的,只为了数字上的平衡和变化去设计整体的框架。后期再根据需要找到合适的词并套入系统,以此展开细节上的联想,效果可能更好。更能帮助我们跳出玩过的前人的总总游戏的框架,找到新的东西。

这篇关于云风:游戏数值公式的表象与本质的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494728

相关文章

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

二维旋转公式

二维旋转公式 ros的tf工具包可以很方便的实现任意坐标系之间的坐标转换。但是,如果只是想简单的测试想法,而又不想编写过于庞杂的代码,考虑自己写二维旋转的函数。而与二维旋转问题对偶的另一个问题便是二维坐标系旋转变换。这两个问题的形式基本一样,只是旋转的角度相差一个负号。就是这个容易搞混,所以做个笔记,以备查用。 1. 二维旋转公式(算法) 而(此文只针对二维)旋转则是表示某一坐标点 ( x

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决 问题描述 最近在投一篇期刊论文,直接提交word文档,当时没有查看提交预览,一审审稿意见全是:公式乱码、公式乱码、乱码啊!!!是我大意了,第二次提交,我就决定将word文档转成PDF后再提交,避免再次出现公式乱码的问题。接着问题又来了,我利用‘文件/导出’或‘文件/另存为’的方式将word转成PDF后,发现公式

nyoj 1038 纸牌游戏

poj 的一道改编题,说是翻译题更恰当,因为只是小幅度改动。 一道模拟题,代码掌控能力比较好,思维逻辑清晰的话就能AC。 代码如下: #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{char c[5];int rk;char da[5];int nu

如果出一个名叫白神话悟空的游戏

最近黑神话由于与原著不符引起了原著派的争议。 所以我在摸鱼的时候想到如果游科或者某个别的公司“痛改前非”不夹带私货完全复刻吴承恩百回版剧情制作一个“重走西游路”的游戏,会有一个什么样的销量?(设定为原著派已经多方渠道认证,此游戏的确没有夹带私货,绝大部分复刻了原著剧情) 游戏玩法我想了几类 超长线性有岔路蜈蚣形状地图,蜈蚣的腿部是探索区域和支线,重走西游路线,开篇就是开始取经前唐玄宗御弟cg

《黑暗之魂2:原罪学者》是什么类型的游戏 《黑暗之魂》可以在苹果Mac电脑上玩吗?

在宏大的世界观游戏中,《黑暗之魂2:原罪学者》脱颖而出,以其探索性和挑战性征服了全球玩家的心灵。下面我们来看看《黑暗之魂2:原罪学者》是什么类型的游戏,《黑暗之魂2:原罪学者》可以在苹果电脑玩吗的相关内容。 一、《黑暗之魂2:原罪学者》是什么类型的游戏 《黑暗之魂2:原罪学者》作为《黑暗之魂2》的增强版和重制版,是一款FromSoftware制作、BANDAI NAMCO和FromSoft