cataclysmdda吧 关注:21,775贴子:338,337

回复:大家关注过cdda的消化系统模拟吗

只看楼主收藏回复

原来这么复杂


IP属地:湖北来自Android客户端17楼2024-11-25 20:24
收起回复
    先补充一个关于胃容量和食物体积的问题:
    熏肉的体积是0.25L,小at的默认胃容量是2.5L,那么小at吃第几块肉会提示已吃撑了?9、10还是11?
    都不是,答案是最多吃7块!
    食物的json中定义了其热量、重量和体积,但我们不能直接使用这3个数据
    首先要算干体积,扣除其水分,每1解渴5ml,没有或负数则不计,然后如果重量比体积小,则使用重量的克数替代体积的毫升数继续下面的计算
    接下来计算热量/干体积,最小为1,1-3之间取实际值,大于3则取(3*商)的平方根,得到体积系数
    用干体积*体积系数得到有效体积,这个体积用于消化计算
    以下是几种常见食物的数据:


    IP属地:陕西18楼2024-11-25 21:27
    收起回复
      大佬!!!


      IP属地:河南19楼2024-11-26 14:06
      回复
        考虑到你游吃得多吃得少其实都不算什么好事+实质上不太可能会缺食物
        这个系统基本上不会影响玩家的进食策略吧,只能说搞出这个系统的确实是jsbt了(赞扬


        IP属地:北京来自Android客户端20楼2024-11-26 15:26
        收起回复
          更正几处:
          18楼的表格数据没错,但是有几个表头写错了,用于计算体积系数的是热量/干质量


          IP属地:陕西21楼2024-11-26 16:02
          回复
            然后水吸收的部分,和固体物质是一样的,肠循环无意义
            在胃循环后,直接就减少最大50口渴(每5ml减少1口渴,最大250ml)


            IP属地:陕西22楼2024-11-26 16:05
            回复
              然后
              这类“药物维他命”的生效方式是口→胃→血液,在经过1次5分钟周期后,胃里的“药物维他命”就会直接被吸收而不需要经过肠道周期
              这一行需要重新确认一下
              胃→血液的周期是30分钟而不是5分钟,这个是明确写错了
              但是胃→肠吸收的drug,后续会如何处理,可能需要再看一下代码实现


              IP属地:陕西23楼2024-11-26 16:25
              收起回复
                看了好多大佬的帖子了,感谢大佬科普


                IP属地:云南来自Android客户端24楼2024-11-27 05:22
                回复
                  我们再看看小at每日热量消耗的情况。
                  一个出生在避难所的全8属性微胖身高175左右无变异默认角色,其bmr大约是1850,如果一天24小时一动不动,那么他消耗的热量就是最小值1850kcal,如果24小时不眠不休保持极限运动状态,可能达到的最大热量消耗是bmr的10倍即18500kcal。
                  考虑到睡眠时的消耗减少,将一天三等分,大概有以下9个等级:
                  ①8小时睡眠,8小时读书,8小时轻微活动,消耗倍率约1.3;
                  ②8小时睡眠,8小时轻微活动,8小时轻体力劳动,消耗倍率约2.3;
                  ③8小时睡眠,16小时轻体力劳动,消耗倍率约3;
                  ④8小时睡眠,8小时轻体力劳动,8小时中体力劳动,消耗倍率约3.6;
                  ⑤8小时睡眠,16小时中体力劳动,消耗倍率约4.3;
                  ⑥8小时睡眠,8小时中体力劳动,8小时重体力劳动,消耗倍率约5;
                  ⑦8小时睡眠,16小时重体力劳动,消耗倍率约5.6;
                  ⑧8小时睡眠,8小时重体力劳动,8小时极限状态,消耗倍率约6.3;
                  ⑨8小时睡眠,16小时极限状态,消耗倍率约7;
                  实际情况中,因为移动本身就是中活动强度,而对于挖矿、伐木这样的极限运动状态,角色很快就会疲劳需要休息,两头的情况不太可能出现。
                  我们按照8小时睡眠、4小时读书及休息、4小时轻微活动、2小时轻劳动、2小时中劳动、2小时重劳动、2小时极限状态,模拟一个理想状态下小at长周期中的日均热量消耗,列在最后一格。
                  运动情况、疲劳、体力消耗、热量消耗都是5分钟粒度的,实际计算会更复杂,有兴趣的可以在游戏中测试一下。


                  IP属地:陕西25楼2024-11-27 12:15
                  回复
                    刚刚发现了一个bug:
                    由于解渴函数计算方式的问题,玩家可能从食物中吃进远大于食物体积的水到胃里,同时得到一个负数的干体积
                    例如草莓果酒1单位是42ml,但是有15解渴
                    15解渴=75ml水,经过计算后会倒扣干物质体积
                    结果就是喝一口草莓果酒胃里有75ml水和-53ml干物质


                    IP属地:陕西26楼2024-11-27 12:34
                    回复
                      本来我是想继续对比热量需求和热量密度并举出几种饮食方案的,但是因为ls这个bug,某些食物的计算会有问题,这一步先跳过吧


                      IP属地:陕西27楼2024-11-27 16:17
                      回复

                        还有一个问题,是关于食物的“满足”这一栏
                        其实这个代表的是食物能量密度的高低,而非每一份食物能填充多少胃部空间,减少多少饥饿
                        事实上,只要进行了进食行为,角色的饥饿度是会被立刻清零的
                        我在21l贴出的热量/体积基本对应满足的高低
                        但是这个函数目前也是有缺陷的,等我提个PR改一下,改完再继续聊这个吧


                        IP属地:陕西28楼2024-11-27 16:35
                        回复
                          我去,太复杂了


                          IP属地:安徽29楼2024-11-28 20:42
                          回复
                            大佬太强了 高能量密度和低能量密度食物消化起来的区别看来比想象中更复杂


                            IP属地:上海来自Android客户端30楼2024-11-28 22:21
                            回复
                              PR还没合并,等合并了就更新
                              说一个小知识:避难所提供的蛋白口粮吃多了会有debuff,那个debuff是“恶心食物”这个维生素的过量症状
                              “恶心食物”这个维生素只有蛋白口粮有,每份5点,代谢速率是4h/1点,吃一根的量就得一天才能代谢

                              不过这个debuff除了持续扣心情倒也没什么了


                              IP属地:陕西31楼2024-12-02 12:14
                              收起回复