网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月19日
漏签
0
天
星球基地吧
关注:
7,529
贴子:
45,950
看贴
图片
吧主推荐
玩乐
7
回复贴,共
1
页
<返回星球基地吧
>0< 加载中...
【数据向】游戏内核被破!源代码解析游戏引擎算法(持续更新)
取消只看楼主
收藏
回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
破解dll的作者在官方论坛上发表了帖子,地址:
http://planetbase.madrugaworks.com/board/viewtopic.php?f=4&t=577&sid=9fbc5b2b4308085ccbb5192b98767494
然而最坑爹的是官网对此视而不见。。。
以后此游戏发展MOD将成为可能,比如添加新的建筑新的玩法等等。
我闲着无聊来解析一下游戏对于一些数据的处理(持续更新)。
送TA礼物
1楼
2015-10-30 16:02
回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1、有关于贸易飞船(trading ship)
其实。。。有关于佣金的算法是这样的。。。
对!你没看错,跟什么声望半点关系都没有。它就是个随机函数。。最低百分之35,最高高达百分之70.。。这就是个看脸的数字。。
2楼
2015-10-30 16:05
回复(8)
收起回复
2026-02-19 02:38:35
广告
不感兴趣
开通SVIP免广告
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有关于每次飞来的贸易飞船的类型,一共有六种,分别是:
RawMaterial,稀有材料
Medical,医疗用品
Food,食物
Industrial,工业
Electronics,电子
Count杂货
前五种都是有特定商品限制的,然而第六种没有,这在后面会详细说明。
游戏的算法会首先计算来的飞船的种类:
当你处于系统认定的特殊状态时(缺少食物,零件数为0,医疗包数目为0),你会得到系统的“特别关照”,贸易飞船会有三分之二的几率来的是你需要的类型。还有三分之一会是杂货船,啥都有。
(缺少食物的 具体标准是你的食物少于【殖民者的数量+5】/10)
然而如果你处于 “非特殊状态”,就是这三样并不缺,那么你会有5/12的可能性能迎接到杂货船,其余的7/12来的是随机的特定种类商船。(数据是我自己算的,如有认为不准确的欢迎留言)
7楼
2015-10-30 16:20
回复(4)
收起回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
接下来就是重头戏:每次来的飞船有多少资源是怎么计算的了,在此之前,我想把所有资源会出现在哪种飞船上整理一个列表方便大家对照(机器人和科技许可有单独的计算方法,以后会提到)
Starch:RawMaterial
Ore:RawMaterial
Metal:Industrial
Bioplastic:Industrial
Spares:Industrial
Gun:Industrial
Meal:Food
Vegetables:Food
Vitromeat:Food
AlcoholicDrink:Food
MedicalSupplies:Medical
MedicinalPlants:Medical
Semiconductors:Electronics
Coin:Any
11楼
2015-10-30 16:36
回复
收起回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
讲算法太无聊。。还是说一点有聊的数据吧
·你已经买到的科技肯定永远不会出现在商船里
·一次你只能最多买到一种科技
·特定种类的商船只会出现该种类的科技,并且小船比大船几率要小
小船是百分之20,大船是百分之33
·杂货船出现科技的概率小于特定船,但是种类是全的
小杂货船几率为百分之11,大船为百分之20
20楼
2015-10-30 18:14
回复(1)
收起回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
好了接下来是分配数量环节,比较复杂。。。
杂货船(跟其他特定船是分开算的)
所有刚刚那张表里列出来的物资你都有三分之一的可能性能抽到!每种物资都会被分配到一个0.8到1.2之间的一个随机数(x),然后除以该物品的价值。比如如果游戏引擎抽到了芯片,这个数字就会被除以40得到(a)。
等到所有种类的物资都被系统抽过了以后,系统会将所有得到的a相加得到总值,然后拿每个物品的a除以这个总值得到b,这个b其实就是来的这艘飞船内该种物品的占比。
这种算法其实是在保证物品的数值和价格基本平衡的基础上多一点随机性,因为如果x取1,那么其实飞船上带的每种的价值是相同的。
下一步,游戏会根据来的船是大船还是小船算一个此次携带物资的总量
如果来的是Freelance小船,这个数值(y)会取25.5到34.5,如果来的是Corporate大船,这个数值(y)会取51到69
(计算方法是船的容量除以2上下随机浮动百分之15)
y会被系统乘以b,然后向最靠近的一个整数取整,得到的就是这种物资的具体数值!这应该不难理解。
22楼
2015-10-30 18:42
回复
收起回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
游戏中风的算法是包含在时间算法中的。。也就是与时间同步更新,如图:
很遗憾,我沿着这条线路一路找了下去,发现每个星球的mDaytime和mNighttime属性,也就是昼夜长短时间的属性都储存在游戏目录的prefab文件夹下,然而目前没有办法打开assets文件取出这一类的东东。。。当然也有发现,那就是。。。。。每个星球的昼夜长短其实是不同的,要不然也没必要写这段。。。
以上这两段合起来的意思代表游戏中的时间跟现实中时间比例为120:1,我也是想了很久才想明白这段代码表达的意思。。
31楼
2015-10-30 22:52
回复(6)
收起回复
最后的幽灵骑兵
明日帝国
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
接下来就是风力更新的算法了。。
出乎我的意料。。并不如我跟好几层楼之前小伙伴说的一样。。风力的计算只有一种算法两种情况:没大气层的星球和有大气层星球,当然我看了一下现在的三颗星球。。两颗是大气层密度高,一颗是没有,现在只写一种算法也没有错。。。
然后这一种算法内有特殊状态,玩过的小伙伴们都知道,沙尘暴的时候 风力肯定是满的,这就是第一种状态。
第二种就是正常状态了,由于游戏的timestep,就是刷新频率并不能在源代码中看到,我就只能通过在实际游戏中测量得到,估计就是准确值:0.5s
(注:这并不是fixedtimestep游戏计算刷新值,这只是个适用于环境算法的数值而已。。。)
假定timestep=0.5,我们得到这样的结果:风力会随机在10秒到20秒内进行一个最多每秒+-百分之2.5的变化趋势刷新。
这么说可能不太清楚,换句话来说就是在这10秒到20秒随机的时间内,风力是匀速变化的,然而这个匀速变化的状态持续的时间和风力变化的速度全都是随机的,也就是说风力可能维持不变20秒都是有可能的,当然可能性微乎其微。
32楼
2015-10-30 23:23
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
冬奥首金落袋!苏翊鸣生日夺金
1787970
2
好事成双,徐梦桃冬奥卫冕
1679767
3
苟延残喘,A站拜年纪凉透
1654464
4
岛国纯幻想!国产科技已杀疯
1620729
5
机器人变印度造,三哥真敢吹
1154894
6
papi酱反讽某晚视频遭下架
1061950
7
钓鱼佬立功,吧友勇救轻生女孩
1011120
8
B站弹幕假?新年快乐被404
974648
9
AI大战:鹅厂阿里双双出局
745690
10
公共呼吸权,香水味先下车
561204
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示