谈谈《艾尔登法环》
工作以后,玩游戏也渐渐有了打卡的感觉,少了主动探索的乐趣。看到想玩的游戏,先丢进收藏夹吃灰;偶尔真正打开,也总是忙里偷闲,只顾着推主线,匆匆打完。游戏的确玩过了,却也只是“玩过”而已。。。
2023 年年底攒好机器,《艾尔登法环》也是首批入库的游戏。考虑到魂类游戏的难度和需要投入的时间,一直没有真正开始。最近开始 Remote 之后,工作和生活少了明确的分界,时间也可以自己安排。偶尔来了兴致,随手拿起手柄,便能慢慢玩上一会儿。玩老头环时,没有给自己设什么目标,只是跟着感觉走,在交界地到处转转。这种久违的探索感,让我想起玩《塞尔达传说旷野之息》时的惊艳。这类游戏似乎不会“过时”,无论什么时候拿出来,都依然能让人走进去。这应该就是游戏的开放世界游戏的共性吧。
第一次推开门,走进宁姆格福,眼前的原野祥和、宁静,充满生机,远处则是一棵几乎占满视野的黄金树。我原以为这里至少能让人喘口气,没走几步,却遇到了“新人导师”大树守卫。宁静和危险挨得如此之近,也成了我对交界地的第一印象。
到了王城,原本只是远远看见的黄金树已经近在眼前。站在树下,抬头也看不见它的全貌,那一刻只觉得自己格外渺小。穿行其中时,也更能感受到老贼箱庭设计的巧妙。王城本身已经足够绕了,至于王城下水道,到处鬼打墙,简直是噩梦。体验到老贼的恶趣味。
一路走到后面,最让我难受的还是梅琳娜燃烧自己的那一段。平时坐火,她偶尔会出来说上几句话,语气总是淡淡的,脸上也没什么波澜,看起来确实像块木头。可到了决定把自己当作火种、点燃黄金树的时候,她却下意识地朝褪色者伸出手,快要碰到时,又慢慢收了回去。就是这么一个很小的动作,一下把前面藏着的情绪全带了出来。这块“小木头”一路上没说出口的话,好像都落在了这里。那段剧情原本已经够痛,再配上《一等情事》,杀伤力直接翻倍。
看完这段 CG,多少有点上头,满脑子都是癫火结局。既然小木头没了,干脆把整个交界地也烧了,给她陪葬。可转念一想,如果早点找到三指,让褪色者来当火种,她是不是就不用死了?哪怕她因此反目,甚至追杀我,至少人还活着。话说回来,从开发者塑造来说,梅琳娜很清楚自己在做什么,燃烧自己也是她的选择。为了把她留下,擅自替她承担火焰,再烧掉她想守护的交界地,究竟是在救她,还是只是不愿接受她的离开?想来想去,两条路都不好走:顺着她的心愿,就得看着她走进火焰;提前拥抱癫火,虽然能留下她,却也毁掉了她想要的未来。癫火点不下去,王也没那么好当。直到现在,我还是没想明白。
一周目做到全成就、全收集,看着结尾字幕滚动,我反而有些失落。游戏已经结束,人却一时还没从交界地回来,大概就是所谓的“电子阳痿”了。
离开交界地后,我开始想,一款好游戏究竟好在哪里。从玩家的角度看,关键大概在于它的长处能否让人接纳那些短板。《艾尔登法环》就是如此:刚开始玩时,会觉得攻击动作有些生硬,各种机制的学习门槛很高,再加上碎片化叙事、Boss 连段和快慢刀,这些都很容易劝退新手。但当我逐渐理解并适应它的规则,对未知区域的期待、场景尺度带来的震撼,以及藏在旅途中的惊喜,也慢慢盖过了最初的不适。
游戏也很难只按玩法或者剧情拆开评价。画面、音乐、建筑、叙事和交互,最后会混成一段完整的体验。玩家按照自己的节奏走进其中,同一个世界,不同的人玩下来,记住的东西也可能完全不同。
所谓好游戏,很难得到所有人的认可。它有自己鲜明的长处,也能让喜欢它的人愿意留下来,这就够了。对我来说,《艾尔登法环》更难得的地方,是它让我暂时放下赶进度的念头,重新愿意沉浸在一个新的世界里面“闲逛”。
一点倦怠
最近越来越能感觉到 vibe coding 带来的疲劳。现在这个阶段,AI 编程已经很接近默认的开发方式:先把需求交给 AI,等它生成实现,再根据结果继续调整。个人的产出确实提高了,省下来的时间却没有真正还给自己,很快又被更多任务和更高的预期填满。代码写得更快了,工作时间并没有因此缩短。还有就是使用 GPT-5.6-Sol 的时候经常会出现过度设计的情况,让 AI 进行 review 的时候,scope 不断扩大,这个过程还需要人参与进去,才能做到有效收敛。
vane 也在这个月进行开源了。项目刚对外不久,我们整理了一批 good first issue,没过多久,有个账号几乎同时提交了不少 PR。点进主页看了一圈,大概率可以判断是 Agent 自动完成的。我们先后在 PR 中留言,又发了邮件过去,一天左右没有收到回复,最后只好把它们全部关闭。刚开源的项目当然希望有更多开发者参与,可开源协作最基本的还是认真和信任。AI 可以帮忙写代码,提交者至少要知道代码做了什么,而不是把责任都推给 reviewer。
前段时间和朋友聊起这件事,大家反而有些怀念 GPT-3.5 刚出来的时候。那时的 AI 更像一个随时可以咨询的助手,遇到不懂的问题就问一问,具体怎么写、为什么这么写,大体还掌握在自己手里。现在越来越多的实现直接交给 AI,人的位置也跟着往后退了一步,亲手解决问题带来的反馈感也在慢慢减弱。
表面上看,人终于可以少写一些重复代码,把精力放到需求、边界和架构上。随之带来的问题是,很多代码大概率不会逐行细看,只要测试通过、整体逻辑说得过去,就会继续往下推进。代码进入仓库的速度越来越快,对代码的理解却未必能跟上。时间久了,难免会怀疑自己到底有没有真正掌握这部分技术栈。