Apexs Solutions
TooSmartGames 厂牌开发中案例草稿

Container Life

仓储间竞拍模拟游戏

玩家不看里面就为上锁的仓储间出价,把赢下的东西拉回自己的仓库,再亲手拆开。整款游戏都撑在一个问题上:你手里这件东西究竟值多少钱。

打开画作展示页

整款游戏围绕的三件事

不是仓库经营,也不是点点点。更接近一位鉴定师的工作 —— 每一次都拿自己的钱去赌自己的眼力。

货位靠盲拍买下

仓库把卷帘门打开一分钟。不能进去,不能碰,可以用手电照。出价只能靠纸箱的轮廓,以及原主是怎么码放的:整整齐齐一摞相同的箱子,和一堆垃圾,值的钱完全不同。

东西要用手认

拍下的集装箱要一件件亲手拆:打开箱子、把东西拿出来、在眼前翻看。每件都有自己的状态 —— 锈迹、缝隙里的污垢、磕碰。清洗和小修能提价,但要花时间,还可能把易碎的东西彻底毁掉。

价格由玩家推断,而不是界面告诉你

游戏不会在物品上方标出它值多少。一开始要把发现送到鉴定师那里,对方收钱,还要等上一天。慢慢地,玩家自己就能认出款识、材质和流派 —— 也就不再为自己已经看得出来的东西付费。

画作生成器

画是唯一一类价格不取决于物品种类、而取决于画面本身的发现。同一张画布、同一个画框,可能是超市里两百卢布的海报,也可能是价值百万的签名原作。这让它成了这套机制最理想的物品:只有凑近细看,才知道自己面前的是什么。

我们需要一套「用眼睛就能看出价值」的画。我们按模型的几何尺寸量出游戏里四种画框各需要什么比例的画布,写了一张 351 条提示词的表 —— 从丝绒小丑、按号码填色,一直到荷兰黄金时代 —— 然后交给文本模型跑了一遍。

表里每一行都有自己的价格、自己的流派,最重要的是自己的特征:那些老练的眼睛应该能在画面上看出来的东西。这些特征必须用文字写进提示词 —— 否则画面上根本不会有,整套鉴定的门道也就变成了猜谜。

篮子里小猫的甜腻印刷画
篮子里的小猫,印刷品
滑稽画作:穿马甲的狗在打牌
狗在打扑克
对著名肖像画的戏仿,画中模特换成了一只猫
对馆藏肖像的戏仿
印象派罂粟花田,两个人打着阳伞
罂粟花田,印象派
荷兰室内场景中窗边持信的少女
荷兰室内场景
画家在画室里对着画架的自画像
画架前的自画像
十八世纪一位政治家生前所绘的肖像
生前所绘的肖像
带瀑布的浪漫主义荒野全景
带瀑布的全景
351
幅画作
220 秒
跑完整批
$1.97
整套成本
5
个价值等级

玩家靠什么学会看价

价值一共分五级,区分它们的不是标签,而是画面上能看到的东西。一开始这些差别由付费鉴定师说出来,后来玩家自己就开始注意到了。

  • 网点和摩尔纹说明是印刷品,不是手绘。
  • 笔触的凸起和鬃毛的痕迹说明是手绘,不是批量印刷。
  • 龟裂纹和发暗的清漆说明有年头了。
  • 画面下方铅笔写的版数说明是石版画。
  • 签名压在清漆之上而不是之下,说明是赝品。

真跑一遍之后发现的问题

提示词是提前写好的,纸面上看着没问题。第一批跑出来就暴露了三件模型文档里读不到的事。

这个模型没有负面提示词

在普通提示词里写「不要画框、不要卡纸」只会适得其反:模型读到的是名词,然后就把它们画了出来。九张一组的试跑直接证实了这一点 —— 带否定的那版返回的正是我们想避开的白边。

「一幅画的照片」这个说法会招来卡纸边

第一版包装词以「square-on photograph of a painting」开头,八张里有六张出现了白边:画作的照片本来就可能带边框,模型于是把它补上了。解决办法是把这个词去掉,改用画面里实际有的东西来描述取景。

提示词里只写人名还不够

名人往往有一个著名的银幕形象,生成器就直奔那个去:写上某个海盗的名字,出来的是电影里那位一眼认得出的演员。而「狮鬃一般的头发」这个比喻被照字面理解,于是画出来的不是肖像而是一头狮子。现在外貌一律用文字描述,提示词里不再有比喻。

351 幅画作一页看完

带价值等级和画框筛选的展示页。每幅画都能打开大图、估价、特征,以及生成它的提示词。原始文件有 583 MB;页面压到了 25 MB,其中缩略图网格占五 MB。

打开画作展示页

音乐:一张九首曲目的专辑

游戏里所有声音都由代码合成,但音乐有一种正弦波给不了的质感。曲目由生成而来,再靠耳朵挑选:先是三种不同语汇的试样 —— lo-fi、氛围和南方蓝调 —— 然后围绕胜出的那一种做变体。第二批从二十八份草稿里挑。最终留在游戏里的是九首:四首有词的歌和五首器乐曲,这个页面上也按同样的两组划分。

音乐没有固定的场景归属,这同样是一个决定。最初由场景决定播哪首 —— 四首主题加一张「场景—主题」对照表 —— 但玩家一局里会在场景之间往返几十次,每次进场都被交叉淡入打断的歌,一次都没能唱到第二段。现在只有一张专辑,到处都放:曲目表从随机位置开始循环,角落里会显示七秒的字幕 —— Cargo Waves 和曲名。

原声音乐9 首 · 19:30
  • 歌曲
  • 器乐

换曲是交叉淡入

上一首在两秒半里淡出,同时下一首进来。为此游戏里保留了两个音源:只有一个的话,切换就成了半拍上的硬切。

循环之间留白

一首放完后会安静一分半。游戏本身是沉浸型的,一局很长,最先让人厌倦的正是不间断的音乐。

从磁盘流式读取

两分钟的曲目解压进内存约占二十兆,而且整局都留在那里。所以音乐采用流式读取,这个模式由导入后处理器设定,而不是靠手动勾选。

技术细节

引擎

Unity 6, URP, C#

平台

PC 与 PC VR 出自同一个构建

画作生成

fal.ai z-image/turbo

音乐

ElevenLabs Music

模型与贴图

Poly Haven, Meshy, Blender

案例草稿:本页只能通过直接链接访问,不会出现在项目列表里。

Container Life | Apex Solutions