门被锁上了。钥匙能带你出去,但钥匙不在你手里。这是旁白开口说的第一句话,语气不急不躁,甚至带着一点挽留的意思——它更希望你留下来。
![]()
这就是 Hidden Objects 的设定。它把 Blender、Maya、Unity 用户再熟悉不过的大纲栏(outliner,列出场景中所有对象的面板)改造成了一道谜题:房间的画面是残缺的,旁白给出八条谜语,每条描述一个画面里并不存在的物体。你在大纲栏里点中对应的名字,物体就会出现,下一条谜语随之开始。最后一个名字是钥匙,钥匙开门。
规则很克制:点错一个名字扣 25 分,错三次门就不再打开;没有倒计时,谜语需要时间想;眼睛图标也没法作弊,没找到的物体始终是隐藏状态。
在这个「机器中的幽灵」主题里,幽灵就是旁白本身——一个住在场景文件里的声音,把你的东西藏了起来。物体刻意选得普通:钟、镜子、花瓶、灯、凳子、植物、画框,以及那把钥匙;南瓜、蜡烛和彩灯则把房间装点成万圣节的样子。每一句台词都按低龄玩家的理解力来写。答错了,你会听到一句「错了。我不着急。」
旁白背后是 Gemma
旁白跑在 Gemma 上,这是谷歌的开放权重模型家族,任何人都能自己运行。线上站点用的是 DigitalOcean 无服务器推理上的 Gemma 4 31B(gemma-4-31B-it);本地机器上则通过 Ollama 跑 Gemma 3 4B(gemma3:4b)。两边用同一套提示词和同一套校验。
Gemma 在这里干两件事。第一件是决定你下一个找什么:每条谜语开始前,服务器告诉它哪些物体还没被找到、哪些已经找到、你错了几次,它回一个物体名和房间灯光的情绪。线上站点一次真实回复不到一秒:
- {"id": "mirror", "mood": "still", "line": "I see myself."}
游戏只接受仍处于隐藏状态的物体。回复迟了或者不合法,就回退到预先写好的顺序,游戏不会停下来等模型。
第二件是让旁白每次听起来都不一样。所有谜语和台词都是写死的,但在被念出来之前,Gemma 会用新的措辞把同样的意思重写一遍,所以第二遍玩不会像在放录音。一次本地运行中,原本的台词「镜子出现了。看一眼,然后移开视线。出口不在另一面。」被改写成:「只是倒影而已,亲爱的。仔细看着它,然后把目光移开——答案藏在别处。」
改写只有满足条件才会被采用:必须写完(最多两句)、不能剧透(不能出现原句没提过的物体)、还要通过面向儿童的过滤。否则就播原句。
它算智能体吗
算,是个小号的。智能体就是模型待在一个循环里:看到状态,选一个动作,再被调用去看结果。Gemma 每一轮都在做这件事。但它没有工具,没有自己的记忆,也没有最终决定权,因为游戏可以拒绝它的任何一步。它是个只被允许挪动家具的幽灵。
hiddenobjects.tech 是完整游戏:房间、语音、DigitalOcean 上的 Gemma,无需登录。选「进入房间」,听,然后点你认为谜语所指的名字。拖动或使用 WASD 环顾四周。关掉语音,每一句台词仍会显示在屏幕上。
代码在 GitHub 仓库 AbisoyeOnanuga/hidden-objects(MIT 协议)。想在本地玩,一个 PowerShell 脚本会装好 Ollama 和 Gemma 3 4B,然后运行 python server.py,打开 http://127.0.0.1:8765/ 即可。
整个项目三个页面文件、一个 Python 服务文件,没有框架,没有构建步骤。页面是纯 HTML、CSS 和 JavaScript,房间用 SVG 绘制,可拖动的镜头保证每个物体都在画面内;服务端只用 Python 标准库,/act 处理 Gemma 的回合,/speak 处理语音,API 密钥不会进入浏览器;语音用 ElevenLabs Flash v2.5,每个词念出的同时显示在屏幕上;托管在 Render 的 Web 服务上。
最难的部分不是模型,是轮次控制。旁白如果自己抢话就会显得坏掉,所以每句台词都走同一个队列:迟到的回复不能打断谜语;提前点对会直接跳到下一条谜语;点错要等你听完整个谜语才计数;结尾那句永远单独播放。
因为 Gemma 的权重是开放的,旁白不被锁在任何一家公司的服务器上。同一个游戏,线上用 DigitalOcean 上的 Gemma 4,离线用笔记本上的 Gemma 3,一个环境变量就能切换;校验规则可以对着本地模型免费反复调,线上模型拿到的是同一套规则;就算托管模型消失了,任何人仍能对着本地 Gemma 玩,而完全没有模型时,写好的脚本照样能让这个房间运转起来。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.