下载PDF

工作与项目经历

Oct 2016Present

游戏开发工程师

吉米畅游网络科技有限公司

项目名: 《血之命运》

开发工具: UnityVisual Studio, Visual Studio Code, Xcode

项目描述: 这是一款 PC 平台的单机游戏。基于 Unity 引擎 C# 语言开发,类型为日式战旗 RPG。拥有建立在复杂且严谨系统下高游戏难度,蕴含丰富文化内涵且牵动人心的故事剧情。

主要职责与技术要点:

  • 项目的需求分析与技术选型。因为主要目标平台为 PC 后续可能还有主机,而且开发人员只有两个程序,为了能更加专注于游戏逻辑,所以选择了成熟稳定的 Unity。虽然说之前没接触过 Unity 和 C#,但实际上只花了三四天左右便熟悉了 C# 和 Unity API 并投入到开发中。之后的使用也证明游戏在编辑器模式下与原生平台表现相当一致,节省了大量原生平台调试时间,并且 Unity 商店拥有大量插件资源,这些都大大加快了开发进度。
  • 整体代码风格的制定。
  • 关卡地图的实现与策划编辑功能。为了能让策划简便高效的进行关卡地图编辑,利用 Unity 的自身优势,将战斗事件逻辑、地图搭建、作战单位部署、多战场表现等繁琐的操作,通过大量的自定义编辑器大大提高了策划编辑关卡的效率与容错性。
  • 核心战斗系统的实现,包括作战单位及技能系统、伤害及属性效果、行动指令、阵营与回合轮换、职业与武器克制、地形与植物等等。
  • 游戏内的战斗事件与策划编辑功能。
  • 部分养成功能的实现,包括卡片训练、等级系统、装备品质及掉落。
  • 调试与作弊指令。因为关卡比较复杂,测试起来费时费力,所以参考了 KOF97 调出隐藏人物的方式,实现了一套可灵活扩展的调试输入指令,可随时根据测试需求添加指令,大大提高了测试效率。而且之后也作为作弊指令部分开放给玩家获得了不错的反馈。
  • 构建打包流程优化。主要包括构建时自增版本号与构建后自动按版本归档。
  • Steam 接入。
  • DRM 验证。

项目名: 《欢乐电玩城

开发工具: Cocos Creator, Visual Studio Code, Xcode, TexturePacker, Android Studio

项目描述: 这是一款基于 Cocos Creator 引擎以及 JavaScript 脚本语言开发的游戏,是一款时下流行的在线娱乐场游戏。其中包含了多个小游戏,比如轮盘、老虎机、捕鱼等。

主要职责与技术要点:

  • 项目的需求分析与技术选型。
  • 游戏内部分小游戏的开发,包括俄罗斯轮盘、森林舞会、奔驰宝马等。
  • 游戏数据与后端服务器的对接。
  • 热更新的实现和更新资源打包。
  • SDK 的接入,包括微信分享、支付宝、Google Analytics。
  • 游戏真机性能优化,主要包括脚本层与 native 层的频繁通信的问题、 Creator 中一些会打断渲染批次的方法调用问题以及常用的通过预加载减少游戏时卡顿的手段。
Jan 2016Sep 2016

游戏开发工程师

壹台科技有限公司

项目名: 乐儿音乐—快乐音乐启蒙

开发工具Visual Studio, Cocos2d-x, Cocos Studio, MuseScore, Adobe Audition, Eclipse, Xcode, TiledMap

项目描述: 这是一款基于 Cocos2d-x 引擎以及 C++ 语言开发的、针对 3-8 岁儿童的音乐启蒙游戏我,可以连接智慧钢琴学习和游戏。玩家根据乐曲和乐谱,弹奏屏幕或智能钢琴上标识的琴键,根据乐曲分数解锁其他乐曲。游戏拥有五线谱和休闲两种模式。

主要职责与技术要点:

  • 使用 TiledMap 制作五线谱乐谱。主要是对象层存储乐谱数据。
  • 基于 MusicXML 开放格式改进五线谱乐谱框架。由于 TileMap 制作乐谱费时费力,并且难以维护,所以我在阅读了 MusicXML 文档并学习了相关的乐理知识后,着手改进了乐谱框架。乐谱的制作由音乐老师在常用的音乐软件上进行创作和修改后,导出 MusicXML 文件即可使用,极大地减少了工作量。
  • 实现根据乐谱判断用户操作的游戏逻辑。需要准确判定音符、音频与用户输入在节奏点的一致。
  • 改进屏幕虚拟琴键。由于不同曲目的音域不同,可以根据屏幕智能调整 88 个虚拟琴键显示范围,并与两种游戏模式对接。
  • HTTP 接口与服务器的对接,并对数据内容和逻辑进行相应调整。
  • Socket 通信的维护根据需求进行相应调整。
  • 基于最初的动画框架制作课程动画。
  • 参与动画框架的改进设计。由于课程之间穿插了大量动画,工作量巨大,所以改进了编辑动画的流程,通过结合 Cocos Studio 实现了动画的可视化编辑,并且更新了 Spine runtimes。
  • 使用 iconv 进行 Windows 下编码转换。在课程讲义部分有大量文字内容,而 Windows 下调试有中文乱码问题,为了减少调试成本,使用了 iconv 进行编码转换。
  • 通过 Cocos 的 UserDefault 实现游戏数据的本地存储。
  • Android 真机环境下连接钢琴测试与调试。
  • 对游戏模式及其他一些现有功能的优化改进。
  • 负责交互界面的制作与维护。
Oct 2014Nov 2015

Cocos2d-x 游戏开发实习生

趣想新游科技有限公司

项目名: 《疯狂快打》

开发工具: Xcode, Quick-Cocos2d-x,SublimeText Zwoptex, Cocos Studio, Eclipse

项目描述: 这是一款基于 Quick-Cocos2d-x 引擎以及 lua 脚本语言开发的动作类游戏,玩家控制游戏角色战斗。游戏分不同的章节和关卡,击杀敌人可以获得金币和经验,金币可以购买商店道具。

主要职责与技术要点:

  • 负责UI设计,音效以及特效的添加。
  • 实现场景的设计和章节关卡切换。
  • 实现了游戏中英雄的行走,动作衔接和特效挂接。
  • 八方摇杆的实现及摇杆控制人物的走动。
  • 实现游戏中英雄与怪物的攻击与碰撞检测。
  • 英雄的经验,升级,金币,血量的设置。
  • 负责游戏商店界面的制作、编写。
  • 负责状态机的设计和编写。
  • 负责游戏的优化和测试。
  • 参与并解决项目中的难点问题。
  • 脚本与资源加密打包。

 

项目名:《泡泡大消除》

开发工具: Cocos2d-x, Xcode, Zwoptex, ParticleDesigner, Eclipse

项目描述: 这是一款基于 Cocos2d-x 引擎用 C++ 编写的消除类的游戏。通过点击屏幕,向点击位置发射不同颜色的泡泡,与场景中现有的泡泡进行三个以上相同颜色的消除,指定时间内消除的泡泡越多得分越多,泡泡堆积至屏幕下方,游戏失败。

主要职责与技术要点:

  • 负责游戏界面的设计,音效,动画,以及特效的添加。
  • 负责部分游戏主场景的搭建。
  • 负责泡泡类和发射器的规则处理。
  • 参与游戏商城、道具的设计、编写。
  • 负责 iPhone, Android 真机调试应用程序。
  • 负责游戏的优化和测试。
  • 场景中泡泡位置的检测和碰撞后运动轨迹的改变设计。
  • 泡泡队列的设计。
  • 碰撞消除规则的设计。
  • 特殊泡泡和普通泡泡的区别管理和消除管理。
  • 计时器的添加。
  • 商城道具使用后不同效果的实现。

其他项目

项目名: 《跑跳与打》(个人开发)

开发工具: Quick-Cocos2d-x, SublimeText, Cocos Studio, TexturePacker, Android Studio

项目描述: 这是一款基于 Quick-Cocos2d-x 引擎以及 lua 脚本语言开发的游戏,是一款跑酷类游戏,游戏融合了流行的传统跑酷元素以及打斗元素。玩家通过在游戏中跳跃躲避障碍获得分数,攻击击杀怪物获得宝石来解锁英雄。该游戏是出于业余爱好开发的,原型是个人一直比较喜欢的 Nexon 的一款游戏,由于解包出了其资源也很喜欢其美术风格,所以便萌生了自己重写的兴趣,完成度不是很高。

主要职责与技术要点:

  • 项目的需求分析与架构设计。
  • 实现游戏基本模块的设计。
  • 通过状态机简化角色的逻辑处理,实现英雄技能冷却的设计。骨骼动画的动作与状态机的逻辑关系。
  • MVC 设计模式的架构逻辑,通过事件机制实现 model 类与 view 类的交互、人物动作特效的添加与处理。
  • 游戏界面,场景设计。
  • 物理引擎的使用及碰撞的分类检测。
  • 实现了地面的 3D 展示和封装。并且修改 CCRenderer 解决地面的渲染问题及相关层次关系的处理
  • 负责随机地图与障碍以及场景层次运动的实现。
  • UI 与数据绑定。
  • 资源脚本与 GameState 游戏数据加密。
  • 游戏后期的优化和真机测试。

教育经历

20112015

计算机科学与技术

河北农业大学

技能掌握

  • 熟练掌握开发语言 C/C++, C#, Lua, JavaScript, Java, OC
  • 熟练掌握 Unity, Cocos2d-x, Cocos Creator 等游戏引擎的使用
  • 熟练掌握常用的游戏编程模式
  • 熟练使用 Xcode, Visual Studio, Cocos Studio, TiledMap, SVN, Git 等相关工具。
  • 熟练掌握 JSON / XML 文件解析、文件流操作等数据存储方式
  • 熟练使用物理引擎
  • 熟悉 Unity, Cocos 与原生平台及脚本语言交互
  • 掌握 Socket 网络编程以及 TCP, UDP, HTTP, FTP 等网络协议
  • 了解 Node.js, WPF, OpenCV 开发
  • 对新技术的探求热情和快速学习能力
  • 良好的面向对象编程思想和设计思想
  • 良好的英语阅读能力
  • 极强的网络检索能力
  • 良好的代码及文档书写习惯

我的技术博客

致谢

感谢您花时间阅读我的简历,期待能有机会和您共事。