个人介绍
★ 较完整的客户端开发流程,团队协作经验,版本管理工具的使用比如git。
★ 掌握3个H5游戏引擎,能实现游戏的移植,能带来更多的技术选择。
★ 能熟练与美术,策划, 程序沟通讨论产品需求与技术实现细节。
★ 具有良好的编码习惯,面向对象思想,代码设计能力,热爱游戏技术,能快速上手使用新技术及知识。
工作经历
2022-05-01 -2023-12-31广州益世界H5高级游戏客户端
使用CocosCreatror开发游戏,负责游戏复杂功能的开发,背包系统的设计,对creator使用中遇到不顺手的进行脚本/组件化优化,负责开发一些常用工具比如转表、uuid筛查等。并在工作中逐渐对整理代码的理解更为深透,熟悉客户端开发框架的一些基本架构
教育经历
2014-08-01 - 2018-06-01集美大学计算机科学与技术本科
技能
项目描述:一款类似放置修仙游戏,主要是养成主角角色,比如装备的打造,丹药的修炼,角色的等级突破等来提神主角实力,其他有常见的背包、排行、拍卖行、运营活动等。 我负责:负责角色修炼、突破、信息、装备、属性等功能的开发,维护通用接口以支持各系统中的调用使用。负责引擎一些通用的组件开发,仿照fairygui的控制器在cocos中实现了一套;负责脚本工具的开发与维护,当时另起了一个项目用来做3D粒子特效,需要写个工具自动复制预制体所用到的所有资源到当前项目中。 重点/难点:1、cocos没有自带的状态控制器,在使用中需要重复的代码去控制各个节点的属性,很是费时费力,写的控制器很好的解决了这个问题,写的过程中对cocos有了更深的了解,并发现cocos编辑器的一些问题。2、对于现项目要使用另一个项目中的预制体,如果不写工具需要一个个手搓,写此工具深入研究了预制体文件的结构,为后续写查找交叉引用以及查找uuid等工具奠下了基础。
项目描述:模拟考古冒险与经营类游戏,地图上多个店铺、景观,店铺里有多个古董,古董旁有多个参观点,位置均是固定的。主要玩法:解锁店铺、解锁景观及升级店铺、升级店铺内的伙伴,人物进入店铺观赏获得金币,通过墓室关卡获得古董等。 我负责:经历整个项目的开发,负责核心玩法逻辑开发,根据开发需求仿制Thenjs实现链式控制库;使用tiled配置点位以及npc层级,使用行为树完成npc的移动、状态及阶段事件;使用异步A*库完成寻路;使用fairyGui组件溢出滚动完成地图的拖动放大缩小。探险功能:使用自定义算法实现背景由远到近有小到大的移动效果。 重点/难点:1、性能问题:npc变多、以及npc与物件的交错,使得计算量和DrawCall噌噌上涨。最后分了15个组件层,物件根据表顺序配置在双数层,npc根据tiled配置在单数层,以减少渲染及计算量,排序计算仅计算npc之间的层级。设置A*的搜索迭代次数、存储寻路路径、使用分帧计算减少游戏的卡顿与发热。2、npc状态问题:最开始使用状态机,因不便于管理及扩展后面学习使用了行为树。3、地图缩放问题:普通的改变scale可以实现,但是锚点在左上角导致缩放效果不好,但又不能实时改变锚点,所以记录了点击位置,计算通过缩放的大小移动地图保证手指初次触碰的视图在屏幕内。
技术栈:CocosCreator、FairyGui、Typescript 项目描述:一款女性换装类游戏,使用龙骨资源换装、服装动作,使用MVC模式设计功能开发。有庭院玩法,换装、关卡、各种活动以及小游戏等玩法。 我负责:参与庭院玩法的底层逻辑搭建和扩展,使用A*算法、行为树实现npc的寻路、行走和触发事件;使用cocos编辑器的代码类组件与节点绑定,完成地图、视图、物件编辑(拾取、拖动与放置)等逻辑服务。使用FairyGui的Drag&Drop实现合成玩法游戏的拖动与放置。参与其他功能或活动的开发。 重点/难点:1、物件的层级问题:物件基本在同一层,经历了Y+偏移量排序、拓扑排序、最后遍历地图,性能和Y排序差不多。2、合成问题:拖动是替身拖动,并且有边界,自己实现发现效果并不是很好,后来发现FUI自带这个功能,只需要监听即可。