毒奶有时是玄学,但Flag从来是科学。有些话一旦出口,故事高概率朝反方向发展。《魔法少女小圆》里的学姐:“已经没什么好怕的了。”说完,头没了。《三国演义》里的魏延:“谁敢杀我?谁敢杀我?谁敢杀我?”说完,头没了。直播间里的PDD:“是男人就坚持5秒?我【哔——】五秒怎么不能坚持啊?我今天必坚持过5秒。”说完……PDD:这个东西坚持不了五秒丨《主播真会玩》。
不过问题是,这些能为观众预告前方剧情的台词,为什么会被称作flag?
其实,flag原本是个编程术语,有时被译作“旗标”。既是旗子,便有立有倒。那么,怎样算立怎样算倒?先拿简单的零旗标(zero flag)举例,它立起的条件是a-b=0。所以,当a=b,条件满足,flag便立起。当a≠b,条件不满足,flag便倒下。比零旗标再复杂一点的,还有进位旗标(carry flag)。
它立起的条件,要么是a+b的最高位产生了进位,要么是a-b的最高位产生了借位。假如最高位没有进位或借位,这flag就会倒掉。除此之外,奇偶旗标(parity flag)也是常见的一类。它检测的内容是,某一个数里包含1的个数是奇数还是偶数。比如,偶则立flag,奇则倒。27在二进制里是11011,当中有4个1,flag立起。26在二进制里是11010,当中有3个1,flag倒下。
不同的flag,立起的条件可以五花八门,但它们大多有个共同点:flag的值通常只有两种,立为1,倒为0,一个字节便可存储复杂的信息。于是,人们常常用flag来标记条件有没有达成,判断程序处在怎样的状态。得知了状态,就能据此做出不同反应。游戏开发者们尤其需要这样的工具,来增进玩家与系统之间的互动。也是在游戏里,flag的功效被发挥到淋漓尽致。
其中,当属RPG(角色扮演游戏)的开发者们对flag最为钟爱。比如《仙剑奇侠传》初代,李逍遥为了救重病的婶婶,登上仙灵岛求药。岛上的水月宫是丹药的所在,但宫外有结界保护,防止不速之客闯入。结界虽强,却也受一道“开关”控制,那便是flag。逍遥想走进水月宫求药,必先满足条件,立起flag来驱散结界。这个条件也十分有名,可简单概括为偷看女孩子洗澡。
身为玩家的我们,要让逍遥在一座水塘边的石头上,发现女孩子的衣裳。如此,他才会注意到有位少女沐浴在水中。这也是逍遥和灵儿的初次相遇。灵儿察觉变态偷窥,用法术连劈几道雷,吓得逍遥道出来访缘由。念他一片孝心,灵儿答应带逍遥去取药。此时,那股挡住逍遥的力量消散,去往水月宫的路就此打通。偷看他人沐浴并不可取。但假如不调查水边的衣物,就无从触发两人初遇的剧情。系统检查得知条件未满足,便立不起flag。
结界仍在,逍遥想救婶婶也无门。
游戏里类似的flag不计其数。玩家通过自己的操作,满足不同条件,立起不同flag,触发不同事件:与系统互动时的参与感越深,便越容易代入角色,沉浸在剧情里。比如,灵儿被困锁妖塔,逍遥与月如前往营救。依剧情提示,锁妖塔有进无出,唯有毁塔方能逃脱。三人打败守护塔基的七只神龙,条件达成,自会触发塔身崩塌剧情。而意外的是,天降巨石砸在月如头顶,也是这段剧情的一部分。
即是说,玩家在立毁塔flag的同时,并不知那竟是月如的死亡flag。这一处设定可能也成了许多玩家的幼年伤痛。
好在,不是所有游戏都用flag来执行这样直接而猛烈的打击。比如《命运石之门》,游戏里立flag的条件不全是简单明了,有时也不会立刻见效。而玩家做出的选择,可能让故事走向不同的结局。在石头门的设定里,时间不是从过去流向未来的一根线,而是有无数条线在流动,它们叫作世界线。
不同的世界线上,发生的事件有所不同,人物的命运也可能改变。中二科学家冈部伦太郎找到了跳跃世界线的方法,取名“电话微波炉(暂定)”。在他第一次跳跃前,世界处于β线,那里的冈伦看到天才少女红莉栖躺在血泊中;而在跳跃后的α线,红莉栖安然无恙,成了冈伦深爱的助手,但与冈伦青梅竹马的真由理,怎样拯救都难逃一死。游戏里,冈伦做出不同的选择,可以把故事引向不同的岔路。
比如,剧情中最重要的分歧点,是第十章的一处恋爱flag,它将决定冈伦的情感到底归属助手还是真由理。此处的判定条件,并不在一时的取舍,而是游玩途中许多个选择的累积。
玩家通过自己的操作立flag,在剧情分歧之间自如地穿梭,早在游戏里成了日常。但假如只在游戏里成为标配,flag可能也不算物尽其用。还可以是故事里的伏笔。你看,《命运石之门》动画化之后,有了原创的死亡flag。
还记得在α世界线难逃死劫的真由理吧,不管是被枪杀,被车撞,被失手推下站台……悲剧来临前,毫不知情的真由理总会发现,奶奶给她的怀表不走了。哪怕是没有打过游戏原作的观众,只要听过这句台词,再次听见的时候也会感受到,那是真由理快要凉了的标志。伏笔,就是flag脱离编程语境后的引申义。而拥有伏笔功效的物品,不止真由理家传的怀表,梨花牌酱油也该有姓名。《寒蝉鸣泣之时》第一季,梨花以打酱油之名拜访诗音家。
结果除了打酱油,还被发病暴走的诗音喂了便当(或者说是自行吃了便当)。
当然,立flag的道具不一定是随身携带的物品,还有可能是人物自身的某种特征,比如发型。有位善于归纳的观众,在看《未闻花名》的时候,意识到仁太早逝的妈妈的侧马尾,可能是一种死亡发型:从上到下为,花名里仁太的妈妈,巨人里艾伦的妈妈,钢炼里爱德华的妈妈。
《进击的巨人》里艾伦的母亲在第一话便被巨人吃掉,《钢之炼金术师》里爱德华的母亲因病去世,《东京喰种》里笛口雏实的母亲为了保全孩子而死在“白鸽”手中……她们也都是侧马尾。一时间,大家找到了依靠发型揣测人物命运的新乐趣,多以“你的发型很危险”对角色发出友好的弹幕问候。不过,这条定律并不万能,还有不少梳着侧马尾的人物成功活到一季动画的完结。
毕竟,不管是怀表是酱油还是发型,道具终究只是道具。
而假如人类自身的能量足够强大,也可能不受道具的限制(误)。比如,2014年星际争霸II世界锦标赛(WCS)美洲区,TooDming(土豆明)对Alicia的决胜盘,Alicia从开局按错键开始,一直处于劣势。决战前夕,小明人口占优,并有飞龙盘踞在对方出兵点上空防止部队聚集,看似局势大好。这时,黄旭东解说进行了“飞龙骑脸怎么输”的热切发言:“难道我真的是三鹿?
”自此,小明开始出现严重失误,最终输掉了比赛。这可能是黄旭东老师解说生涯的成名之作。以“飞龙骑脸”为起点,这个男人在电竞解说中收获的“毒奶”战绩源源不断,跨界“拯救国足”“预知股市”的典故也广为流传。不过需要说明的是,这些都只是人们观察到的现象,拿去玩梗绰绰有余,却远不足以证明因果关系的存在。除非,我们回到编程的世界里,每个flag的判定条件都是预先设置好的。
那样,达成的条件与触发的事件之间,才有确实的因果关系。