下载 App

开发者日志 03:食堂开门以后,队伍开始有自己的时间表

修改于10/2111 浏览综合
大家好。
上一篇我先把黑白纸片的表现收住了:拥堵时会出现一份一本正经的小公文,疏通时真正移动的人会抬手,成功和失败也各自盖章。画面终于能把状态说清楚了。接下来我想确认另一件事:如果把这群人放进一个更像日常生活的地方,“排队”这个想法还能不能继续成立。
所以这一轮我没有继续堆装饰,而是做了一个食堂试做切片。它对应的是 10 月 3 日左右的版本,仍然是我一个人做的 PC 单机项目。食堂不是把原来的背景换成几个窗口就结束了,我想借这个场景验证:当终点从“离开队伍”变成“去对的窗口取餐”以后,原来那套简单规则会不会长出新的问题。

先做四关,不急着做完整食堂

我把食堂单独做成一组四关,同时保留原来的 12 关。这样做有两个原因。第一,我需要一个边界清楚的切片,能在一轮里把餐票、窗口和容量从头验证到尾;第二,如果食堂的规则还没有说通,就不应该靠更多地图把问题盖住。
这四关的人数是 8、12、16、18,难度不是靠突然加快速度,而是逐步增加队伍需要理解的关系。每个人手里有自己的餐票,窗口只接待某些票,窗口前还要留出可以服务的位置,窗口容量也会影响后面的人能不能继续往前走。玩家还是只调整路牌,人物仍然自己走;变化来自“这张票现在有没有合适的地方去”,而不是我直接把谁拖到窗口前。
第一关很克制:一种餐票,一个窗口,8 个人。它先让玩家看明白,窗口不是装饰,人物必须走到能接待自己餐票的地方,取餐完成以后才算离开。
第二关变成两股入口、两种餐票和两个窗口。12 个人从不同方向进来,队伍看上去仍然是一条条简单的路线,但中间已经会互相影响。这里要看的不是“能不能把箭头指向窗口”,而是两边同时进人以后,某一处空位被占用,会不会把另一股队伍也堵住。
第三关把人数加到 16,并加入交替出现的餐票和三处窗口。窗口有服务格容量,部分人不能永远沿着第一次选好的方向走,需要在运行中根据票面重新分流。这是我第一次把“改一块路牌”之外的判断压力放进来:玩家要观察队伍正在拿什么票,也要看哪个窗口还有位置。
第四关有 18 个人,三个窗口会随着时间换接待的餐票类型,而且第二股入口会在稍后加入。刚开始看起来正确的路线,过一会儿可能就不再正确。这个变化让我意识到,食堂里的排队不只是空间问题,也有一点时间问题:窗口还在原地,规则却已经换了一档。
这四关目前都有我写出来的可通解,但“有解”只说明规则和关卡数据能对上,不代表第一次玩的玩家一定能马上看懂,更不代表难度已经调好了。这些要留到真正的 PC 试玩。

餐票要出现在规则里,也要出现在画面里

做食堂时,我最怕的是把玩法藏在代码里,画面只剩下几个人和一排柜台。于是我把餐票符号放到了人物身上,也放到了窗口卡片上;窗口卡片会显示当前接待的票、服务容量和换档提示,入口处也会留下即将进场的票面信息。
TapTap
真实运行截图:食堂试做 03/04。画面暂停在便于检查的状态,可以看到三张窗口卡片、○/△/□ 餐票标记、人物配件和不同的等待姿态。
人物也没有因为换了场景就变成一套新的素材。我继续使用不规则的圆身体和四根短肢,只给他们加上可复现的顶部样式、随身小配件、低饱和强调色和餐票符号。有人焦急地张望,有人耐心等着,也有人像快要睡着了。它们不会偷偷改变移动速度或胜负,只是让“正在等什么”更容易被看见。
我还把行走、等待、取餐和疏通拆成不同的动作状态。动作相位跟着模拟时间走,暂停时不会偷偷往前,重开时也会回到干净的准备状态。这样截图里的姿势才是局面的一部分,而不是绘图函数临时编出来的一层贴纸。

做到第四关时,窗口开始有自己的时间表

第四关是这一轮最像“食堂”的地方。窗口不是永远只收一种餐票,而是会在几个时间段里换档。画面里要同时给出三件事:现在接什么票、之后会换成什么、队伍里的下一批人从哪里来。
TapTap
真实运行截图:食堂试做 04/04。窗口卡片显示换档后的接待关系,画面暂停在队伍重新分流前,方便检查当前路线和票面。
这也让“成精了”的感觉有了另一种来源。人物没有突然变聪明,他们只是继续拿着自己的票往前走;窗口也没有理解整张地图,它只是在当前时间接待某一类人。可是当票面、容量、入口时间和路牌方向叠在一起,队伍就会表现出一种像在自己安排秩序的样子。
从制作上看,这一关让我第一次认真区分了“规划”和“调度”。规划是开局前想好大致路线,调度是发现窗口换档以后,运行中给后面的人让出另一条路。玩家需要先规划,再接受局面会改变这个事实。

一个很具体的错误:结算还以为只有 12 关

食堂四关接进战役以后,我以为最容易出错的会是餐票路线,结果先出问题的是结算文案。原来的 View.lua 把战役完成写死成“12 关全部通行”。食堂明明只有四关,打完以后却会继续用旧战役的数字说话。
我先加了一条食堂专用的画面断言,让它在错误状态下直接跑起来。第一次红灯不是一句“数量不对”那么简单,而是报了 attempt to call a nil value (field 'GetCampaignCompleteText')。这说明我在测试里已经假定了一个按战役生成文案的入口,但显示层还没有真正提供它。
我随后补上 View.GetCampaignCompleteText,让它根据当前战役的关卡数量生成结算文字,再让 View.Refresh 使用这个结果。修正后的同一组检查是 19/19,通过后我才继续做截图和其他回归。
这个问题让我有点后怕。新增一组关卡时,最容易盯着地图、窗口和人物,觉得能走通就算完成;但玩家最后看到的那句结算话,同样属于规则的一部分。如果它还在讲旧故事,整个场景就会显得像临时拼接上去的。

我怎样确认这一轮真的跑过了

我先跑了纯 Lua 回归,覆盖双战役、食堂四关、人物样式、表现断言和静态路线配置:CampaignSpec 通过 16 组,CanteenSpec 通过,CharacterStyleSpec 检查了 12 种组合和 4 种等待风格,VisualSpec 有 494 个断言,StaticRouteSpec 检查了 8192 个静态配置。已知的食堂四关解法都能通关,但正式入口没有加载测试解法。
然后用本机 UrhoX Windows 运行验证。默认 Smoke 是 99/99,食堂画面和窗口换档各是 19/19,Lua、资源和引擎错误统计都是 0。截图是实际渲染画面,并且停在方便检查票面和窗口状态的时刻,不是我后期画出来的效果。
这轮也留下了一个需要继续处理的边界。我请求过 1024×600 和 1920×1080 两种尺寸,断言仍然通过,但测试窗口没有真正调整成功,实际截图还是 1740×921。因此我不会把它写成已经完成多分辨率验收。高 DPI、连续缩放、长时间运行,以及第一次打开时玩家能不能读懂餐票,都还没有被这几张图证明。

食堂让我重新理解“排队”

做完这个切片,我更确定《排队成精了》不该只表现“人很多所以堵住”。食堂里的每个人都有一张票,窗口有能接待的范围和容量,时间到了还会换档。每个人仍然只做一件很简单的事,但这些简单事情叠在一起以后,队伍会逼着玩家重新安排顺序。
一个人做项目时也常有类似的时刻。把新窗口、新人物、新关卡加进来并不算最难,难的是让它们仍然听得懂前面已经定下来的规则;有时候真正需要的不是再开一个窗口,而是先确认眼前这个窗口现在到底还能接住什么。
这不是想把游戏写成一碗鸡汤,只是我在这轮制作里反复遇到的事实:事情往前走,不一定是因为所有人都更快了,也可能只是有人看清了当前该去哪里。
到这里,食堂四关作为一个真实可运行的切片已经完成,但它还没有经过真人第一次上手的检验。下一篇我会把版本交给 PC 试玩,重点记录玩家是否能看懂餐票、能否理解窗口换档,以及 16 到 18 个人同时进场时,等待会不会显得不公平。那时我再决定哪些地方需要改,而不是先替玩家宣布它已经足够好。
00:34
《荒原复苏指南》开发日志④:关卡演示堂堂袭来!!截图
《荒原复苏指南》开发日志④:关卡演示堂堂袭来!!
- 人类曾因掌握元素合成技术而一度辉煌,又因滥用元素能量而逐渐从内里衰败。 - 30世纪80年代。社会文化充斥着激进乐观主义与庞大机械美学,在这里,污染和能源共生,幸福与痛苦并存。官方广播和宣传画里依旧在宣扬“科学将战胜一切”、“元素能量将再造新农田”的口号,而世界主城却已经因为污染过度而濒临崩溃、空间挤压严重。为了寻找新的生存空间与无污染能源,官方启动了“重构拓荒计划”。 - 玩家将作为前线拓展
18 赞
6 回复
【童谣镇】聚光灯第二次开发日志截图
【童谣镇】聚光灯第二次开发日志
开发进度: 美术 1、主角人物立绘已细化完成 2、所有NPC的QQ人形象与呼吸动画已设计完成 3、大部分UI界面已设计完成 4、面包房建模与树屋建模以及基础房屋、路灯、树木模型已完成。 5、制作过场动效,制作通用动效材质ing 6、广场资产替换、永续桥和植被的资产替换、房屋资产替换,河流制作 7、学校模型的材质完成 8、石墩子、小道具模型制作ing 9、NPC正比胸像绘制ing 策划 1、任务系统
16 赞
10 回复
01:21
【开发日志07】《我记得》|Windows 里的光与细节截图
【开发日志07】《我记得》|Windows 里的光与细节
第七篇日志,想带大家重新看一遍《我记得》的世界。 最近把录制切到了 Windows,也把 DLSS 加进了这次画面展示。以前日志里放出的主要是 Mac 开发版,这次可以换个角度看看:屋顶追逐时掠过的建筑、第四章跳跃后展开的另一重世界,还有 Boss 战里不断变化的光影和攻击。比起只看静态截图,我更想看看这些细节在奔跑、转场和战斗中能不能保持清楚。 这次实录使用 RTX 4060,开启 DLSS 质
5 赞
5 回复
00:07
雨天決行 开发者日志02-人工智能的自我修养截图
雨天決行 开发者日志02-人工智能的自我修养
又和大家见面啦!第二篇日志,说实话一开始不知道该怎么编排,但团队里惊喜的成果越来越多,我们已经迫不及待把更新的内容端上来给大家啦!那么事不宜迟,快来看看都有什么新情报吧ദ്ദി˶ー̀֊ー́ )✧ 一.美术(重磅升级) 以主美小为的生命力作为燃料(bushi)本次美术组取得了大进程!首先是各个ui界面的优化和细化,上次大家看到时还只是初具雏形的草稿,现在大多都完整起来了哦! 同时,随着配色的补全,手
43 赞
39 回复
开发日志01截图
开发日志01
“涌现” 1.读作 ‌yǒng xiàn‌,意思是(人或事物)在同一时期大量出现,或者突然出现。‌‌ 2.科学含义‌:在复杂性科学里,涌现指大量简单个体相互作用后,整体产生了单个个体不具备的新特性,也就是“整体大于部分之和”,比如蚁群表现出的智慧、人工智能大模型的推理能力。 刚看见这个题目的时候,有一点点懵。看了词语解释之后,才有了一点想法。 考虑到时间还有个人开发的能力限制,目前决定做一个纯粹的
2 赞
【涌现符】开发日志#1截图
【涌现符】开发日志#1
大家好,我们是电子织机队,核心成员都来自同一个学校社团。 经过了五天的设计大烧烤终于把玩法大概定了下来。虽然题目一出大家立刻都想到了涌现式玩法,但是在这么短的时间内设计出优秀好玩的涌现式玩法对于没有太多经验的学生还是难度颇高,涌现式叙事对于没有专门编剧的我们队也难以达到理想的效果。 皮尔斯提出的"Symbols grow"是一个很有趣的概念,也即一个符号在使用中产生解释,解释引导预期和行动,经验又
4 赞
2 回复
《涌》开发日志 #1:在从深圳去海南的船上,我想了一整天的玩法截图
《涌》开发日志 #1:在从深圳去海南的船上,我想了一整天的玩法
本期进展 这次聚光灯本来不打算参加的。大四了,事情一堆。后来看到赛制里可以做纯 H5——不用下载不用安装,浏览器点开就能玩——我转念一想:写代码的活儿反正交给 AI,我负责想玩法和挑毛病,那就参加吧。 开题那天是 10 月 1 号,我正好在从深圳回海南的路上。白天在车上晃,晚上还要坐过海的船,船上睡不踏实,就在那种又困又清醒的状态里,把玩法想了一整天。 想出来的就是《涌》。 一句话说:你在一卷展开
4 赞
1 回复
《源墨名出》开发者日志 01|情绪会变成颜色,也会淤成一团墨截图
《源墨名出》开发者日志 01|情绪会变成颜色,也会淤成一团墨
大家好,这里是脑洞俱乐部,很高兴能够站在这里与大家一同参加本次聚光灯大赛。 10 月 1 号题目公布 ——「涌现」。我们盯着这两个字沉默了三分钟,然后有人说:要不,我们聊聊情绪吧。 于是就有了《源墨名出》 我们是怎么理解 "涌现" 的? 我们觉得,情绪这东西本来是看不见的。但当它被你看见、被你说出口、被人接住的时候,它就 "涌现" 成了具体的样子 —— 我们让它涌现成了颜色。 红是愤怒,橙是喜悦,
19 赞
14 回复
个人向TapTap聚光灯GameJam经验分享截图
个人向TapTap聚光灯GameJam经验分享
首先简单介绍下我们的项目。 《机类Botkind》,名字借鉴于人类humankind。 核心玩法:编辑指令来控制机器人个体行为,进而在工厂中实现自动化产线 游戏类型:模拟经营,自动化,增量(存疑),编程启蒙(雾) 如题所示,这是一篇个人向GJ经验分享,面向对GJ流程好奇想要尝试或已经在尝试的同学,可能会包含很多主观见解。笔者在这次GJ里作为新人队长和主策划带领了一支十一人的新人为主的学生队伍完成了
4 赞
1 回复
《达尔文农场》开发日志#3截图
《达尔文农场》开发日志#3
我只是想养鸡,怎么还得管生态平衡? 给鸡多加一点草,它们就能一直繁殖吗?🐔 如果天气变干了,这片地还能养活原来的鸡群吗? 今年的 TapTap 聚光灯,我们准备做一款围绕生态模拟与演化的游戏《达尔文农场》🌱 在这个小世界里,温度、湿度、植被和动物种群会相互影响。你可以干预环境,再观察动物怎样生存、繁殖、竞争,以及它们的性状如何随着环境压力发生变化。 我们想做出的乐趣,是那种“我只改了一点点,怎么整
7 赞
1 回复