书接2020年全年回顾,在2020年11月,领导安排投入新的业务。
由于业务调整,部门原有的业务都交接出去,因此迫切需要寻找新的方向。
部门领导设计了几个方向,我参与的是其中一个,目标打造新的实时3D渲染产品,业界的竞品包括Unreal、Unity等。
部门有同事一定投入,收集了资料供部门内同事学习,比如:
- 游戏引擎架构
- Fundamentals of Computer Graphics, Fourth Edition
- Real-Time Rendering, Fourth Edition
- DirectX 12 3D 游戏开发实战
其它资料见图形领域的书单。
个人收获
了解了游戏引擎的架构,各子系统的职责和关键交互流程。
对游戏制作的流程,参与团队的角色和分工,有了一定的了解。
不过对于核心业务,始终没有入门,这一点比较惭愧。
个人的精力被一些基础、繁琐的事务占据,加班很多,但收获很少。
大事记
Q1
这个方向初期投入的规模比较大,部门内、部门外卷入了很多同事和专家。
由于实时3D渲染器涉及的技术点非常多,而部门内大多数同事均没有参与过相关的交付工作,因此部门领导组织了多轮技术交流活动,基本上每隔1到2天就会有技术交流,领导坐镇,要求部门内相关同事均参加。
部门内部的同事依据各自的责任田,整理材料,按照事先排好的顺序,依次上会讲解。
这个状态维持了挺长时间。
期间调研了OGRE、godot、lumberyard、UE、Unity等。
不过产品的构建策略,并没有明确下来。
Q2
据领导传达的信息,公司层面倾向于基于O3DE来构建3D渲染能力,而O3DE开源社区还在准备中,公开渠道获取到的信息不多,只知道由该项目由AWS贡献给Linux基金会,由LSF来管理和运营。
O3DE社区的准备工作,目前可以参与,于是安排相关同事申请加入社区。
同时技术上、业务上的调研工作仍在继续,技术交流的密度有所下降,参与人员有所减少。
调研了脚本系统、物理系统、音效系统等实现方案。
Q3
O3DE社区横空出世,于是开足马力,快速进入交付状态。
- 学习并掌握构建方法。
- 申请代码仓库。
- 准备版本构建的流水线和机器资源,支持门禁构建和版本构建。
- 按照分工,验证各子系统的基本功能。
- 准备版本验收的用例和资源。
周边合作部门的态度有所降温,热情不再。
Q4
现实开了一个比较大的玩笑。
社区的首版本存在非常多的bug,本部门的开发团队、周边团队在试用时遇到了很多问题,考虑到代码规模在200W左右,定位、修复很困难,周期很长。体验很差。
社区版本的质量很不稳定,每周都有提交记录,代码变化快速,这给版本管理引入了比较大的困难。
如前所述,代码规模在200W+,构建时间很长,导致开发、验证效率低下,虽然后来部门想办法配备了高性能的工作站,初步缓解了问题,但并没有从根本上解决问题。
开发团队整体承压。
测试团队给出的评估也不乐观,问题单太多,质量太差,没有底限。
在部门领导组织的民主生活会上得知,其它方向进展不错,得到了上层领导的嘉奖。相比之下,我所参与的方向就寒酸许多。
有对比才有伤害,难受ing。
虽然在沟通时领导一直在打气,但从项目成员的表现看,压力都不小。