一场“奇奇怪怪”的编程比赛

201937日,百度贴吧杨超越吧发布了一个标题为杨超越杯编程大赛第一阶段组队正式开始!的帖子。

与其说这是编程比赛,不如说是一场互联网产品比赛。帖子中这样描述这场比赛:“赛事分为组队、开发、比赛、运维4个阶段。做任何与杨超越相关的产品都可以,网页、游戏、工具等等,不限定方向,尽量以有趣、实用为目的。

这是比赛最初的规则,很多现在已经变了

几小时后,这则消息在微博、知乎、贴吧等平台的热搜榜里单全部登顶,在代码托管平台GitHub,编程比赛也一度达到了热门话题第3名。赛事组委会为了方便参赛者组队建立的QQ群加入者超过几百人,前端、后端、产品、美术、策划、音乐,互联网产业的各个工种在这里会师——截至41日,群内人数已经超过1500人。

比赛最终被定名为“超越杯编程大赛”。杨超越粉丝圈在此之前已经举办过多种粉丝之间的竞争活动,比如《英雄联盟》比拼、辩论赛等。粉丝们还曾自己建立直播间表演节目。但这些行为更类似于粉丝群体内部的小打小闹,没有一次像超越杯编程大赛这样受到外界如此广泛的关注。

 “心理医生聪(以下简称为“医生”)第一时间加入了组队群,他这样阐述自己的想法:做一个名为《杨超越的解忧杂货铺》的游戏,用玩家写信、杨超越回信的方式传递杨超越说过的金句,为大家解忧释压。之后,他把自己的想法发在了知乎上,很快收到了大量热情的回应。

谁是杨超越?谁爱杨超越?

2018年,杨超越这个名字频繁登上热搜,最多时一天达到了13个,这是许多二线明星整个职业生涯都无法企及的热度。很多人对她的第一印象来源于一次节目中的公演视频片段,在这个视频里,年轻的杨超越穿着黑色吊带裙,拿着话筒,泫然欲泣地对着镜头说:“这首歌是你们给我选的,所以我想你们给我一点时间,我把那句唱给你们听一下。

说最后几个字时,杨超越的哭腔越发明显。

一、二、三,用全力去追,青春多宝贵,没机会,去浪费,趁春光明媚,把一切慢慢体会。独特的数拍子进歌法加抽泣导致的气息紊乱,歌词被杨超越演绎得断断续续,撕心裂肺。

与其称之为歌唱,不如将它视作是杨超越对粉丝们的努力回馈。这首叫做《不负青春》的歌是节目中粉丝投票选出来给她唱的,因为种种原因,正式公演时的效果并不尽如人意,演出完之后,杨超越觉得,她应该单独把这一段唱给粉丝听,才是“不辜负他们”。

2018年,杨超越共上热搜85次

这段被形容为“自我爆炸”的表演,在一些人看来是“车祸现场”,在粉丝们眼里是“固粉”的决定性时刻之一。医生就是从这首《不负青春》开始关注杨超越的,医生说,他当时“对超越的心理状态很担心

那一天是201869日,腾讯视频主办的偶像女团选秀节目《创造101》已经播到了第8期,公演第3场。在剩下的36名选手中,杨超越争议最大。

节目第一期选手首次亮相时,杨超越自称是“全村的希望,最初因为2000块钱,还管饭吃”,误打误撞地进入了闻澜文化旗下的“高校偶像女团”CH2。参与《创造101》的录制,对她来说原本只是“出一次通告,有钱拿”。

这是当年的CH2,右一为杨超越

这个神奇到比戏剧还戏剧的经历起初并没有引起什么水花,许多人质疑她背景的真实性,认为她有“人设”。随着节目的逐渐播出,网民们开始通过留在直播平台等处的海量视频考古杨超越的过去:她出生于江苏盐城大丰的农村,成长于单亲家庭,年少辍学到上海打拼。与热搜营造的刻板印象不同,粉丝们认为,杨超越不同于大公司流水线上分裂出的纸片艺人,她有不可多得的魅力,懵懂、莽撞、缺乏分寸感,但坦率、真诚,直指人心。

“她只要站在那里,随便说些什么,就会让我很快乐。”

杨超越曾被节目导师黄子韬调侃为“村花”,杨超越的粉丝们就自封“村民,从村花身上,村民们看到了偶像的另一种可能性。

节目结束后,杨超越作为11人组合火箭少女101中的一员成功出道,很多人对此并不信服。杨超越没有资格”“杨超越挤占别人出道位的说法在社交平台上甚嚣尘上,人身攻击更是数不胜数,甚至引发了一波流量明星要不要实力的大讨论。前著名写手咪蒙的文章《对于杨超越,骂她,才是尊重她》是这场轰轰烈烈的“清扫运动”的最高潮:这个世界上,实力没什么卵用。爱哭和卖惨才是王道!

凭着这篇文章,咪蒙得到了久违的流量新高峰,但这仅仅是杨超越现象里的一隅,这种黑红交锋、吹死婊活的现象持续了整个2018年下半年,骂她或夸她都有流量,背靠腾讯和巨大的话题性,客观上,《创造101》和火箭少女101拥有了国产偶像女团界前所未有的关注度。

咪蒙对杨超越的恶意跃然纸上

不同于需求流量的营销号、表达观点的大V和发泄情绪的粉丝,在这个杨超越粉丝铭记在心的轰轰烈烈的黑色6月,作为路人的医生却萌发了用专业资质保护杨超越的念头,他当时甚至根本不是一个粉丝。

(当时)不关心她的前途,医生后来说,我只是不想她有什么不好的,不想她抑郁。

当偶像治愈了医生

茨威格说,命运馈赠的礼物,都早已在暗中标好了价格。医生担心一夜暴富红后,身背巨大压力的杨超越付不起这份账单。 

医生诊治过不少曾遭受网络暴力的患者,他说,舆论失控后威势难当,普通人很难在这种力量前平衡心态。很多人因网络暴力而患上心理疾病,产生自杀倾向甚至尝试自杀的患者并不少见。

但最后,出乎医生的意料,舆论席卷而过后,杨超越没被击倒,反而愈发茁壮。

反正写的也不是真的我,爱怎么写怎么写呗。《创造101》结束后,杨超越在采访里回应她对争议和误解的看法。她在另一个节目里这样看待成名的代价什么代价不代价的,我都没计较过这事儿,这不是你该承受的吗?人活着哪有不累的,累就累点儿。你不成名你也累,你工地干活你不也累吗?谁都累。只要是努力活着,想要自己过得更好的人,没有人不累,没有人没付出汗水。

看到这个片段后,医生仔细分析了杨超越的神态和表情,最终确认了她并未在压力下崩溃黑化,这改变了医生对网络暴力和人之间关系的固有看法。

她并不需要我的保护。医生说,杨超越是个他琢磨不透的特殊个例,某种程度上,他反而是被治愈的那个人。这个曾说过心疼杨超越,但不一定会Pick的专业人士最终没能逃过真香定律,医生成了杨超越的忠实粉丝,他想把这份治愈力传递给更多人。

我也想不通她为什么会这样,如果想明白了可能就不会成为粉丝了。

20188月,医生曾在知乎展示了自己名为《假如我是杨超越》的游戏策划案,这是一个在电脑键盘上打拍子来帮助杨超越跳舞的音乐冒险游戏。游戏里,玩家需要模拟杨超越去努力练习,争取在公演中取得好的发挥,并在每次的排位感言时选择台词,不同的台词和演出成绩会决定游戏的最终结局。

暂时并没有能力开发这个游戏。不过,有机会时会再把设计完善下去。在策划案的最后,医生遗憾地写道。

201810月10日,医生发布了自己制作的橙光游戏从零开始心理咨询师》。在与橙光游戏平台2700多款现代类初级游戏的角逐中,《从零开始心理咨询师》排名第11,并被玩家评价为优秀的科普作品。在《从零开始心理咨询师》里,杨超越在第4章作为女主人公的闺蜜出场,有一定的戏份,但医生并不满足于小小的客串,他始终想制作一款以杨超越为绝对主角的游戏,他在等一个机会。

医生自己做的橙光游戏

37日,机会来了,超越杯编程大赛正式开始。 

搞期货程序的做游戏是一种怎样的体验

举办超越杯最初只是贴吧成员们拍脑袋做出的决定,本意是让粉丝内部的程序员们互相交流、自娱自乐。随着消息登上热搜,营销号跟进报道,比赛的影响力逐渐扩大。倩碧得到了超越杯的总冠名,联合赞助名单上出现了腾讯体育、康师傅奶茶、多芬等知名品牌。

赞助商介入使比赛变得正规起来。为了避免争议,赛事规定,图片、视频等一切有杨超越本人出镜的表现形式都不再被允许,这显然增加了所有参赛者的工作量,画手的重要性也愈发凸显。

医生对规则几经变化有些微词,但并不太担忧——他的组里有丰富的画手资源。尽管发起组队时,医生只想做一个简单的App,但在他的组队帖火了之后,各路高手开始向他发出入队申请。在组委会取消队伍人数限制后,组内成员达到了19人。

这就像玩《帝国时代》,别人前期还在打猎、摘果子,而我们在拼命升人口。这些人来自世界各地,程序、美工、策划、营销、音乐、资源收集一应俱全,游戏也由原来的《杨超越的解忧杂货铺》更名为更加没有版权风险的《杨超越秘密杂货铺》。

星澜海是最先找到医生的人之一。

星澜海今年31岁,在美国芝加哥一家期货交易公司做后端工程师,主攻期货交易高频交易程序,对多线程无锁、数据分析、网站后台数据库也有所涉猎。本职是后端工程师的星澜海平时使用的代码语言多为C#Python,对于前端不太精通,但他一直想要成为全栈工程师。他想借这次编程大赛让自己掌握一项新技术。

原点是《杨超越秘密杂货铺》制作组的第6名成员,她负责美工组与程序组的对接工作,要将各组的需求绘制成流程图,进行传递。作为新手,原点在刚接手工作时经历了一段艰难时光。都说看不懂我画的(流程)图,我快要被美工骂死了。

为了让流程图便于理解,原点效仿白居易写诗,开始向身边的室友展示自己的工作成果,然后跟着反馈一直修改到身边人也能理解的程度。大家氛围很好,没有人会真批评你,但还是会担心拖累整体进度。

《杨超越秘密杂货铺》的部分设计草图(图片来自知乎)

随着成员人数增多,大家逐渐不再满足于医生最初的想法,数次创意讨论后,《杨超越秘密杂货铺》在原有基础上又添加了互动小游戏和卡牌收集两个功能。

医生开始对进度有些担忧,因为“程序员们平时工作很忙,而且会的编程语言并不统一”。

程序组目前共有6名成员,因为来自世界各地,开碰头会时大家还要考虑时差。成员中不乏硅谷大厂的高手。主力前端叶问在硅谷的虚拟器厂商VMware做前端,能力很强,事业心也很强。星澜海介绍起叶问时语气有些骄傲,很多人都是牺牲自己的睡眠时间在写程序,除了我以外。

因为就职于传统交易公司而非IT企业,星澜海的工作时间是跟着交易开盘时间走的。现在,每天下班后,他都会额外多打3小时代码,为了杨超越,也是为了提升自己。事实上,《杨超越秘密杂货铺》的制作,使用的Facebook2015年开源的跨平台移动应用开发框架React Native,在此之前,程序组没人用过它,所幸并没有人对学习一门新技术产生抵触情绪。

每次工作前,程序员们都会在群里发一张超越的照片以祈求不出Bug,他们把这一仪式称为吸花

在采访进行中,程序组的进度依然只有美工组的一半,这一方面是因为程序员们普遍工作繁忙。另一方面是美工组在一个月的工期里达到了废寝忘食的程度。美工组负责人小凯向我透露,组内会议时常会进行到凌晨1点,为了满足《杨超越秘密杂货铺》新增的卡牌收集功能,她们已经绘制了50多张完全不同的卡牌立绘。

《杨超越秘密杂货铺》的卡牌立绘

YCY Dance Now

即使最初很多人都抱着重在参与的想法,但几周后每个人心中都燃起了胜负欲。

希望能先进复赛。面对强者如林的参赛池,医生的目标并不能称之为保守,这次比赛含金量不低,报名的152支队伍中不乏隐藏高手,譬如31号作品《YCY Dance Now》和11号作品《杨超越冲冲冲》。比赛规则写明,只有初赛前10名有资格进入杨超越杯的复赛阶段。

41号,ID@杨国炜到此一游的用户在新浪微博上发布了《YCY Dance Now》的演示视频,在演示视频中,作者把原本二次元角色跳的宅舞通过动作绑定转移到杨超越身上,原本的舞蹈废柴”杨超越在这个技术下跳出了完美的舞姿。任何人只要登录《YCY Dance Now》网站,上传任意一段舞蹈视频,即可自动生成一段表演这个舞蹈的动画。

前一阵大火的“书记舞”被安排到了杨超越身上

作者给出了技术解释:我们实现了一种基于pix2pixHD生成对抗网络和时域空间平滑的运动转移方法,用户给定一段跳舞的源视频,程序便可以将该表演动作转移到另一主体杨超越身上,从而生成杨超越完成该舞蹈的视频。截至目前,这个微博的转发已经达到了4000多。

《杨超越冲冲冲》则是另一种意义上的强大——项目发起人阿达是一位农民工子弟小学的支援编程教师。

以世俗标准衡量,阿达是个人生赢家,他原本是阿里巴巴的程序员,生活优渥、前途无限。从2018年下半年开始,阿达决定利用自己的特长免费为子弟小学的孩子们开设一门编程课,让他们不至于因条件限制而失去起跑的机会。

阿达的学生们大多910岁,现在,他们中的不少人已经拥有了独立编程能力。为了锻炼孩子们,阿达决定带队参加这次超越杯编程比赛。现在的少儿信息化教育,不应该还是以前那样在机房里学习Word、画图了,应该更进一步,面向未来可能更加有助力的计算机编程语言。在接受赛事组委会采访时,阿达说,他希望借由此次参赛,让更多人意识到少儿编程教育的意义。

阿达老师和他的小队员们

还有些参赛作品,在报名结束后不久就放出了完成度极高的演示视频,很明显,这些游戏是由其他题材成品改造而来。和这些成熟作品相比,由全业余人员制作的《杨超越秘密杂货铺》自然有所不如。但比赛规则为对改造作品并未做出限制,所以这些游戏也是符合规定的。

面对强大的对手们,医生对于自家游戏的前景有些担忧。为此,他在微博上向一些游戏公司老板发出了求助私信,绝大部分石沉大海,但也有好心人给医生出了些主意,其中一位在网上找了些简单易懂的文章供医生参考,这让他受益颇多。

实际上,项目组所有参加了实际工作的成员们都有不少收获,还在读大学的原点觉得,以后可以把参与制作《杨超越秘密杂货铺》的经历写在求职简历上。

“做个粉丝”

很久以前,有人这样解释郭敬明热度长期居高不下的原因:“没有人永远年轻,但永远有人年轻。在如今这个时代,这句话可以被替换为,没有人永远追星,但永远有人正追着星。”但偶像最重要的素质是什么?偶像和粉丝间的关系应该是怎样的?粉丝能为偶像做什么?时光流逝,“偶像三连”的答案始终在变。

在即将写完这篇文章时,医生给我发来了一个链接,那是《杨超越秘密杂货铺》音乐组为游戏专门创作的主题曲《奇思妙想》。这首歌的最后两句是:我要勇敢地走下去,前方是我的梦想。

(题图作者:留个底)