通过阅读饥荒代码理解树人机制

本文通过阅读饥荒源代码,详细解析了树人的生成与睡眠机制。从tuning.lua和tuning_override.lua的宏常量设定,到pinecone.lua中的树人睡眠触发,再到evergreen.lua中树人生成与苏醒的逻辑,揭示了树人在游戏中的行为规律。每个部分结合代码片段进行了深入阐述,为理解游戏机制提供了依据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过阅读饥荒代码理解树人机制

在百度上搜索了很久,各大中文论坛中都没有找到有关饥荒游戏中树人生成及睡眠机制的具体说明。饥荒官方社区中也没有说明,最终我打算通过查看饥荒源代码,解释树人的机制。为增加论述的可信性,本博客采取代码文字相结合的方式进行说明。

注:1.本文选取的代码为github仓库中brustlinker上传的2017年版本,暂且认为其为官方代码。
2.本人没有使用过lua语言,很多理解使用的是java里的机制。
3.本篇文章为自娱自乐,希望大家轻踩,但很欢迎有关问题的探讨。

宏常量设定代码tuning.lua

首先找到了tuning.lua文件,这是所有文件中包含数值最多的一个文件,其中设定了很多游戏本身的宏常量,在此找到了一些默认偏好下有关树人的基本属性,如图1所示。其中关键信息包括树人的三维,以及一些刷新有关的属性,默认下生成开始天数为3,刷新概率为1/75,生成距离为15。(剩余含chill的属性为其冷静的有关信息,将在后面进行解释)。
由此我们可大概猜测其生成方式与随机概率及生存日期有关,但其具体生成方式仍需查看其生成代码。
图 1 tuning.lua中的有关树人的生成代码
图 1 tuning.lua中的有关树人的生成代码

偏好设置tuning_override.lua

图2中为不同设置偏好下的树人刷新开始日期及树人刷出概率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值