实习笔记

一、实习目的   

学习交流增加开发经验,实习需要了解cocos2d-x引擎,熟悉C++,lua语言。

二、实习内容

在一家游戏公司,参与手游项目的开发,制作一款以娱乐为题材类的手游项目。负责项目的前端开发。

三、 实习总结或体会

     项目总结,之前是使用C++开发做手游,因为某种原因来杭州工作了,找个一家公司工作,跟之前也一样做手游前端的开发,只不过是换了一种语言开发。现在的项目使用lua开发手游。跟之前一样也使用cocos2d-x这个游戏引擎。因为之前做过,所以上手也很快。当然,良好的编码习惯以及对语法的熟悉和熟练运用是必不可少的。刚开始入职,自然也就先开始学下lua这一门语言。我是一个比语言语言基础比较重视的人,虽然我现在项目比较忙,基础也不怎么样。但是空了还是会让自己充充电,补充补充基础。扎实的基础在项目中是必须的。高质量的代码在项目开发中是很重要的。不管是调试还是以后的维护开发,以及队友阅读你的代码都会方便很多。现在能够体会到为什么很多IT公司为什么刚开始让那些新人把基础打扎实的重要性了。

    在进入这个游戏公司,差不多经过了1个月左右对公司有了适应。因为刚开始对客户端的代码是不是很熟悉,刚开始编写模块的时候比较慢。随着时间的增加,对项目的了解。在项目中的效率有了很大的提高。当然自己的编写逻辑代码的能力感觉自己也有了明显的提高了。尤其是在自己编写代码的时候对逻辑问题的处理。自己会尽力把简单的逻辑问题写的清楚。而不是以前自己写逻辑的时候,不能把逻辑整理的很清楚,而造成逻辑比较的混乱。现在自己写逻辑的时候会写的比较清晰,即使是有点复杂的逻辑自己还是会在认真思考过后再下手来处理问题。并且能够使自己在下次对之前编写的模块功能修改或添加的时候能够快速的理解当初写代码的时候的用意。当时这些也离不开之前我对语言基础打下良好的基础。如果没有良好的语言基础。在这里还是挺感谢之前的朋友对我的指导,让我多看些关于语言基础以及设计等方面的书籍。一般会在游戏中的数据逻辑 界面逻辑 网络数据处理 数据验证 模版数据(配置表里面的数据)等几个方面的东西游戏中都会有一个单独的地方来处理。因为这些东西放在某一个特殊的地方来处理,使得我们在处理游戏以及调试和处理问题的时候能够方便点,对游戏项目之后的运营维护也会好很多,让我们对游戏的项目的思路会很清晰。不然都搞在一起就会乱。一乱的话,整个游戏项目也就不好管理了,代码阅读起来也就比较费时间,费精力了。

当然了在现在这个项目中也学到了不少的东西,尤其是在项目经验的方面,下面是一些项目方面的我觉得好的地方:

1. 封装性方面,之前我参与的项目,在代码的封装性方面完全没有现在这个项目好。现在的项目很多地方对代码需要多次使用地方做了一次封装。多用的东西封装过之后的确在项目开发中能够节约不少的时间。在项目的开发减少了不少时间。效率也有了很多的提高。比如我们使用cocos2d-x编写控件的时候需要写好几行才能完成写完一个空间,因为一个空间需要设置描点位置等参数。在现在这个项目中会在cocos2d-x的基础上面做一些封装。例如创建一个控件使用masklayer =CCLayerColor:create(cc.c4b(40,40,40,200),winsize.width,winsize.height);   把一些参数写在一个函数里面,把需要的参数进去就可以了。当然了还有别的很多地方都有体现。这个可以具体看项目的代码。

2.  开发上面的优化,图片的处理,利用UI编辑器方面的处理。之前团队开发使用团队使用手写控件代码,在一个模块上面在摆放UI方面就会花不少时间,现在使用UI编辑器,在开发上面会减少不少时间,能够节约程序不少的时间。在项目在优化上做了不上的处理,在原有的cocos2d的基础上面读取PLIST上面做了一层的封装。当使用到图片的时候就预加载Plist文件。还有在图片上面的优化,在IOS和安卓平台上面使用PVR.CZZ格式图片,以及的图片的像素进行处理,从而减少游戏数据包的大小,同时也让游戏在运行的时候性能优化不少。

3.  对网络事件的处理,在网络数据包下发的时候做数据包到校验,如果数据包在返回的时候如果异常会返回一个错误码,让客户端很快的发现错误,而不是自己再根据数据错误再去查找错误了,当然了服务器也稍微增加了一点点的工作量。把模块中把界面处理和数据处理分开,尽量让数据方面有清晰的数据逻辑,在项目在处理数据以及分析处理逻辑的时候有个明显的分开,比如有关在道具数据我们有个道具模板数据,专门用来处理道具数据逻辑的处理,这样能让那些关于道具的数据统一再这个地方处理,如果在别的界面中需要的时候能够能直接获取,这样即方面有快捷,下次调试起来也会方便很多。我们在处理关于道具数据处理的时候也会从这个模块中来发送,这样让整个游戏中发送数据的地方有了一个统一的地方来发送。当然了,项目在好几个地方都是这样使用的,例如玩家的数据模板类,专门用来处理玩家的数据

4. 错误的预防,在项目中会在数据方面用的会特别的多,有时候如果数据没有得到,那么我们就会给这个数据一个值,防止数据得不到,而系统提示错误,造成宕机的事情

在这次实习期间,自己在写代码以及解决问题的能力有了明显的提高。自己在书写模块代码的时候,代码的质量有了明显的提高。策划在提出需求的时候自己能

尽量满足策划的需求。但自己的还是有很多的不足的地方,有时候自己写的模块总是有那么一些小问题,当测试反馈给我问题的时候才能把问题话一点时间去解决了。让不是自己的写模块的时候一次性把需求给满足,尽量减少问题的发生,当然了这是自己需要特别提高的地方,自己在写模块的时候尽量减少写出一些逻辑炸弹,有时候这些逻辑炸弹自己能够很快能找到,这些也许花不了多少的时间就能够解决。但是当自己遇到一些比较难找到的逻辑炸弹的时候,这会浪费自己不少的时间,有时候可能一个简单的问题要花上半天或者更多的时间来找到。当自己花了不少时间找一个简单的问题的时候,自己就会发现自己当初犯了一个低级的错误。这个时候就会感觉这些时间被大大的浪费了。自从14年12.8号入职到公司以来,一直参与开发工作,每天写一些关于项目的代码。说白了自己每天就谢谢游戏的逻辑,让自己有了不少的锻炼,一直写感觉这样会很无聊,每天就敲敲代码,有时候自己想去做一些自己喜欢做的事情,必须去了解研究一些新的技术之类的。那么感觉会比较有趣点。当自己写完游戏中的一整个大的模块的时候还是有不少的成就感的。但自己在开发上面的效率还有不少能够提高的地方。总之这次实习获益匪浅,学到了不少的东西。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值