下载 App

【开发日志】5

7 小时前4 次播放综合
🎮 游戏开发日志
📅 记录日期:2026-10-19
这大概是我这篇开发日志的最后一版了。
游戏平稳落地了。上次写日志的时候我说「能平稳落地对我来说已经是最大的成就」,当时还有点自我安慰的意思;现在回头看,这句话是真的。
horizontal linehorizontal line

一、风格是我自己选的,代价也得自己付

上次聊到资源和管线不兼容的坑,这次说一个更隐蔽的。
我做的是低分辨率像素风 —— 画面先渲染成小尺寸,再放大到屏幕,所以才有那种一块一块的颗粒感。这个质感我很喜欢,也是整个游戏视觉的根基。
但玩家一进关卡就发现:暗的地方会出现纯红、纯绿、纯蓝的色块。
我第一反应是后处理出 bug 了,查了很久,甚至怀疑是边缘检测的着色器把噪声放大了。后来才想明白 ——
不是 bug。暗不是原因,暗只是显影液。
低分辨率意味着采样点少得多。画面正常亮度时,误差会被邻居平均掉;一旦整个区域压到接近 0,每通道的值就落在 0 和 1 的量化边界上,量化误差开始随机翻转 —— 而 R、G、B 三个通道的误差是各自独立的。最近邻放大再把单个「算错」的像素变成一整块。
所以那些色块,本质上是风格的代价。换全分辨率渲染它就不存在了,但那样也就没有像素感了。
最后我选择不改。它就在那儿,是这套美术语言的一部分。
horizontal linehorizontal line

二、学习

这部分是我这次学到最多的。
游戏里那颗空白球会自己学习:10 级开 Q 表,15 级换成 DQN。我以为写个强化学习就完事了,结果踩了一路的坑。
第一个坑:它的决策间隔是 0.8 秒。
听起来不长,但 0.8 秒里怪物能走两格,宠物只走一格。也就是说,它做一个决定的工夫,局面已经翻了个面 —— 怪物从「在我前面」变成「在我后面」。同一个状态对应的下一个状态千差万别,Q 值被平均成一团噪声。这在强化学习里叫「时间混叠」。
改到 0.05 秒之后,实际节拍就自动等于「一个动作走完的时间」,正好是一格。
第二个坑:动作一次都没真正执行过。
改完间隔一测,决策周期变成 0.01 秒 —— 一两帧一次。查下去发现「到达半径」设的是 1.2 米,而格子边长是 2 米。目标只要在它当前格附近,就立刻判定「到了」,动作等于空操作。它每帧都在做决定,每帧都没动。
第三个坑最离谱:满级之后它就不动了。
玩家反馈「满级后站着不动」。我查了很久,最后发现 —— DQN 在关卡里的动作白名单,从来没开过导航动作。
代码里有一句注释写着设计:「主世界给 0/1/2,关卡给 0/3/4/5」。但关卡那一半从来没实现过,默认值一直是 0/1/2 —— 打转、破坏、创造。只有白盒实验室手动设过。
所以它没满级的时候用 Q 表(吃果子、待机),一直在动;一满级切到 DQN,动作集里只剩三个跟位置无关的 —— 它就站着打转。
还有一次,它卡在「找吃的」里不动。原因是:场景里一颗食物都没有,它还是每帧都想吃。 想吃 → 找不到 → 失败 → 下一帧又想吃。无限循环。
horizontal linehorizontal line

三、我最想说的:奖励设计

这是这个游戏里我最有信心的设计,也是我最想跟玩家说的话。
游戏里按 Tab 打开状态表,第二页叫「奖励设计」,有九根滑杆:
吃到食物 1.0          饿着还待机 -0.1
残血还待机 -0.5        不饿不伤时待机 0.05
想吃但场上没有 -0.2
吃到星星 1.0          走到出口 5.0
被怪抓到 -5.0          怪贴太近 -0.05
你改的不是数值,是它的价值观。
它怕不怕被咬、想不想吃、愿不愿意离开那扇门 —— 全由你决定。而且改完立刻生效,它下一拍就按新的价值观行动。
所以我把这九根滑杆接到了十二个结局上。
比如:
  • 把「被怪抓到」调成正数 → 它开始往怪物身上撞 → 结局叫「飞蛾」
  • 把「走到出口」调成 0 → 它满级了,却从没走出过那扇门 → 「守夜人」
  • 把「吃到食物」调成 0、饿着待机还是罚分 → 它每天都饿着 → 「苦行僧」
  • 什么都不给 → 「空壳」
  • 一次都不碰,保持默认 → 「优秀训练师」
一共十二个:飞蛾、囤积狂、莽撞训练师、慎重训练师、空壳、大胃袋、守夜人、苦行僧、冬眠、另一个你、完美主义、优秀训练师。每个都有独立的插图和一段话。
触发过一次之后,这个存档就不会再触发任何结局 —— 一局只有一个答案。想换一个,得开新游戏。
我做这个,是想让「你调滑杆」这个动作有重量。你随手按的那几下,最后会变成一个具体的词,写在书上,给你看。
horizontal linehorizontal line

四、核心循环

有人问我这游戏到底在玩什么。我想了一下,最准确的说法是一句话:你观察它 → 觉得它哪里不对 → 改它的价值观 → 看它下一拍怎么变。

目标

玩家的目标是三层的,而且是逐渐浮出来的:
  1. 表层:把它养大。看着一颗白球变成别的样子。
  2. 中层:让它去做你想让它做的事 —— 去抢星星、别去送死、别一直打转。
  3. 深层:给它一个你自己认可的价值观,然后看它最后变成哪个词。
第一层是一上手就懂的;第二层是玩了几局才明白的;第三层是拿到第一个结局之后才反应过来的。

规则

  • 它的经验按时间涨,不看你怎么操作 —— 你没法「练」它,只能等它长。
  • 每隔一段(0.3~0.7 秒)它做一次决定,能选的「念头」是固定的:
  • 10 级以前:没有(它什么都不做)
  • 10~19 级:吃经验果 / 吃饱食果 / 待机
  • 20 级:打转 / 去星星 / 去出口 / 躲怪(关卡里)
  • 它在乎什么,完全由那九根滑杆决定,而且改完立刻生效。
  • 关卡里:星星够了门才开;怪物会看见你、听见你、记住你最后一次出现的位置。
  • 结局是一次性的 —— 触发一个之后,这个存档不会再给第二个。

反馈

反馈分三个时间尺度,这是我特意设计的:
时间尺度你看到什么
几秒状态表里它的「最近动作」变了;音效(吃到星星 / 被咬 / 追逐音)
几分钟等级升、外观变、新行为解锁(10 级开始自己找果子,20 级开始自己躲怪)
一局书翻开,一个称号,一张图,一段话
短反馈让你知道「它还活着」,中反馈让你知道「它在长大」,长反馈告诉你「你把它教成了什么」。
如果只有前两个,这就是个挂机游戏;加上第三个,它才成了一个关于选择的东西。

一句话概括循环

┌─────────────┐
│  观察它的行为 │
└──────┬──────┘
       ↓
┌─────────────┐
│ 发现它做错了什么 │
└──────┬──────┘
       ↓
┌─────────────┐
│ 按 Tab 调滑杆  │
└──────┬──────┘
       ↓
┌─────────────┐
│ 看它下一拍怎么变 │
└──────┬──────┘
       ↓
     回到第一步
一整局下来,这个循环会走几十次。每一次你都以为自己在调参数,其实你在回答一个问题:什么东西值得它去在乎。
horizontal linehorizontal line

五、游戏里现在有什么

主世界
一片像素风的森林。你会遇到一颗白色的球 —— 它什么都不懂,但它会长大。
  • 五个阶段:lv0 空白球 → lv5 幼体 → lv10 感知体(Q 表上线)→ lv15 认知体(DQN 接管)→ lv20 创造体
  • 10 级之后它会自己走去吃果子;15 级之后它开始打转、破坏、创造
  • 地上有土、草、水、火、木、石、云,还有两种果子,各有形状
  • 踩地上的青色圆环可以选关进关卡
开场剧情
点「新游戏」之后会翻开一本书,讲一个生活失意的人出海、遇风暴、坠入数据流海洋,醒来时身旁悬浮着一颗白球。文字逐字浮现,翻完点击继续。
关卡
黑暗迷宫,里面有星星、有出口、有怪物。
  • 你和空白球都在抢星星 —— 它吃的也算数,门要靠够星星才开
  • 怪物会看见你、听见你、记住你最后出现的位置
  • 被追的时候屏幕下方会闪 RUN —— 那是给你看的,也是给它看的
  • 三个场景:新手迷宫、大迷宫、以及一个纯训练场(白盒实验室,没有玩家,你可以纯看它自己玩)
白盒实验室
这是我给自己(也给好奇的玩家)准备的地方:没有玩家、没有 UI,主视角直接给到空白球身上。它在里面无限复活,你可以站在旁边看它一次次尝试。
horizontal linehorizontal line

六、结局

根据奖励设计和通过大迷宫的结局:
飞蛾、囤积狂、莽撞训练师、慎重训练师、空壳、大胃袋、守夜人、苦行僧、冬眠、另一个你、完美主义、优秀训练师
例如:
飞蛾
怎么调:把「被怪抓到」从 -5.0 按到正数(比如 +1)
书上写:
它开始往怪物身上撞。
不是勇敢。是你把「疼」调成了「好」—— 现在靠近危险对它来说是件正确的事。
它很高兴。它一路都很高兴。
触发点:通关大迷宫。
守夜人
怎么调:把「走到出口」从 5.0 按到 0
书上写:
它满级了,却从没走出过那扇门。
你把「走到出口」的奖励抹成了零。它围着门转了无数次,每一次都只是路过 —— 因为对它来说,门后面没有任何东西。
它不害怕。它只是不想走。
触发点:满级。
还有我自己玩的结局
horizontal linehorizontal line

七、最后

一个人做 3D 游戏,从零学起,中间想过好几次「要是当初做 2D 就好了」。
但如果是做自己想做的事,真的不会觉得枯燥。
这个游戏没有多厉害 —— 它只是一个能被你调教的东西,在你面前慢慢长成某个样子。
然后有一天它满级了,书翻开,上面写着一个词。
那个词是你教出来的。
感谢每一个愿意打开它的人。
— 2026-10-20
01:00
浅浅试玩一下截图
浅浅试玩一下
两位新人(没错就是我们)勇闯聚光灯gamejam!清新可爱画风,俯视3D解谜~ 浅浅试玩一下[心动小镇_点赞] #浅评一下 #游戏日常 #单机游戏 #独立游戏 #解谜游戏
21 赞
2 回复
01:33
【聚光灯游戏推荐第三期】游戏荒?别划走!截图
【聚光灯游戏推荐第三期】游戏荒?别划走!
#发现好游戏 #平台跳跃 #猫 #人工智能 #推箱子 #反转 #发现好游戏 #聚光灯gamejam开发者日志 #聚光灯游戏开发心得接力
4 赞
01:45
【聚光灯游戏推荐第一期】游戏荒?别划走!截图
【聚光灯游戏推荐第一期】游戏荒?别划走!
本期视频精选了TapTap聚光灯中5款脑洞大开的独立游戏,绝对让你眼前一亮!👀 1. 《我的BUG猫》- 靠游戏BUG通关,猫咪也能冒险 2. 《致·爱丽丝》- 弹珠操纵战斗,绝地大翻盘 3. 《归途》- 现实和虚拟切换,开启双重解谜之旅 4. 《我和我的小动物庄园:旅途》- 可爱肉鸽,小小农场主的森林冒险 5. 《逃离黑客夫》- 赛博世界穿梭,一无所有或应有尽有 哪一款最能戳中你?欢迎在评论区聊
4 赞
3 回复
03:29
开发日志1 | 原型验证截图
开发日志1 | 原型验证
第一版在Godot里验证了玩法的可行性,测试了n次录制出来唯一一次通关的(笑 #聚光灯gamejam开发者日志
4 赞
00:22
开发日志3 武器系统截图
开发日志3 武器系统
当前武器分为3种:激光武器,实弹武器,导弹 激光会以光速前进,实弹武器会依照武器初速与飞船速度叠加,导弹会预判交汇点追踪目标#聚光灯gamejam开发者日志
05:37
开发日志#4 巨大猫猫BOSS 2截图
开发日志#4 巨大猫猫BOSS 2
#聚光灯gamejam开发者日志 绩点卷了科研做了SCI发了顶九Offer拿了但是保研被学院做局后,晚上一直睡不着觉想到的【玩法雏形】。 收尾了!
1 赞
01:51
【开发日志】4截图
【开发日志】4
#聚光灯gamejam #聚光灯gamejam开发者日志 🎮 游戏开发日志 📅 记录日期:2026-10-19 首先,祝贺我的游戏已经平稳落地。刚开始做的时候,我信心还是挺大的,觉得一个人花这么多天,应该可以做出一个简单的游戏。而且第一次参加 Game Jam,按理说最好从 2D 游戏入手;但我之前没做过 3D,所以也想借这个机会尝试一下 3D,顺便提升自己。刚开始还算顺利,AI 验证 Demo
13:46
开发日志#6 最终BOSS截图
开发日志#6 最终BOSS
#聚光灯gamejam开发者日志 绩点卷了科研做了SCI发了顶九Offer拿了但是保研被学院做局后,晚上一直睡不着觉想到的【玩法雏形】。 尝试成为本届最爽boss战?
2 赞
1 回复
02:30
开发者日志09截图
开发者日志09
#聚光灯gamejam开发者日志 好耶!终于有可以分享的内容了,之前模式开错了一直做不出来游戏呜呜呜,今晚激素开发一下,希望能按时过审
1 赞
01:59
开发者日志09截图
开发者日志09
#聚光灯gamejam开发者日志 喵?闹喵荒了!是一款肉鸽打怪模式,玩家为了拯救喵星的危机,不得不去与喵星人*互动*,因为喵星人患上了一种*不与人类互动就浑身难受*的病,身为喵星人保护协会的一员,玩家需要尽可能地与喵星人进行*互动* 明天就能写好剧情了喵,加了一个开局引入的场景喵。角色模型敲定好了
2 赞