“Archive之青春的记录 —— 来自于2019年,顶着毕业的压力继续不务正业~”
一九年春,在看TED直播的时候看到了WCG 2019将要开始举办的消息。OMG,停办了这么久的WCG居然要重新举办!紧接着搜到了WCG 2019宣传片,一幕幕画面浮现在眼前:
想起初中买好零食和饮料,在电脑前看WCG总决赛直播,等待SKY夺冠的时刻;想起高中练习魔兽,对战平台交了很多朋友的美好时光;想起大学的时候开始Dota,和基友一起网吧连坐的快乐。宣布WCG 2013停办的那一年,全世界都不敢相信,每一个游戏玩家都为之疯狂的盛宴,每一个选手都渴望在此夺冠的圣地,突然间就宣布谢幕。这可是电子竞技的奥运会,是多少人的青春啊!
不过当年多么的失望,到现在就会多么的兴奋!然而,彼时正处于毕业冲刺的关键阶段,手上一篇大修的Survey论文,还需要再写一篇论文才能达到老师心目中的要求,再加上还要再赶毕业论文,又让我陷入时间紧张的纠结当中。再打开购票官网,咦,举办的时间正好和论文送审的空当期一致,如果计划一切顺利的话,是的确有可能去现场观赛的!
抱着这样的态度我打开了购票网页。在准备详细了解购票流程的时候,旁边一个关于项目的介绍再次吸引了我的注意:New Horizon —— “除了传统的魔兽争霸3、星际争霸、Dota等项目之外,本次WCG增加了关于未来电子竞技探索的可能性,增设了AI master、VR、机器人格斗、创意大赛等四个项目。”好奇心再驱使我点进去了这个界面。天哪,这个AI master的项目怎么又是机器人足球赛?莫非可以套用之前的代码混进WCG现场参赛?
不过后来发现我太天真,这个实际上是一个机器人的仿真平台,并不是实际现实中的Robot。因此几乎是两个完全不同的比赛:场上所有Object的坐标都是已知的(相当于一个全知全能的上帝视角给你提供所有物体的坐标),机器人5V5进行比赛(包括前锋后卫守门员各司其职),与现实足球规则更加接近的规则(点球、界外球、任意球)。因此几乎没办法沿用以前的代码,但感觉难度实际上是比MC World Challenge是要简单一些的。了解了这些信息后,有一个大胆的想法冒了出来:我要参赛!通过选手的方式免费去看比赛!我也要尝试站在这个舞台上一次!
但时间的紧迫再次把我拉回了现实:投入大量的时间成本参与这个项目合不合适?万一到时候也没入围决赛,毕业也成问题,那就两头空了boom shakalaka。在纠结痛苦中,我翻到了之前自己分享过的一篇文章:Wings的历程:荣耀与背叛。—— “尽情地享受好时光吧,我们不会再在如此年轻的时候相遇了。”
终于后来的我下定决心,开始注册账号,搭开发环境,决定偷偷再搞一波事情。
开发的细节简单说明一下。所有的代码在WCG提供的云上运行,开发模式有两种,一种是Rule-based,一种是基于深度学习的(似乎强化学习用来干这个听上去很美好)。但当时的我仅对机器学习研究得比较多,由于没有显卡也没怎么研究深度学习,于是就选择了Rule-based的方案。基于规则的方案一般来说就是一大堆if else的嵌套,指定不同的角色(守门员、前锋、后卫)在不同的状况下(与球的夹角、与球门的夹角、与对手机器人的夹角)应该怎么处理(控制线速度、角速度)。在官方给出的Baseline的基础上改,勉强改出了一个可用的版本,毕竟也不能花太多时间。在截止日期前提交了最初版后,强迫自己忘记这件事情,继续苦逼地去写论文。
从开始预选赛的那一天下午,就持续不断地收到来自WCG主办方的邮件,说明预选赛的情况 —— 最终只有16支队伍入围在西安举办的全球总决赛,选手/队伍分组的概况如图:
随后就是不断地调试和修改的过程,临近预选赛代码提交截止的时候,我把自己关在了宿舍两天,一直进行最后策略的调试。
又过了一段时间,全球总决赛的名单出来了,打开最终决赛的名单:复赛第七,晋级西安!(备注,我的ID是SafetyFirst,取名来源于一直没有变过的Dota2昵称:安全第一)。
梦想的舞台,和偶像近距离接触的机会,我来了!
—————— “尽情地享受好时光吧,我们不会再在如此年轻的时候相遇了。”