一名普通游戏程序员的囧囧2021年终总结

250 阅读8分钟

虎年大吉

虎年魔幻回家之旅。

本来以为买了无座车票,下订单时变成了有座。心里美滋滋,没想到这么幸运。

去搭高铁时,想着赶紧上车,就盯着7️⃣车找。 上了车之后,发现有人坐我的那个位置。就跟他对车票,对他说你是不是坐错车了呀,赶紧下车。但问了旁边的人才知道是我上错车了,真是大型社死现场😂。我反应过来列车门已经关了,而且这车还是直达广西南宁的。

没想到我这么“幸运”。

当时听到不能下车,列车上的清洁阿姨让我找列车长,我满车厢大喊列车长(持续社死ing😂),可惜没找着,餐车的乘务员妹子说你急也没用,不会开门的。

我心想广西可能要五六个小时,完了😰BBQ了,估计今天回不了家了。

最后,找到了列车长,她说,到南宁再跟这趟车回广州,估计八九点能回到吧。然后你再转送你回茂名,应该晚上11点多能回到。

原来这么快的,那好吧我躺平了😂。

人生第一次上错高铁😅,上演一次o(╯□╰)o囧途。

来了一次广西南宁一次游,广州广西折返跑。

29号晚上11点半,成功到家。

提前祝大家🧨虎年大吉🧨,笑口常开,阖家安康。

接下来总结一下我这一年。

开源之路

2021年初的时候,开源了一个框架,是我工作和学习的沉淀。

官网:egf-docs.vercel.app

仓库地址:github.com/AILHC/EasyG…

仓库地址(国内镜像):gitee.com/AIGameHome/…

这一年也陆陆续续往里面补充一些模块,以及对旧模块进行迭代优化。

新增

  • 网络通信模块:enet

    将个人对游戏开发中的网络通信的理解封装的一个库,协议处理层进行了抽象,业务层无需关注通信细节,而且协议层处理可随意替换。比如前期开发使用明文json进行通信,开发调试都是非常高效的,中后期替换为更加安全高效的协议处理而不需影响到业务层。

  • 基于enet不同框架的适配(enet-pbwsenet-pinus)

  • protobuf协议处理工具:egf-protobuf

  • 消息通讯模块:broadcast(可状态管理的事件收发模块)

    一个OHOH的事件通讯模块 OHOH

  • 新的通用UI管理模块(还在测试中)

    为什么要重新写一个呢?又不是不能用。 如果可以更好,我还是想写一个更好的。因为在工作和业余中使用时发现有一些痛点问题,没法进行扩展解决,而且自己对业务开发有了更多更深一层的理解。所以重新写了一个。

  • Excel解析转换库:excel2all(将excel转换到各种语言:ts声明、js、json、其他语言)

  • Excel导出工具:excel2all-cli(基于Excel解析转换库)

迭代优化

  • 模块构建工具:egf-cli

    经过一年多的迭代,以及这个仓库绝大部分模块的磨练,它够用了:能够一行命令打包出各种模块规范到不同环境中去使用,还都有类型提示。自定义配置还可以用来编译CocosCreator插件中的TypeScript

    插件模板:store.cocos.com/app/detail/…

    同时应用在工作,完美解决Laya项目代码分包之痛,以及同时适应项目的自动部署改造。

  • 通用对象池模块:obj-pool

    主要是增加了一些更便于使用的机制和接口,以及增加可控制对象池的最大值的逻辑

  • 通用UI管理模块:display-ctrl

    主要是对不同的底层进行适配。

  • 对不同UI底层进行适配库:dpctrl-fguidpctrl-cccdpctrl-fguidpctrl-c3d(其实这些适配都很简单)

  • 通用层级管理器:layer

开源收获

  • 收获了一些小伙伴的认同,以及175颗小星星⭐️
  • 同时在这个过程中,对于nodejs、前端工程化、monorepo实践有了更深的体会。
  • 不断丰富模块,迭代优化模块的同时,也是我的知识体系的渐渐完善。

自媒体

最好的学习就是分享。

同时也希望和更多人交流学习。

这一年我写了几篇个人对框架开发的拙见,以及对CocosCreator的一些探索心得。

截止今天收获了509位粉丝,感谢关注Thanks♪(・ω・)ノ。

但后续由于各种原因,很少更新,对于等待中的小伙伴。

非常抱歉(。・_・。)ノI’m sorry~

//文章列表

由于自己的分享,认识了很多同行小伙伴,很有趣很厉害,说话em。。又好听。

用业余时间写了两个CocosCreator的插件上架CocosStore

最重要的一个是Aswallow(如燕)

链接:store.cocos.com/app/detail/…

主要解决CocosCreator2.x版本大型项目开发时编辑器卡顿的问题,帮助了一些小伙伴摆托卡顿之苦😁

除了插件售卖的回报,也收到了Cocos官方的礼物馈赠,非常荣幸~

其实还有很多,这是我最喜欢的一个

(^-^)V

祝Cocos虎年虎力全开,虎虎生威~

工作

我都做了哪些事。。。

  • 优化fgui插件

    增加对fgui资源依赖的精细控制,优化了UI内存管理

  • 接手战斗系统

    实现一些技能效果,实现一个多人组队玩法

  • 重构并完善技能编辑器(解耦主项目,独立出来)

  • 在typescript上的编译研究成果模块构建工具,应用在项目的分包需求中,重构又不是不能用但有点恶心的分包机制,做到无痛分包,提高分包后的开发效率。

  • 导表工具的优化也成功应用到项目中,提高了开发效率,减少协作过程中的配表冲突

  • 实装了完善的完全自动化发布部署,并自动生成异常监控平台所需的sourcemap(源码映射),提高发布部署效率以及杜绝人工部署带来的低级错误。异常监控的接入提高异常处理的效率和准确性。

  • 和小伙伴一起处理了因为网络模块弱网(频繁断线重连)处理机制缺失导致所有模块在弱网下的各种崩溃bug。

    这是我在准备合并12月版本前测试时无意发现的,虽然是在极限网络情况下的问题,而且快发版本了,这个问题涉及甚广。和主策商量了一下,延迟一点合版本。然后和小伙伴疯狂修改有问题的模块😂,最终全部修复。

    这个在我没来之前就有的模块,而且又底层,一直都没什么问题,所以也没怎么动过。没想到会出这么大的问题😂。所幸解决了。

项目情况

这个项目审核版本第二次送审了,没什么好修改的了。需要五月份才知道消息

主线版本应该也交付金主爸爸SE了

我们项目也最终在过年前,被停了。

何去何从

项目停了,我们内部可转岗Unity或者UE。

其实很不舍,所以停了之后,我又花了时间打磨优化,整理。就像入殓师

  • 转岗Unity

    Unity项目组是克苏鲁题材项目,有大厂签约,一个亿吧,主推海外。项目已经相当完善了,2022年九月估计就会上线吧。

    我转去能干嘛?学Unity,做业务拼UI?这不是我想要的

    也有声音建议说,Unity火,强大,很多公司用,需求大。

    但与我规划不符。

  • 转岗UE

    UE很🐂🍺,UE项目组的都很🐂🍺

    但与我的规划不符。

我想让我的知识体系和实践更加完善,把我自己最擅长的那件事做到最好。

这几年走过来,我一直在探索更好更高效的开发流程:从架构、工具链,到协作方式和流程。我都在思考与实践,也许现在的又不是不能用,但那样项目成功上线就得靠更多的运气,靠别人。我要靠自己,用双手尽可能去做得更好。免得徒留遗憾。

虽然现在游戏行业很艰难。很多认识的小伙伴也都遭遇了,停项目,裁员。也许留下来是更稳妥的选择。

但我还是要离开了,这家我待了3年半的公司,从毕业到现在。去迎接新的挑战。

依稀记得当时,第一个项目停滞时,那个毛遂自荐扛起项目开发的,初生牛犊不怕虎的自己。

感谢公司,感谢老板,给的信任和机会。

感谢一起共事的小伙伴,谢谢你们的信任和包容。

吉年大虎,江湖再见~

计划?Flag!

  • 继续迭代开源框架,它还没到我理想中的状态

  • 新的工作顺利~

最后

再祝大家新年快乐~

去贴对联了~

如果对游戏开发感兴趣的,想了解更多游戏开发相关的事和知识

可以关注公众号或者加群交流

公众号搜索:玩转游戏开发

或扫码:img

QQ 群: 1103157878

博客主页: ailhc.github.io/

掘金: juejin.cn/user/306949…

github: github.com/AILHC