菲华论坛
标题: 远程开发工作 [打印本页]
作者: xiefan1114 时间: 2025-6-15 21:43
标题: 远程开发工作
罗恩
男 | 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 向量和矩阵的操作。
欢迎光临 菲华论坛 (https://bbs.phhua.com/) |
Powered by Discuz! X3.2 |