短剧看上头了,我拿AI做了个恋爱修罗场
最近,我有点沉迷短剧。
看短剧的时候,我会在看到一半时忍不住替角色接台词。
男主一句话没说对,我替他急。女主刚准备转身,我又想喊一句你先别走。看多了以后,我突然冒出一个很直接的念头:与其对着别人的剧情干着急,不如我自己做一个。
我是老金,做了15年游戏,现在又天天折腾AI。短剧里的狗粮当然好看,真正让我上头的却是那个临门一脚——例如这种画面,门一开,前任站里面,假女友还没松手,你到底怎么接。
所以这次,我先给自己定了一个目标:做一个能让人亲手选、亲手翻车、也能亲手补救的恋爱小游戏。
名字开始就上强度,直接叫《糟了,假女友当真了》,有短剧那味儿了。
短剧里的人物一多,谁知道什么、谁和谁经历过什么,都得捋清楚人际关系,才能一直看下去。
但是做成互动游戏以后,玩家还会自己选、自己说,记忆就难处理了。你答应过谁、跟谁说过悄悄话,不能换个人聊天就混在一起。
为了解决这个问题,我这次选了MemOS来做记忆方案,准备让它记住每个角色和玩家之间发生过的事。也会参考MemOS团队的PHASE-Tree:比如某位NPC可以记牢一件事,后来对你的态度会随着相处慢慢变。
这次的UI、角色、场景,以及游戏代码,均由Codex完成,使用的Astra,一天就搞定了。
这几样怎么放到一个游戏里,我们一点一点往下看。
图片加载中…
先定个人物关系和场景
故事发生在一档海边恋爱节目里,男主是一名成年摄影师,来参加节目,身边是三位和他关系不同的女生。
沈予棠是事先谈好配合的假搭档,林知夏是意外重逢的前任,许星遥看似初次见面,却知道他不喝冰饮的习惯。
三个人掌握着他的不同侧面,也各有还没说出口的事。
我选这个组合,一是让它符合短剧的通用设计,二是想让同一句话落到不同人耳朵里,会有不同的分量。
打个比方,男主为了让假搭档安心说的话,可能恰好让前任难受。
恋爱节目这个场景短剧和综艺做了八百年了,也不会很突兀。
剧情也会好做很多,大家需要一起吃饭、拍照、接受采访,私下又会单独相处。有些话可以关掉收音设备慢慢说,有些问题却必须当着所有人的面回答。人物反复见面有理由,想躲也没那么容易。
开场我贴脸开大:沈予棠正替男主别领夹麦,前任恰好出现在门后。几个人的关系还没来得及解释,男主就得先回应眼前这个局面。
图片加载中…
我喜欢的短剧开头,常常就是一个动作、一句问话,已经足够让人看懂谁在靠近谁、谁不高兴、谁有话没说完,直接就能把情绪给吊起来。
我想借用这种进入故事的速度,把人物介绍放进碰面和反应里。
把最想插嘴的地方,交给玩家
看短剧时,我经常觉得自己知道男主该怎么说。
真把回答做成选项,才发现难处恰好在这里:坦白会不会让另一个人难堪,含糊带过又会不会留下更大的麻烦?
所以我想把选项停在这些时刻,玩家先看清发生了什么,再决定自己的态度。
这样点下去的那个回答,才是观众想看的。
开门这一场,直接说明前任关系、暂时含糊过去、先问对方愿不愿意公开聊,分别代表了不同的处理方式。
同样,到了拍照的环节,邀请谁去露台,也是在决定把接下来的时间留给谁。
选定的人会接受邀请,镜头随后进入两个人的相处。
图片加载中…
我希望玩家做的是关系里的选择。
他需要在意对方的处境,也要承担自己为了省事而留下的问题。
短剧把悬念留给下一集,我想在同样的位置多停一下,让玩家先作决定。
需要剧情,也需要节奏
如果每一场都在撞见、误会、解释,人物会一直忙着处理冲突,玩起来就会很疲惫。
所以紧张刺激一段剧情之后,我留了一段露台时间,用来小休息。
这里,男主和沈予棠去拍相遇照,拍完以后,可以继续赶任务,也可以放下相机,陪她看一会儿海。
相机在这里是一个进入场景的动作。玩家打开取景框,按下快门,照片留在相册里。
随后那次放下相机的选择,都是可以被记录的过程。
图片加载中…
我想做的亲近感,就藏在这种小变化里。
短剧里那些让人回味的片段,也常常只是一个人愿意为另一个人停下来。
我还让玩家在这次独处时留下一个私人暗号。
它用于结束镜头前不想回答的话题,可以由玩家自己输入。演示里,我写的是:今晚不营业。
图片加载中…
一句由玩家自己写下、只有当事人知道的话,会让这次相处多一点私人意味。
我希望角色以后还能认出它,再次用到这句话时,玩家也会记起它是在哪次独处里留下的。
然后在一个晚餐场景上,所有人物重新回到同一张桌子上。
私下建立的亲近,要面对其他人的目光,三张心动卡把公开表态的问题又摆了出来。
图片加载中…
这里的节奏是我有意安排的:先给单独相处的时间,再回到公开场合去暴漏,有冲突才会有更进一步。
前一场让关系发生一点变化,后一场让这种变化被别人看见。甜和紧张才接得上,也不用每次都靠一个新误会把戏推下去。
前面发生过的事,在后面得有用
短剧里让我愿意继续追的是前面不起眼的细节,过了几场戏又回来影响人物。
我想在游戏里留下同样的前后联系。
比如沈予棠约男主第二天去码头看日出。玩家答应以后,仍然可以因为节目安排而失约。
我选的这条分支里,她等到了六点半,第二杯饮料已经凉了。
我没有让这次失约立刻终止,而是关联到了一条更有意思的剧情上,她可能仍然喜欢男主,却不再轻易相信他的保证。
我把亲近和信任分开处理,也保留发生过的约定和失约。
回忆簿里能看到这些经历和现在的关系,而不是只剩一个加加减减的总分。
图片加载中…
这也影响到后面的补救,我希望解释、保护对方的隐私、重新作出约定,都能继续影响关系。
过去的失约仍然发生过,后面的行动也应当有改变局面的机会。
另一处联系,是开头那句老朋友而已。
等假情侣协议被公开,林知夏会把这次回避和眼前的协议放在一起,问出:老朋友而已,假情侣而已。你还有几个而已?
这里的冲突有一个玩家记得的来处。前面亲手作出的选择,后来被角色认出来了。这比突然增加一场吵架,更接近我想要的互动短剧。
我也用结局检查这件事。沿着同一条路线,最后仍然发出同样的约会邀请,只改变采访时是否公开两个人的暗号和私聊,就会走向不同的结果。
图片加载中…
我想让最后的回答带着前面那些经历的重量。
玩家可以补救,可以改变,但不能只靠结尾的一句漂亮话,让此前发生的事全部失效。做到这里,选择才不只是观看过程中的一次点击。
AI要接住的,是玩家临场说出来的话
现在这些后果,仍由我写进分支和关系规则。下一步,我想让玩家能直接说自己的话,让相处不局限在预先列好的几个回答里。
这也是我想继续接入MemOS的原因。它的事件记忆可以从对话中记录经历,并在后续对话中检索。我希望借助它,让角色回答之前能找到双方以前经历过什么。
我还需要一份能描述关系变化的稳定画像,所以会参考属性记忆;至于谁能看到哪一段,则要按记忆隔离来设计。它们分别对应"发生过什么""现在怎么看对方"和"哪些事不能被别人顺手读走"。
比如玩家临时改变了赴约安排,后来又作了解释,角色需要把这些话和先前的约定联系起来。下一次见面时,她的反应也应该接着这段经历往下走。我不想让每场自由对话都像重新认识一次。
人物知道多少,也得符合故事。公开的协议可以让在场的人知道,私下的暗号却只属于当事人。观众看得到所有场景,剧中人各自掌握的信息不同,这一点在互动故事里同样要守住。
写在最后
做这个Demo,我最想验证的,是短剧里那些让人急着接话的瞬间,交到玩家手上以后,会发生什么。
人物关系要能迅速看懂,相处要有快慢,前面埋下的小事要在后面起作用。这些都是我从喜欢的短剧情节里带过来的设计。到了游戏里,还得多处理一件事:玩家给出的回答,可能和我原本想写的不同。
我希望给这种不同留出空间。有人愿意坦白,有人先躲一下,有人做错以后还想回来解释。故事要接得住这些选择,人物也要保有自己的在意和判断。
以后的视频、人物表演和自由对话,都可以继续往上加。眼下我更想先把这个基础做扎实,让玩家在那扇门打开、几个人都等着回答的时候,真的停下来想一想。
这回,该自己接那句话了。