2008-2010年个人工作总结

一、本职工作完成的情况:
1、2008年下半年的工作情况:
第一阶段(8月4日至8月15日):是学习阶段,这两周主要是学习一些D3D编程的基础知识,并了解网络游戏的整体架构。8月4日至8月9日看VSS策划文档,了解游戏的一些基本需求;阅读D3D编程书籍并运行其配套示例程序代码,这方面的内容在设计DXUT控件和实现一些场景特效时会用到,到目前为止我的工作内容没有涉及到。8月11日至8月15日了解DXUT应用程序框架、DXUT控件的继承关系以及消息向控件事件的转化、原始的DXUT控件使用例子和我们公司客户端同事开发的一些DXUT控件使用例子,并对标准的Direct3d方法和各种DXUT函数进行了总结。本周关于DXUT方面的内容是我现在的工作内容直接涉及到的内容,目前我已经能够熟练的使用各种DXUT控件编写各种界面,至于改进与新增某些DXUT控件,目前的工作内容没有涉及,在今后的工作中可能要通过重写控件类来优化自己写的客户端用户界面方面的代码。DXUT控件的设计与使用可以借鉴一下MFC控件的设计与重用,现在我利用下班的业余时间将以前的一些用其他语言编写的GUI或CUI程序、SDK程序用MFC重写。
第二阶段(8月18日至9月12日):主要在做英雄系统,这是我编写的第一个子系统,如果以现在的速度再做英雄系统的话,最多一个星期就可以完成了。这个阶段的收获还是很多的,一些客户端UI编程的套路基本形成:使用一些DXUT控件(例如扩展按钮控件、表格控件和背包控件)搭建界面、与游戏大地图服务器通信、读取配置表、ID与字符串的相互转化、使用STL中的list、vector、map等容器保存从服务器获取的信息、多线程同步的临界区加锁。英雄系统的客户端不是完全由我做的,我主要在同事做的基础上添加了创建首领英雄(8月18日至8月22日)、更换英雄头像、进入游戏流程的控制、装备管理禁用右键和英雄技能学习(8月25日至9月6日)、英雄头像ID编码规则(9月8日至9月12日)。这个阶段的有些问题在当初受技术水平和时间的限制,我是一知半解的,没有予以深究,现在回过头来再看看当初的一些策划需求以及相关的代码,对于进一步熟悉整个游戏,是很有好处的。
第三阶段(9月15日至11月5日转正):先后做了民间市场(9月15日至9月30日)、任务系统(10月6日至10月10日)、公会系统(10月13日至10月18日)、运输(10月20日至10月24日)与殖民、排行、战报、捐献(10月27日至今)。做民间市场时走了一些弯路,例如在确定与修改界面、理解需求和通信接口方面花的时间有点多,在发现问题时没有在第一时间内与策划和服务器端沟通把问题弄明白;再一个就是没有清晰的测试流程,被一些细枝末叶的问题所扰。当然也有一定的收获,现在也基本上形成了一个套路:用户界面最终确定并搭建起来后,先测试打开界面时要发的请求和获取的列表,显示在下拉框/表格控件/列表框等控件中的数据都应该维护一个vector或list容器,这部分功能测试完毕后再进行其他功能的测试;刷新和其他客户端的显示操作不是当务之急,应该抓紧时间测试服务器端提供的通信函数,尽量做到C/S双方能并行工作。翻页操作做的有点复杂,用到了二维向量容器,上一页不发请求,下一页没有的话才发请求,不直观,某些不合理的通信接口应该由C/S双方商定一下,这点在做公会系统时就很好。做任务系统时的思路比民间市场时要清晰一些,这是因为市场系统我只做了民间市场一部分,而任务系统是完全由我做的一个子系统,而且界面相对简单,时间相对充裕,更主要的是吸取了做民间市场的教训,有一个较为清晰的测试流程,所以完成的较快,后来实行增量操作后发现的一些低级编码错误和记录排序问题,我也很快地纠正了过来。公会系统做的比较顺利,从了解策划需求到确定界面和明确测试流程,再到最终的编码测试完毕,只用了1周的时间;殖民与运输和捐献涉及到了郡地图的事件和游戏面板按钮的显示控制,例如识别郡地图上面的部队、城市、哨塔和行政中心,这方面花的时间比较多一点。
2、2009年的工作情况:
2.1科研界面用分页按钮代替了原来的表格控件,重新实现了UI逻辑,并添加了分页按钮的悬浮框提示功能;建筑界面解决了建筑列表跳动问题、某些建筑物限制为在一个据点只允许建设一次问题、以及一些BUG和城市产量的刷新问题;生产界面处理了已生产数量的显示等问题。科研/建筑/生产这3个系统现在已经补充了必要的文档,详见《客户端UI文档整理.doc》。
2.2修改3个主界面(上方、下方、右侧栏)。主界面上方新手村按钮和大地图按钮的控制逻辑稍微改动了一下。起初主界面右侧栏显示的各种场景对象的相同属性共用一个标签和按钮,当改动一个场景对象的控件排版时,会引起了界面错位的问题,现在在游戏第二版的基础上增加了一些标签和按钮,排版时就不会出现这个问题了。主界面下方邮件按钮和任务按钮均添加了闪烁功能;系统信息框与聊天信息框合并,调整系统聊天框字体颜色。
2.3添加补充部队按钮和补充部队界面,补充部队的功能代码从整编部队界面中分离出来。整编部队界面中兵种的职业与英雄的职业要相匹配。防具与兵种也要匹配。
2.4加强城防界面整合到了城镇信息界面中,玩家可拆除自己的非新手村据点。提高资源产量成功时,刷新资源产量的数值。动态提示框的显示。
2.5英雄界面的整合,重新实现了英雄列表、装备属性、英雄技能、特殊英雄、牢房界面、英雄简历这几部分的UI逻辑。英雄技能界面原来没有文档,现已补上,详见《客户端UI文档整理.doc》。英雄技能界面采用图标的方式代替以前技能列表方式实现;英雄装备界面用颜色渐变的条状方式突出属性值;英雄背包与公共背包合并为一个公共背包,背包里的逃跑卡都装备到英雄饰品栏;英雄属性好坏的评估语,用来提示玩家此英雄的优势与略势;点击英雄装备时,增加提示语“您可以左键双击使用”;英雄技能学习或升级成功后技能点刷新问题;根据英雄军衔与招募英雄数量的对应关系来限制英雄的招募;牢房界面赎回英雄添加提示框并处理刷新问题;英雄简历里要显示战神历时间。
2.6战报内容修改,战报里时间也采用游戏战神历。
2.7副本大厅和副本队伍(房间)等界面已经补充了必要的文档,详见《客户端UI文档整理.doc》。出现过的缺陷和Bug有:加入副本队伍,被提示密码错误,而实际是副本队伍已经开始打副本,修改副本提示语;当其他玩家在此地图开战时,进入副本的玩家被踢出副本,此时,副本队伍列表显示玩家信息没有及时更新,等等,有些问题与服务器的协议缺陷有关。
2.8国家系统、战斗统计、副本统计等新功能的实现与优化。
2.9聊天界面和邮件界面中好友和黑名单原来做的时候没有仔细的测试过,有很多需求上的疑问和服务器端协议的缺陷,现在我在修复部分问题的基础上补充了一些必要的文档,详见《客户端UI文档整理.doc》和《0703聊天室和邮件界面的需求疑问.doc》。
2.10写于2009年2月27日的《UI界面编写原则.doc》
2.11从2009年5月22日到7月15日,我的工作内容又增加了一项,即以文档的方式回复每天由测试组那边提交的一些缺陷和提示性建议,跟踪游戏测试过程中网游部各位同事和我每天的BUG修复进度。
2.12 2009年6月1日我提供了一个文本文件的过滤字典模板,7月15日策划提供了现在所用的文字过滤方案和过滤字典,在李欣提供的函数接口基础上,我将文字过滤的功能加进了这一版本的游戏。
2.13写于2009年6月17日的《0617待翻译和待提取出来的字符串.doc》
2.14 2009.8-2009.9在游戏第三版公测运营期间,基本上没有新的开发任务,这期间找找BUG,做些分离字符串的优化工作。
2.15 2009.10-2009.12负责游戏第四版UI的开发及BUG处理,这一版本的UI在主界面布局、色调方面有较大变化,逻辑上新增的功能不多。
3、2010年上半年的工作情况:
3.1参与游戏客户端UI之外的代码修改与重构:
①将游戏客户端中的公共函数以及DXUT控件渲染和场景渲染等图形显示层的代码封装成DLL;
②在理解战斗部分的通讯协议和客户端核心代码的基础上,借鉴UI业务逻辑(内政部分的通讯协议)和UI图形显示分离的做法,尝试着将战斗业务逻辑与场景图形显示分离,以降低相关模块的耦合性,增强客户端代码结构的清晰性、可理解性和可维护性。
二、学习情況:
1、2009年的学习情况:
1.1继续学习Windows平台的VC编程,D3D/socket/多线程等方面的知识没有正式开始钻研。2009.12转入IT理论知识的学习,定下的阶段目标是:图形学技术的突破、通用编程技术的巩固、形式化语言理论、场景与AI的理论。
1.2 8-11月份的业余时间主要花在代数与几何知识的学习上,用内蕴观点学习局部微分几何,巩固了一下分析学的知识、强化了一下代数与几何的知识;
1.3整理以前的数学笔记,主要有函数例子、泛函例子、变分法、有限维空间、复变函数、流形上的微积分、代数结构与拓扑结构、黎曼几何的要点、李群与活动标架法等专题内容;
1.4阅读GameRes上一些文章和文档,从多个角度了解游戏的设计;通过参与游戏战斗部分的内测与外测,了解游戏玩法;
1.5 8-12月的一些收获:
(1)代数的形式化思想,分别用代数和几何/物理的思想思考同一个概念;
(2)形式化语言、形式语言和形式文法的数学描述;
(3)形式化封装数据压缩/图像处理方面的c/c++代码,有效快速地分析与利用别人程序中的代码;
(4)API函数原型测试与COM函数原型测试,这些与业务层无关,与算法无关,比较完备地积累了各种函数原型的使用例子;
(5)剥离UI的代码,尝试利用服务器端提供的通信代码写了一个VC控制台/vb的游戏客户端,加深了对socket/多线程方面知识的了解。
2、2010年的学习情况:
DX学习情况(暂时列出如下几点):
2.1.游戏中场景代码和UI控件等图形显示层代码的形式化封装;初步将场景部分的游戏逻辑和图形显示分离,主程序中尽量只有游戏逻辑部分,图形显示部分封装到DLL中;
2.2.阅读与整理VC8/VC6+DX9/DX8方面的DX书籍与配套代码,结合游戏中封装的图形显示层代码,熟悉了DX的各个接口的功能和用法;
2.3.DX知识点有了比较全面的了解,掌握DX图形学中一些重要术语的含义;
2.4.游戏中图形显示需求的分析与搜集;战斗业务逻辑的代码->伪码->代码,结合伪码看以前的会议记录
通用编程技术的巩固方面:
2.5.Win32多线程和Winsock知识点的梳理,足以应付一些公司c/c++开发职位的笔试;
2.6.GDI/GDI+/图像处理/DAO/ADO等知识点的梳理,封装了一些能在vb/vc中二进制复用的DLL;
2.7.OO/C++/UML/DP/COM等知识点的梳理;以C++类为单位进行形式化封装,积累了一些可以在各种VC工程环境下二进制复用的DLL;
三、工作中存在的不足及改善建议:
1、陷入了游戏业务的泥潭,技术上没有提升,对个人职业发展不利,埋下了以后离职的伏笔。
2、技术线:还在考虑兼容VB6的问题,却没能掌握多线程/套接字/D3D这些通用编程技术和客户端核心技术,这是严重的失误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值