游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4506|回复: 6

[转载] 三千字告诉你,畅销榜前十的游戏是如何取随机值的

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-4-25 11:34:09 | 显示全部楼层 |阅读模式
1.jpg

有这样一款游戏

  • 是一款经营模拟游戏
  • 由内购(划掉)手游大厂EA制作
  • 杀入美国iOS畅销榜前十
  • 持续运营4年仍保持不错成绩(2014年上线,2018年9月30日仍排畅销榜98)


它就是SimCity BuildIt

image002.jpg
可以看到即使运营了4年,他的成绩还是很稳的

今天将要说明的就是它的产出及消耗数值的计算方式

注:本文只介绍已有游戏取随机值的方法手段,不展开讲思路的优劣

首先确定模拟城市的规则

产出规则

产出分为不同的店铺,每个店铺里能产的材料是固定的

店铺分为产基础材料的(不需要原料,有多个队列)和高级材料的(需要原料,单队列)两种,通过基础材料合成为高级材料,一是增加了操作及收获的反馈,二是通过建立层级,减少了材料的数量,避免游戏数值过度膨胀

消耗规则

以当前等级可以消耗的材料为范围,消耗的材料是在范围内随机的

同类材料的消耗数值是较小的

同一等级升级需要的材料数量也是随机的

同一等级升级最多需要三种材料

明确规则后,拆分三张表,分别是消耗计算表,调整和产出表,还有随机值表,其中调整和产出为产出物的价值,剩下两张是计算表,这样准备工作就完成了。

image003.jpg
“开始建造你的第一个房子吧!”

1,材料范围

首先从消耗的材料中入手,先确定每一级材料的定价(略),然后根据材料定价和消耗定价算出该级是否能用到某种材料

材料范围的基础公式是:

image004.jpg

其中调整和产出!$E$29和调整和产出!$F$29为材料的取值范围,调整和产出!$C$29为对应材料的序号

这个公式可以返回可选材料的对应值

因为每级需要最多三种材料,所以对第二种和第三种材料做额外处理

首先去除第一种已选好的材料,然后判断此级的消耗定价减去第一种材料对应的消耗定价乘以数量,满足则赋值空,否则返回对应材料的序号

第二种材料范围的公式:

image005.jpg

第三种材料范围的公式:


image006.jpg

image008.jpg
“盖起这幢大楼需要铲子,木头,和一颗瓜子”

2,随机值

确定了材料的范围,可以进行取随机值得计算,使用随机和计数公式可以取到符合要求的随机值。

取随机值的基础公式:

image009.jpg

同理,因为不一定存在第二,第三种材料,所以后两种材料的随机值也要做额外处理

第二种随机值的公式:

image010.jpg

第三种随机值的公式:

image011.jpg


3,确定材料

到这步已经知道每种材料的取值范围和随机值了,然后用排序及取值公式,取到此级别消耗的材料。

材料取值的基础公式是:

image012.jpg

其中D2是该级消耗的定价,25为该级消耗小于最小材料定价时的赋值,$O2AL2为对应材料返回值的范围,调整和产出!Q4为第一种随机材料的名字

同样,第二种和第三种材料的取值需要做额外处理

第二种材料取值的公式:

image013.jpg

第三种材料取值的公式:

image014.jpg

image016.jpg
能同时生产全部基础资源的万能工厂

4,材料数量

在上一步,我们取到了确定的材料,所以可以用逻辑及搜索的公式,配合材料的定价,求出对应材料的数量

这种材料数量的基础公式:

image017.jpg

其中$F4为此次升级对应随机的材料数量,调整和产出!$C$5:调整和产出!$F$30是定价范围,虽然看起来公式很长,但只是多了一层嵌套

在做第二种数量的时候尝试了多加辅助列减少公式难度的方式,其中G5为第二种材料的名字,I5为辅助列

第二种数量的公式:

image018.jpg

辅助列的公式:

image019.jpg

第三种数量的公式:

image020.jpg

image022.jpg
材料生产出来了,发展壮大你的城市吧

5,产出及优化

总结一下,我们的做法是先给定消耗的定价和材料的价值,然后确定对应级别消耗材料的范围,通过取随机值在其中获得材料,计算出材料的数量,然后如法炮制,获取全部三种材料。

至此,根据以上公式,我们求出了想要的值,为了优化阅读体验,还可以用搜寻的公式,把编号转化为文字,再进行一些页面的排版,就可以获得较容易阅读的数值产出了

image023.jpg
最后的输出,对于数据还是做了进一步的处理,读者朋友们看出来了吗

(作者授权游资网发布)


作者:米特
来源:知乎
原地址:https://zhuanlan.zhihu.com/p/48506959

0

主题

104

帖子

559

积分

高级会员

Rank: 4

积分
559
发表于 2019-4-25 16:15:18 | 显示全部楼层
很认真的没看明白。。。

8

主题

54

帖子

322

积分

中级会员

Rank: 3Rank: 3

积分
322
发表于 2019-4-26 18:25:21 | 显示全部楼层
demeng 发表于 2019-4-25 16:15
很认真的没看明白。。。

表述成一坨屎的文章,看懂才怪了,小编也是夏姬八转。

0

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2019-4-26 20:47:27 | 显示全部楼层
白沐当风 发表于 2019-4-26 18:25
表述成一坨屎的文章,看懂才怪了,小编也是夏姬八转。

嗯,业外看不懂正常,不是写给你们看的

0

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2019-4-26 20:52:47 | 显示全部楼层
demeng 发表于 2019-4-25 16:15
很认真的没看明白。。。

就是如何用excel计算simcity中材料的消耗数值,基本都是做法,有点枯燥

0

主题

14

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2019-4-28 10:45:54 | 显示全部楼层
业外的说看不懂可以说是看的人不懂 业内的人看不懂可以说是看的人不专业 总之作者这种人就是不会意识到问题是出在自己身上

0

主题

31

帖子

201

积分

中级会员

Rank: 3Rank: 3

积分
201
发表于 2019-4-28 12:16:12 | 显示全部楼层
总结:逆推了这个游戏的随机值是如何取的。完毕
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-14 12:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表