下载 App
开发日志 #1 — 当森林学会“自己长出来”:《我的可爱森林》
2 小时前10 浏览综合

一个人肝了4天,一直没时间整理日志,今天到现在这项目差不多定型了,补上日志。
这次大赛命题是《涌现》。我想做的恰好就是它:不靠脚本一只只塞动物,让生命从你搭的环境里自己冒出来。
我给自己立的四条规矩
- 没手牌,卡都摊桌面:两张对的叠一起就合成,玩家是园丁不是上帝。
- 时间自己走,但玩家能控:生态以“月”为单位推进,可暂停、可加速。
- 任何卡都不能凭空冒出来:只能源于 合成 / 繁殖 / 迁入 三条路(“兑换”已砍)。
- 长出生命 ≠ 刷怪:你只摆泥土和草,兔子狐狸自己来;生灵有寿命,真会死。
这四条都是为了同一件事:让“涌现”不是口号,而是代码真正兜得住的玩法。
第一天:从格子到桌面
立项当天把底层玩法从“格子网格”改成了“桌面卡牌堆叠”——格子装不下流动的自然(清水汇水洼、腐肉被蚂蚁搬走、幼树要挨着腐殖质)。顺手补齐了子堆拆解、战斗吸附、月末硬阻断、凋萎残骸等机制。
中段做了一次架构大扫除:把判定里的卡 ID 全去掉改成读数据表,官方内容与玩家 MOD 走同一条数据管线。游戏从“我写死的东西”变成“数据描述的世界”,可视化 MOD 编辑器也顺势做出。第一天打下的无头自检底座,后来成了规矩的自动守门员。
生态时钟:以“月”推进,可暂停可加速
它不是真实日历,而是一套游戏内计时:1 个月 = 90 秒(配置可调),每月含 4 个昼夜微循环(白昼占每段前 65%)。玩家随时能暂停,也能用 1x/2x/3x/5x/10x 倍速快进。HUD 显示“第X月”加一条 90 秒生态进度条,另有和月份脱钩的累计游玩时长。每月结算按季节掷签天气,平时由顶部天气栏按间隔甩出阳光 / 雨水 / 龙卷风卡。
物质不灭的循环
这是“涌现”最底层的燃料:生灵有寿命(老死)、会饿(饿死)、会打仗(战死);老死的野兔原地掉腐肉;腐肉被蚯蚓、蚂蚁分掉转成腐殖质;腐殖质反哺旁边幼树。没有一步是系统替你安排的,全是局部规则碰在一起长出的整体循环。还有水体累积链:清水→水洼→池塘,水会自己往低处聚,带一点蹦跳走路的小动效。
不刷怪,却“长”出了狐狸
很多放置游戏靠定时刷怪,但我定过卡不能凭空冒,所以狐狸没法从天降。办法是每月结算时的迁入:你在草甸养出一群野兔(狐狸的猎物基础),结算时系统发现场上有成规模低级生物,域外赤狐就被“吸引”自己迁入——没兑换、没代价卡、没交易,纯靠“生境够好,上层就来”。
这正是涌现的样子:个体只守简单局部规则(有草→兔来;兔多→狐至),整体却浮出谁都没写过的复杂结构。同期做了双列配方图鉴、自动挂机、MOD 编辑器、数据体检工具;最后还加了写进代码的自动校验(新卡耐久回满、合成中的卡不会被吃/被挤),让设计初衷每次跑起来都被盯着。
做到了什么,还差什么
第一阶段目标都达成,主干演替、最小食物链、物质循环、数据驱动与 MOD 化落地,还多了成就和自动挂机。也留了几道待解的小问题:一份卡牌配置出过非法 JSON(多逗号会让整表加载失败);“耐久”字段又当血量又当存活月又当新鲜度,有点乱;永久水体消失规则还没和文档对齐;“小昆虫死掉什么都不掉”和物质不灭底线对着干,得补分级残体。
回到命题
最骄傲的不是某张卡,而是这一幕:玩家只摆下泥土和清水,屏幕上真的长出一整条会死、会重生、会自我维持的森林食物链。没有一行代码“命令”狐狸出现,它只是环境成熟后自己浮出来的结果。这,就是我交给《涌现》的回答。











