远程开发工作
罗恩男 | 1981 年 10 月生 | 湘潭大学 | 计算机应用 | 专科Telegram+57 302 471 0467求职意向求职岗位:客户端主程序,引擎程序自我介绍本人拥有 18 的游戏开发经验,使用c++语言和 lua,从事过游戏客户端图形引擎的开发,参于的项目 有热血足球 online,MMORPG《拥兵天下》,搜狐畅游的 Genesis i-3D 项目, 用户在线超过 1.5 万的棋 牌项目。对技术喜欢研究,对工作认真负责,在沟通方面能够做到及时高效。学习能力强,工作上手 快,适应和承受高强度工作环境。工作经历2021/9 — 至今深圳迷你玩科技有限公司 | | T-4 程序工作内容:1. 在负责公司自主研发的引擎的效率优化和bug 的调整,具体包括场景的优化,包括场景的 LOD,字 体引擎的效率提升,gui 系统的渲染效率的提升。2. 移植 UnRealEngine 引擎的 GAS 组件和 Gamep layTags 到自研的引擎里面。3. 移植UnRealEngine 引擎的八叉树到自研引擎里面,并且根据我们的自研的引擎做了优化 ( 做了 动静Actor 的区分,做了AABB 包围盒的碰撞检测处理,对 AABB 的子对象查询做了一点修改,父的 AABB 碰撞了并且完全包围了,就不在做子对象的处理 AABB 碰撞处理了)。4. 重构项目的一些设计,让项目的一些功能设计更加合理一些。具体包括重构游戏的buff 系统, skill 系统,状态机的自动化转换,c++和 lua 调用的优化(显著提升效率)5.参与公司的 studio 工具的开发,做了 studio 的玩家控制,相机控制,输入控制。6.辅助外部使用 studio 工具的团队开发和查找游戏开发中的崩溃,内存泄露和性能优化指导的。2019/2 —2021/6长沙 5G 网络科技有限公司 | | 技术经理项目经历:仿传奇 3d 项目工作内容:1. 给引擎增加3d 功能,支持 3d 模型2. 给引擎增加简单的平面阴影,这样的阴影效果一般但是速度还可以3. 把引擎 pc 端升级到了DX9 的版本,一些太古老的特性支持取掉。比如DDRAW 就完全没有了。4. 设计全新的GUI 系统,完全重新设计,主要是使用DX9 了,所以合并图集的工作也就一并完成了。5. 使用实体计算游戏中的静态物体,优化的游戏的骨骼计算。6. 给游戏增加了光照系统,增加了天气系统,增加了简单的物理。7. 增加了游戏的动画帧回调系统,可以做更加真实的被击效果。
2016/1 — 2018/10长春鑫泽网络科技有限公司 || 技术负责人项目经历:吉祥棋牌,最高人数到达 15000 人。公司已经上市工作内容:1. 负责游戏3D 引擎的开发。
2. 完善游戏的客户端框架,升级游戏的渲染优化和加载游戏,显著提高游戏的稳定性。3. 重建游戏的开发流程,提高游戏的开发效率。4. 游戏图形引擎的升级,完善了客户端产生错误上报服务器的机制。方便来查找客户端存在的问题。5. 参与麻将游戏的服务器和客户端的开发,主要是为了调优客户端的框架是否对一线开发人员是否 友好。6. 对数据库的性能做做出优化,提高并发数量。7. 增加网关服务器,用来实现防御ddos 的攻击和性能的均衡。8. 实现websocket 的协议,支持 h5 的客户端通信。9. 增加对 protobuf 的支持,统一了网络消息的格式。也方便后期的维护升级。修改 protobuf 的一 点点底层代码,让 protobuf 支持 c++的预编译头文件的实现。10. 增加了对恶意和非法玩家的检测,防止拒绝登录的攻击。11. 增加了和 php 后台的网络协议对接,可以安全的执行 php 想要执行的 sql 操作。把 php 的一些性 能操作接管到服务器程序,增加了后台的效率和安全性。12. 数据库改成对mysq l 数据库的支持。13. 对服务器的底层框架做修改,提升框架的性能。14. 网关服务器支持上万的并发连接,游戏服务器支持分布式架构,可以部署到不同的物理服务器, 增加灵活性和性能,并且已经上线运营测试通过。15. 支持网关组的实现,原理上可以实现无限网关,进而实现百万的并发连接,测试过4 台网关同时 运行。
2014/7 —2015/11深圳创梦天地科技有限公司 | | 客户端程序(T3)项目经历:1. 参与公司的一款跑酷类的打僵尸项项目,学习使用 unrealengine4,开发一个第一人称设计游戏。2. Ue4 的项目完成到可以联机游戏的程度,包括武器,生命,体力都完善。3. 指导我们的美术优化制作的模型,因为不优化在手机上面无法跑起来,原因还是因为手机的 GPU 的 寄存器数量不够多。4. 参与公司从韩国买来的一个跑酷打僵尸的项目,使用 unity3d 来进行开发,使用c#来写逻辑,实 现了背包,物件使用,掉线后恢复进入,图形的性能检测和优化(主要是指导美术规范的使用美术资 源以及合理的使用 lod)工作内容:重要是对 unrealengine4 引擎的学习,公司准备做一款 3A 项目,做技术储备。对 unity3d 开始有了 一个大概的印象。
2013/11 —2014/6深圳冰川网络科技有限公司 | | 客户端程序员项目经历:不败传说项目,PC 端工作内容:1. 查找引擎的性能分析不准确的bug,包括对渲染场景的人物统计的数量不对的问题。2. 游戏的技能系统重构,更加方便的去做新的技能。3. 游戏上线后的崩溃分析,主要是很多野指针和越界的问题定位和修改。4. 优化的游戏的崩溃日志上传,也加了很多 try 来增加游戏的稳定性。在让游戏不奔溃的情况下, 上传错误的日志,并且让玩家可以继续游戏,保持比较好的游戏体验。
2012/11 — 2013/10北京搜狐畅游天下网络技术有限公司 || 引擎程序项目经历:参与开源游戏引擎Genesis-3D 的开发工作工作内容:1. 完成引擎的部分 bug 的查找和修复。2. 完成引擎性能分析工具,多视口表现。3. 完成引擎的阴影质量的提升。4. 完善引擎的骨骼动画和渲染流水线框架的改进。5. 完善引擎的草的批量渲染和性能的提升。6. gui 工具开发,可以编辑 ui,包括演示,大小,透明,旋转等一些操作。
2008/10 — 2012/09北京蓝港科技有限公司 || 客户端主程序,引擎组程序项目经历:PC 端《佣兵天下》工作内容:1. 升级游戏的客户端3D 引擎。2.升级引擎的地形编辑工具。3. 项目初期客户端的逻辑编写已经客户端框架的更新设计。4. 升级游戏的GUI 系统,让 GUI 系统增加冷却控件,血条控件,和 lua 更加好的交互。5. 升级游戏引擎的骨骼系统,支持动作的融合和分离,可以让玩家组合出来更加多样行的动作。6. 升级游戏的 lua 脚本系统,支持 lua 的性能分析和调试。7. 升级 lua 的网络封包,解决传递网络字节的错误。8. 实现游戏的烘焙,提升场景表现力的同时也提升了效率。9. 实现地形的静态阴影生成,并且也支持静态阴影的镂空效果。10.游戏的骨骼计算通过 GPU 来计算,减少了CPU 对骨骼计算的压力,分离的美术制作的模型,因为 使用了GPU 计算了,所以美术的模型每个部分不能超过设定的 50 个骨骼的上线了。11.对游戏的引擎增加了部分 IK 的计算,主要是打算我们的披风是自己计算的,所以在做骨骼的计算 的时候,也考虑了部分披风的真实效果。12.对模型的顶点增加了多套uv,可以实现不同的效果,比如盔甲的流光效果。13.增加了后期的 effect,包括屏幕泛光,简单的 HDR,发光。
2004/01 — 2007/09北京热血足球工作室 || 客户端程序 客户端主程序项目经历:热血足球online, 北京完美时空看中项目,并且谈到了收购团队。工作内容:1. 完成游戏的玩法,包括突破,加速,释放技能等。2. 完成游戏的GUI 系统。解决游戏的bug 和性能问题修复。3. 完善游戏的背包,技术,换装,交友,场景切换等游戏必须的逻辑功能。4. 完成游戏的技能,成长系统。5. 完成游戏的天气系统,不同的天气会影响到游戏中足球的物理属性。主要的优化的工作
1.在迷你玩,优化了八叉树的拣选。比如对已经选择了的包围盒物体,直接就不在遍历子树的物 体,直接加入 pick 队列和渲染队列。以前是还会更加精选一下子树下的物体是不是有可能不在视锥 体的范围内。2.优化了射线拾取。射线拣选的时候对射线做求逆的操作,不在对物体的每个顶点做偏移计算。 减少了很多的计算量。3.做了部分的小模型合批,解决了不同贴图的子模型合拼,贴图也合并了,减少了drawCall 的 次数。4.查找到了不透明物体的渲染顺序问题。排序的方向反了,导致处理了很多无效的像素。重排后, 无效的像素显著减少,帧率提升了。5.在每帧渲染的时候,对一些使用的 stl 容器的临时对象,变成 static 对象,消耗一点内存, 但是不在每帧都申请释放内存了,让帧率提升了一点。6.减少了c++和 lua 的相互调用的次数。这个是具体的游戏状态机,每次都是 c++和 lua 来回相 互调用。 lua 建立了状态管理器后,把一些调用的逻辑放到 lua,减少了很多和c++相互回调了。7.完成了游戏的多线程渲染的实现,利用directx11api 的多线程渲染支持,同时多个渲染线程 来渲染,提升渲染的效率。8.对 gui 系统改造,支持一个窗口可以自动检查控件边缘的范围,渲染分成透明和不透明的处理, 对像素处理的速度明显提升。9.支持 drawInstance 渲染,对场景中大量相同的物体一次渲染出来,减少了 drawCall 的次数。10.优化了游戏的载入速度。在做不败传说项目的时候,发现了可以提升载入时间的方式,其中 包括 shader 的离线编译,这样进入的速度提升了5 秒左右。发现获取 ip 地址可能会延迟 10 多秒, 原因是 ip 库没有本地保存,需要去网站获取,但是有的时候网站反应很慢。发现载入的时候,没有 使用多线程,规划了资源的载入,使用多线程来载入。最后游戏进入的时间从 20-30 秒,优化到7-10 秒左右。11.优化了骨骼动画的计算,修改了骨骼导出的代码,每个骨骼不在使用局部矩阵,变成全局矩 阵,这样子骨骼计算的时候,不在需要和父骨骼的矩阵信息做乘法,减少了很多的计算,加速了骨骼 动画的计算。12.在做佣兵天下项目的时候,给引擎支持了 gpu 计算骨骼的功能,让显卡也参与骨骼动画的计 算。做了顶点烘焙,把光源的信息都预先计算一次存放到了顶点色里面了,减少了实时光照的计算量。 制作了静态物体的阴影烘焙,减少阴影的计算,不过付出了一些纹理和内存的容量,总体来说渲染的 速度有提速,但是消耗了内存。13.做了模型的LOD 和骨骼的 LOD,在模型离远了,降低了骨骼计算的频率,使用LOD 后的骨架来 计算骨骼动画,也换成低的模型。14.对很远的静态物体做了3D 转2D 的优化,把远处的物体渲染到一个纹理上,然后这个纹理用 公告版的方式来渲染,让模型的变成面片,但是增加了透明度的处理,所以只用在了像素处理没有压 力的地方。15.优化了八叉树的包围盒检测,八叉树给场景划分了区域,但是每个场景的高度宽度和深度是 不一样的。所以支持做 AABB 检查的时候,X,Y,Z 轴的检测要根据不同的场景来做不同的优先级判断, 比如首先判断 X 和Z 轴是否相交,最后判断 Y 轴方向是否相交。因为场景很多时候高度并不高,所以 大部分时候 Y 轴都相交,但是 X 和Z 轴的范围很大,很多时候不相交。所以检测顺序是 XZY。16.使用 simd 优化了 3d 向量和矩阵的操作。
页:
[1]