随笔分类 -  工作感悟

摘要:本人不才,姑且以自身资历来分析,如何拥有属于自己的公司。 小弟今年二十有七,虽无八斗之才,尚有浅薄学识。工作四年,仍大事未成。故在将近而立之际,来规划未来数年的路,该如何去铺满。 自工作至今,一直从事游戏研发行业,担当游戏开发工程师一职。说白了,就是写代码的。活到老,学到老,这句话确切应用到程序员身上。学的东西越多,越觉得自己掌握的技术越少。写程序是个入门易,深入难的行业。要求每天都有求知进取之心,除了深入了解自己掌握的技术之外,还要对行业内新兴的知识领域保持渴望之心。 掌握的技术越深越广,才能在编程思想层面上有所突破。 现阶段的目标是游戏客户端主程序。以目前的技术和能力,可能还需半年到一年. 阅读全文
posted @ 2013-02-24 12:12 skydesign 阅读(7311) 评论(39) 推荐(6)
摘要:最近负责一款2D客户端场景编辑器的开发工作,获益良多。现在就操作层面跟大家分享一下开发中的几个着重点。1 事件响应模块:编辑器的操作极其复杂,如果没有一个清晰的事件分发流程,操作逻辑处理起来苦不堪言。主要的思路是设定编辑模式,然后在每个编辑模式下再有多个子模式。例如建筑编辑模式,放置建筑子模式等。每个子模式下都有独立的鼠标和键盘响应处理,如左右键 按下弹起的响应等。 这样在进行逻辑处理时,先判断当前编辑器所处的模式和子模式,即可进入对应的响应操作。2 场景对象层次: 编辑器的操作几乎都是基于对象的,设定一个层次清晰的对象结构,在进行对象操作时则顺风顺水。如:基本对象,建筑对象,建筑组对象等。. 阅读全文
posted @ 2012-03-31 23:12 skydesign 阅读(1547) 评论(1) 推荐(2)
摘要:昨天有同事在讨论群发了一个脚本异常,我一看便知道和我协作的另外一同事的函数写少了一个参数,可能我花几秒钟就可以帮忙改完提交了,但为了尊重 ta 的工作,便在讨论群上回复怎样修改。但久久不见同事在群里回复,便主动走过去告诉 ta , ta 听了连忙翻群里的聊天记录,说没留意到,于是告诉 ta 怎么一回事。 后来 ta 站在隔着几个人的位置直接问我那参数的意义,于是我便叫 ta 过来, 指着 ta 写的函数往上几行类似的函数说按照这样处理,问题才得以了结。很简单的一个问题,由于多了一段沟通的过程,可能几秒钟就解决的问题,往往需要持续几十分钟才最终解决。 可见,团队的协作能力,同事间的沟通方式,在多 阅读全文
posted @ 2011-09-10 00:38 skydesign 阅读(427) 评论(1) 推荐(0)
摘要:最近对外发布了一个游戏更新包,因为是大版本,有问题在所难免。于是,很快就要打一个紧急补丁包出去。这是之前我开发的一个工具,只对要修改的文件处理,高效快捷。只需更新一个文件,于是叫相关同事在内部RTX上发过来, 接着,更新包打好测试后便对外发布。 没想到,更新包出现问题了,一些理论上没问题的功能出现异常。 于是便紧急查打入更新包的那个文件,发现不是最新的,但修改文件那同事确认发过来的是最新的! 经过一番的讨论和思考,有可能是RTX缓存的问题。 我把RTX传过来的文件拷贝下来时,没留意到文件名后面多个‘(1)’,由此可以断定之前也曾在RTX上传过这个文件,愤怒的是RTX竟然把旧的文件显示在RTX. 阅读全文
posted @ 2011-08-24 09:05 skydesign 阅读(2520) 评论(0) 推荐(0)
摘要:其实你的真实能力并不重要,重要的是你在别人面前表现出来并被认可的能力。 你在别人眼里的能力才是对你最重要的。 要给自己多一份自信。 换一句话说,要自信,但不能自大。 阅读全文
posted @ 2011-04-14 11:42 skydesign 阅读(196) 评论(0) 推荐(0)
摘要:今天因工作需求要用到一个图形库,偏偏这个库却几乎没有中文资料,郁闷之至,大叹自己的英文之穷困潦倒。一直觉得英文对我们来说不是那么重要,最近越来越感觉到,是应该要恶补恶补了。偶尔写个变量的命名都要查在线翻译,说出来真的贻笑大方。回头望去,好像自己的英语在高考后就开始退化,直到大三急了下狠心花了一个月恶补过了四级,之后就继续退化了。现在对英语只是有点依稀的感觉了。 嗯,有空看看英语吧。 阅读全文
posted @ 2011-03-08 21:57 skydesign 阅读(268) 评论(1) 推荐(0)
摘要:我想说的是在工作上的放心。 最近游戏版本有大版本更新,连续几天有相关的更新测试操作,我是负责这一块的,神经一直蹦得紧紧的,晚上睡觉也不敢关手机了,怕有事情要自己去解决。 后来逐渐明朗了。一想到有人可能会咨询自己的相关工作,则提前向相关的同事说明白,而不是等那同事遇到疑惑的再来问,这就往往处于被动境地。 把事情说明白了,则心里就像放了块定心石,安安稳稳的。 这应该属于工作的主动性范畴,有事情自己主动去解决,而不是等问题来了再解决。 阅读全文
posted @ 2011-01-27 22:23 skydesign 阅读(203) 评论(0) 推荐(0)
摘要:今天调试一个游戏逻辑系统时发现前两天做的一些功能失效了,诧异不已。后来查了N久,才发现,被同事改了一段代码。而这段代码是在他的模块响应我这边的模块接口。也许是出于好心,也许是为了规划其模块的代码,终究是改了。 我觉得,在处理非自己写的代码上,无论代码好坏,首先要做的是和原代码编写者交流,这样才能弄清代码的来龙去脉,而不是单看表面就轻易下结论。 阅读全文
posted @ 2011-01-19 22:16 skydesign 阅读(211) 评论(0) 推荐(0)
摘要:前一阵子专负责游戏工具那块时,感觉有点闲,于是便主动要了一些游戏客户端逻辑系统来做做,现在却忙得走不开了。 怎样去评价游戏客户端逻辑这一块呢?说难吧,一看下去好像没啥技术难点,说易吧,三天两头也完成不了,而且这还不是机械性的工作。 游戏客户端逻辑是游戏服务器和UI控件的交互层,主要是组织服务器传输过来的数据,显示在特定的UI控件上。现在客户端逻辑几乎都是在用脚本来处理,为其便利性和易改性。 所谓逻辑,有点像脑海里的思维。做游戏逻辑思维想不活跃都不行。数据就像一条河,无定向地兜向这边,兜向那边。相对于算法来说,游戏逻辑里处处都是算法,却又不像算法,因为只是很简单的一段逻辑而已,难登大雅之堂。 有 阅读全文
posted @ 2011-01-18 21:44 skydesign 阅读(268) 评论(0) 推荐(0)
摘要:今天部门群里发了一则各同事的一周代码量统计,引起一些同事的异议。其实对于这类事情,往往会一笑而过。大家能力怎样,平时有目共睹,各自的技术水平大家心里都有数。诸如代码量之类的只有增添笑料罢了。怎样去衡量一个程序员的能力,那只能见仁见智了。我觉得,由每个同事分别评价是一个不错的方式。 阅读全文
posted @ 2011-01-17 19:50 skydesign 阅读(174) 评论(0) 推荐(0)
摘要:游戏下个大版本的其中一个内容是对一个系统进行操作简化:几个界面的操作整合在一个界面,操作步骤简化等。我是负责该系统的逻辑流程代码编写。原以为只是UI那边的大改,但回看逻辑模块的旧代码时,发现和UI交互部分过度耦合,独立性过低,很多地方UI那边改了逻辑这边也跟着改。UI的界面整合,导致逻辑也要大改,叫苦不迭。 由此,一个深刻的教训:不要过度依赖自己控制之外的东西。例如:在引用外部的模块或接口时,如果用到的地方超过两处,则在自己模块编写一个接口,给自己模块调用,而在这个新接口里调用外部的东西。这样,无论外面的东西怎样改也好,在自己模块要改动的地方只有一处而已。 虽然只是非常简单的道理,但,在实际应 阅读全文
posted @ 2011-01-06 20:31 skydesign 阅读(181) 评论(0) 推荐(0)
摘要:最近开始搞那新版本的游戏启动界面,其中工作量最大的是用树形控件管理服务器列表。之前没接触过,嗯,动力来了。 很快,就掌握了需要用到的制作功能及其操作技巧。总喜欢去接触之前尚未涉及的东西,也许这就是研究的魅力罢了。对于自己所不熟悉的领域,工作的动力往往倍增。学海无涯。茫茫的书海,我们往往只能猎其一粟。但,我们要把有限的时间,投入到无穷的学习之中去。 阅读全文
posted @ 2010-11-16 09:15 skydesign 阅读(184) 评论(0) 推荐(0)
摘要:先给定义:新手,刚毕业或临近毕业无工作经验的大学生。熟手,有多年相关工作经验的程序。有些公司很喜欢招聘一些新手进公司,即使在与招熟手的代价相差不大的情况下。很大的一个原因在于新手的可塑性及其服从性。在IT行业,加班是很普遍的,而对于新手来说,尚在学习过程,在加班的过程中可以提高自己的技术以及相关工作能力,对加班的制度不会有太大的抵触。这就给其他的同事起到带头模范作用。作为一个熟手,当你看到其他同事也在加班的情况下,即使心又不愿,也只能听而从之了。对于这种现象,似乎是双赢的局面,让公司的加班决定得以顺利开展,而新手在加班过程中也得以快速成长。 另一方面,对于熟手来说,尤其是有家庭的人,其加班则显 阅读全文
posted @ 2010-11-09 22:48 skydesign 阅读(358) 评论(0) 推荐(0)
摘要:今天技术总监在开例会时提到一个测试成本的问题:产品问题被发现的阶段越往后,由此带来的测试成本则是成百成千倍地增加。先说一下我们现在的游戏测试流程:个人制作--个人简单测试--和同事联调--策划检测--QC测试--测评试玩(内部测试)--开放外网。在个人测试时发现问题只影响制作者自己,而越往后,影响的人群则是往指数级递增了,由此带来的测试时间耗费则是灾难性的了。随后技术总监提出了一个要求:在个人测试阶段加入单元测试。即是确保自己的模块在联调时不会出现一些低级的错误,不能影响到联调同事的测试时间。例如:一些需要同事的模块才能触发的流程,可以先编写一些脚本来调用测试,减少联调时相互等待的时间。现在想 阅读全文
posted @ 2010-11-01 12:52 skydesign 阅读(315) 评论(0) 推荐(0)
摘要:今天听到一同事刚接手一个旧的系统后,就说之前的代码太烂、要重构之类的,不觉哑然失笑。单单粗略的看了看就下结论,这是很不明智的做法。有可能这个系统某些功能确实要这样特殊处理,而不能按正规的设计来编码,也有可能是只有这样设计才是最合适的。 常常听到同事说要对别人的旧代码重构,也许程序员都有排外的思想,看到不是按自己思路走的代码一律看不顺眼,也许等改完后才觉得之前的旧代码才是最合适的,那时才是有苦难言。更有甚者,把旧代码改几句就说重构了代码,这就纯属是骗人眼球的了,他会觉得”重构“这词儿怎样说也是一种高级的东西了,说出去会让人肃然起敬的。对于这种情况,只能苦笑。 对旧代码怎样 阅读全文
posted @ 2010-10-28 13:11 skydesign 阅读(145) 评论(0) 推荐(0)
摘要:现在游戏里流行的脚本有python 和lua ,例如魔兽世界就是用lua脚本来驱动逻辑的。我们为什么用脚本,而不是纯用C++呢?当然,这与团队协作以及工作效率有关。C++编译速度不佳,当一个项目达到比较庞大的一个规模时,编译的时间往往会让人愤怒了。 于是,python出现了。一些重要的算法实现,图形效果可以在引擎里实现,而一些纯逻辑的算法,则可以在脚本实现。于是便有了客户端引擎和客户端逻辑之分,还有的是客户端UI等等。 另外一个重要的原因是一款游戏的制作时间往往是以年为单位的,而程序员也达到了十多个甚至数十个。大家对同一个SVN的代码工作,在一天里对一个文件也许就会修改几次提交几次,而pyth 阅读全文
posted @ 2010-10-18 08:21 skydesign 阅读(302) 评论(0) 推荐(0)