今天你主程了吗

为了让团队变得更加激情些,最近开始采用主程轮岗制度,为有想法的同学提供一个学习和实践的机会。为期两个月,在这段时间内,必须解决一个项目中的问题,问题既可以是早已存在的老大难问题,也可以自己去发现。在这个过程中,一方面,学习和接触一些平时开发游戏功能接触不到的知识;另一方面,实践的过程中多多反思,知道自己的不足之处,全速弥补为未来做准备。

我一直都有一个希望,希望团队中的每一个成员,都可以独挑大梁,无论在当前的公司,还是以后自己创业了出去了,都能成为一个合格的游戏主程序。

作为游戏主程序,和之前的工作有什么区别吗?

这是大家最大的疑问,主程应该做什么?今天轮到我做主程序了,还是做着和昨天一样的事情,只不过头顶的称号变了而已吗?当然不是,作为主程序,工作的侧重点就会发生一些变化。解决项目中的重要问题、讨论技术方向、评审策划案、分享所知道的东西、多做代码封装、开发工具为它人服务、出了BUG得扑在最前面…。听着还真是一个吃力不讨好的活儿,杂七杂八还不如写策划需求明确的业务模块来的舒服。正是因为让人变得不舒服了,才是学习和成长的好时候。

作为游戏主程序,应该具备什么样的能力呢?

在做主程序的过程中,那些能力需要去培养呢?一个合格的主程序应该具备什么样的能力呢?上周和大家就此还专门讨论了一下,给游戏主程序画个像,以后大家就朝着自己心目中的主程序去制定学习计划。最后讨论的结果整理如下:

游戏主程序

1. 核心能力

独立、快速地解决问题!

作为主程序,必须有能力解决项目中的各种各样的技术问题,这个是最为关键的。技术团队,从来都不是一翻风顺的,解决一个问题时又冒出其它的问题,整天就是在解决着各种各样的问题。然而,作为主程序,在遇到比较难的问题的时候,必须是第一个扑在最前面的。在某些情况下,问题的难度可能超出其它成员的能力,就得挽起袖子自己上,就需要“独立”完成。解决问题必须要迅速,特别是对于线上运营的游戏,方式和方法很重要。

围绕着核心能力:独立快速地解决问题,还需要以下几种能力的支撑。

  • 批判性思维。批判性思维是以一种合理的、反思的、心灵开放的方式进行思考,从而能够清晰准确地表达、逻辑严谨地推理、合理地论证,以及培养思辨精神。说起来容易,做起来难,思维模式的培养,是非常缓慢的过程,从小到大的教育方式已决定了思维的模式,但也并非一成不变,不好的思维方式就该抛弃,当然这个过程会非常缓慢和痛苦,思维方式的转变绝非一句话说说而已。为什么强调批判性思维,它是独立解决问题的前提。

批判性思维

  • 丰富的知识积累。要快速解决问题,就得需要丰富的知识积累。知识广度不够,解决问题时视野就会受限;知识深度不够,解决问题时就会力不从心。做为游戏主程序,知识的广度和深度的平衡非常关键,知道当前项目中的所有技术,并且精通核心技术才是关键。

  • 快速学习。那在解决问题过程中,谁也无法保证自己什么都会,遇到未知的知识领域的问题,该怎么办?能否快速针对问题学习相关的知识领域才是关键。当前这个时代,唯快不破,我认为快速学习能力绝对是最最最核心的能力。一个人或者公司,想要具有竞争力,必须要对新知识保持一种开放的心态,能够在最短时间内学会,这样才有可能领先。要想成为领先的公司,首先里面的人,必须具备快速学习的能力,否则一切都是扯淡。

  • 勇气和担当。面对疑难问题,能迎难而上是需要勇气的;出了问题,能背的起锅抗的住压力是需要担当的。直面一切牛鬼蛇神,竭尽全力,赶尽杀绝。

  • 乐于分享。解决完问题,多总结,解决问题的思路和方法多多分享给其他人也是非常重要的。作为主程序,品荆斩棘,解决了一堆前所未有的问题,经验全放在自己脑子里面是万万不可的,这样的话活该你被累死。

2. 技术能力

主程序的技术能力,毫无疑问必须是最强的,至少要非常靠前的。否则,没法去领导别人,给出的技术方案也不具备说服力。主程序和普通程序的对于能力的关注点也应该有所不同,他应该更关注底层和框架,业务逻辑在时间充裕的时候也可以多接触。

框架

  • 精通底层框架。对于当前维护的系统底层框架,必须了如指掌,否则优化和调整谈何说起。

  • 精通核心系统。对于游戏中的一些核心系统,也是与上面同等的要求。如:AI、装备、技能、包裹、邮件、副本、场景等等。这些是一个游戏最核心的部分,做为主程序必须花时间进行研究和编写。

  • 封装、重构。如何把自己的工作最大化?那就需要把代码中的坏味道进行重构,绊脚石挪开,使用频率高的进行封装和简化,让其它人的工作高效起来。

  • 善用工具。工欲善其事,必先利其器。能流程化的尽量使用工具去完成,人脑应该专注在更有创意的地方,发现重复的地方,尽量想办法使用脚本和工具来替代人力。

3. 管理能力

主程序的管理能力,也是必不可少的。对于版本内容的开发和预估,项目代码质量的控制、与团队成员或跨智能进行有效的沟通、了解团队中每个成员的优劣势、带领团队程序去解决问题、在大家遇到问题时能及时地指明方向都是非常重要的。

能被选为主程序员,往往是技术实力比较强的。目前,大家的技术实力还有很大的提升空间,管理和领导力都是后话了,不做详细阐述了。

4. 小结

综上,游戏主程序作为一名技术领导!首先,必须具备较强的技术实力;其次,要能带领团队朝着一个方向走;最重要的是,要时刻去磨练自己的核心能力,进而不断精进自己的技术和领导能力。

David++