网易面试:系统方向(Offer)
——所以实习找到了?自决意23年休学寻找游戏行业的实习,到现在已经有一年。虽然暂时休学完全是个离经叛道的计划,虽然不打算给自己任何关于职业道路的承诺,但依然为有一个起点而兴奋。
这个offer来得出乎意料地快:从投递到出结果,只用了三周不到。最初看到JD描述的似乎是个技能点哪里需要点哪里+多动症选手,故投递;事实上我确实方向很匹配。
开放世界与人工智能游戏策划(逆水寒手游) - 雷火事业群 JD: 1、熟悉脚本语言,有较强脚本编写能力,能熟练使用unity、UE等游戏引擎; 2、热爱游戏,有大型MMORPG、开放世界或单机/主机剧情类游戏经历者优先; 3、具有系统化思维,逻辑清晰,思维活跃;良好的文史常识储备及情景思考能力; 4、长期电视剧、动漫热爱者优先,武侠题材爱好者优先; 5、细心谨慎,工作认真负责,有优秀的创新精神和团队合作精神; 6、有参与过nlp、强化学习相关落地项目者优先;
面下来体验还是相当不错的:一面中疑是技术策划的面试官姐姐直言欢迎我进组,二面制作人把面试变成 design session(比较惊喜,因为面试前甚至已经补了氪金游戏的数值知识点)。一个周末后的hr电话中,hr反馈说面试评级很高,并且在我请求延后报到时也非常人性化地同意了,让我感觉到足够的尊重。
趁假期复盘一下这两次面试。部分问题出于保密考虑略过。
一面:技术和策划
Q:介绍一下简历中提到的程序合成电子游戏AI的项目。
谈了谈什么是程序合成(program synthesis)及其相对优势。解释了自己负责的部分(写Specification、引擎功能实现、时间逻辑语言的 Documentation)。
Q:是否考虑过加入 Learning-based AI,是否考虑过如何用到成熟的游戏项目中。
第一个问题考察的应该是对AI应用的理解,我围绕AI行为对开发者和对玩家的可解释性作答。
第二个问题:因为是学术研究,当然是没有考虑工业化问题的,但我认为考察的是项目思维,因此直言没有考虑,并推想如果结合例如GPT-3这样的工具用到现有游戏中,数据工作流可能需要增加什么环节。
Q:怎么让游戏中的AI更活生生,阐述设计思路。
资源推荐:GDC有不少游戏都分享过AI设计复盘,GMTK讲过中土之影的Nimesis System,频道AI and Games专门就是讲这个的(尤其推荐Facade那期)
从实现层来说:
- 感知模块:能感知到哪些变量的更新
- global 变量:天气、家国部落等状态,母类对子类广播的变量
- local 变量
- 记忆模块(长期记忆、工作记忆)
- 决定了AI需要执行的任务,以及同时执行的数量
- 行事风格
- 决定了AI达成目标的方式和策略(比如暴力 -> 战斗 / 狡猾 -> 委派任务或其他地图指令)
- 终局目标(对应终局条件)
- 日常目标(对应日常条件):给闲置状态的NPC规划日程
考虑哪些模块是可以开放接口给玩家输入的。例如玩家是否能该改变 local 变量,玩家多大程度上能影响终局条件等等
考虑哪些信息是可以和同级的AI共享的
从表现层来说:
- 即时反馈:bark(参考中土之影、蝙蝠侠几个游戏)
- 长线反馈:将互动结果计算后数值化(e.g. 信任值、友好度),影响其他互动的输出
Q:对开放世界的理解
首先说不需要以《塞尔达:旷野之息》为参考系,我不把开放世界看作一个品类,更多地看作一种设计哲学。
- 客观标准上的“自由度”不能很好地衡量开放与否,而要看玩家主观感受到的“自主感”
- 自主感是由足够广和包容的策略空间造就的。举例《神界原罪2》中玩家可以用多种方式达成同个目标
- 这样的策略空间并非全部手工实现,而是由于一个完备的规则系统。要达到这一点,需要增加规则和规则直接的连接度
- 要多样,不是多量
- 尝试联系了面试官所在项目千人千面、行行出状元的理念,得到赞同
“我没有问题了” 反问
- 业务问题:耐不住好奇心问了要怎么在MMO里使用Learning-based AI而没有损害游戏名誉的风险,得到了非常实诚的解释。
- 面试流程问题:问这是否属于系统策划,JD为何这么杂。答说项目在尝试一些新东西,不太好按常规标准招人。(其他回答的细节已经不记得。)
- 个人发展问题:问是否建议我继续进修和游戏/交互技术相关的硕博士,答看项目,难以一概而论,比如买量的项目人家也用不到你的知识。
二面:系统和关卡
Q:展开说说简历上的平台解谜游戏,包括你的职责
带脑暴、机关机制、关卡图、测试和验收
Q:现要求变成双人游戏,你来更改玩法来符合这个要求
把探灯分为两种,一种是探枪(以角色A为起点,朝鼠标位置射线打出),角度灵活,但覆盖距离仅有被射击的实体且探照效果仅维持3s;一种是领域(圆形范围以角色B为中心),覆盖距离大,但不能脱离角色移动。主要设计目的是创造两个玩家在能力上的不对称和镜头内信息的不对称。
Q:把 AI NPC 放在你玩过的一款MMO(剑灵)中,你会怎么设计
和一面中的回答类似,但问题里多了一个要考虑的因素(怎么调和多人在线情况下的AI互动),略。
Q:为法环设计一种武器或者战灰,并说明它的投放方式。
这个问题我答得不好,甚至跑题了。但因为抱着问题意识去想方案,在面对面试官的反驳时有一定还口之力。
大概说的是给骨灰配绑定武器,符合一定条件时刷怪可掉落。理由是可以发现泪滴过于强大的原因是它提供了自定义的空间,而其他骨灰没有这个策略空间;通过增加这一系统来加深配队的深度。
Q:MMO中的休闲玩法常常有一个完整的资源流通循环,其中由于交易行为以及对战力的影响,休闲玩家之外的核心玩家也会参与。为项目设计一个休闲玩法,从琴棋书画中任选一个。
- 制琴 - 弹琴 - 送琴
- 大世界收集材料,自定义制作乐器(e.g. 弦乐可以根据弦长度计算音高),用乐器玩音游,赠予其他玩家/NPC
面试官随即引导我多加考虑新系统和原有系统的相关和可复用性。我重新思考了一分钟,决定以阐释思路代替给具体方案
整理思路:1. 绑定非核心数值,以buff方式生效 2. 加进已有玩法(e.g. 庄园邀请好友共奏)3. 做一个适配的玩法(e.g. 音游例子)
Q:空洞骑士中有一个符文系统,设计一种符文,并设计一个BOSS让玩家带你设计的符文会有优势。
- 描述了一个钻地虫BOSS。一阶段会随机从固定的六个洞里探头,不探头时从六个洞口分泌黏液泡(打一次消失),探头时弯曲头部撞击玩家位置。二阶段探头时在原地留下一套蜕皮(从地面延伸到天花板),可以打击、有一定血量,限制玩家的走位空间。这个BOSS的主要体验是弹幕躲避、抓探头时机快速爆发伤害
- 描述了一个克制该BOSS的符文。当玩家下冲时保留无敌帧但不再有直接伤害,取而代之的是在下冲的位置留下一个触发型炸弹,炸弹在有实体碰撞时爆炸并产生和先前下冲等量的伤害。
反问
- 业务问题:问了问进项目组后具体工作。答说看实际情况,带我的mentor负责AI任务策划以及其他各种模块,需要的话系统、关卡的活都有机会做。
- 个人发展问题:问了问对接下来自学路径的建议。答技能上差不多了。反而建议多体验,MMO类玩得太少。