李华明,今年23岁,来自安徽省。移动开发专家,多年 J2me、Android、IOS 平台游戏与软件开发经验,现任一家手游公司主程一职,是《Android游戏编程之从零开始》与《IOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发》的作者。个人博客地址:http://www.himigame.com/
APKBUS配图
以下回答中,对李华明作者简称:“Himi”
APKBUS:你是什么时候开始接触编程?学习的第一种语言是什么?
Himi:
大概08年接触编程,自己接触的第一门电脑语言应该是Java。
APKBUS:是从什么时候开始写博客的?什么原因使你一直坚持着?写博客最大的收获是什么?
Himi:
其实很早之前就有了博客,但是从来没有想过去写,第一怕浪费时间!第二,学习来之不易,自己研究好的东西,为什么轻而易举的交给别人?!之后就这样没有往写博客这边想。
说到为什么写博客,这说起来则很巧合。有一次在某论坛做版主的时候认识了朋友,他有写博文的习惯 ; 而且很多同行看了他博文之后都慕名前来学习交流技术;他也跟我说,为什么不写博客, 然后我就逐渐又开始重新去考虑为什么我不去写博客?为什么别人就可以那么自然的公开自己的学习成果?反复想了之后发现是我之前的想法有问题,我之前的想法跟如今国内的部分程序员思想大体一致,但这些想法都是在阻止交流、共同进步的一种做法!后来想清楚了,就开始写博了,一写就不可收拾。
写博客带来的收获有如下几点:
1. 写博客可以锻炼自己的表达能力(自己写不清楚的东西,别人更是听不懂);
2. 督促自己学习,为自己学习历程留下痕迹与参考资料;
3. 将知识共享,让大家来学习和交流!这样别人也能学到知识,而且也会提出问题,这样也提升了自己能力,至少能当作复习不是么?
4. 当别人从你的博文中学到东西,就会留言评论感谢你,这也是无疑对自己的一种肯定和鼓励,让自己更有奋进努力的劲头!
也正是由于因为博客给我带来这么多的收获,我便坚持着。
APKBUS:在你的博客中我看到有句话:“不要让任何事情成为你不去学习的理由”,这句话是不是对你影响挺大?有激励你完成之前觉得不可能完成的事情么?
Himi:
在我小的时候,就特别喜欢游戏,从小时候的黑白机、小霸王、街机 到掌机、视频游戏、电脑游戏、手机游戏等,只要是电子游戏就喜欢。因此从小也就盼着等大学一定要学计算机专业(其实就是喜欢电脑游戏),琐事不提, 后来生活给我摆了两条路,第一、 端游,第二、 学习手游,当自己面临模棱两可的时候,我决定先对两方面进行尝试,最终发现手游开发周期比端游要快很多,并且端游需要更多的人力配合才能完成的项目, 而当时的自己却偏向于想自己做出一个完整的游戏,因此我选择了手游。(事后才发现主要的原因,是由于自己对端游和手游的认知太少而已)
记得当初自己做的第一个开发的项目应该是个拼图,受到一个哥哥的指点并用了一周完成基本功能,当时感觉自己什么都不会,感觉自己的代码都是背出的,另外对自己也总有怀疑的态度,说实话当时都感觉自己不适合此行业。但是心里却还是觉得既然选了这条路那就坚持吧,也难得当时没有特别消极。后来慢慢的自己独立做的项目越来越多,解决的问题越来越多,后觉后知就发现以前都是的种种怀疑都只是为自己放弃找理由而已,再后来我就让“不要让任何理由成为你不去学习的理由”这句话当成了自己的后盾。
APKBUS:到现在你工作多长时间了?待得比较久的公司有哪些?工作对你写书有哪些帮助?
Himi:
从一开始上班到现在有四年多的时间了,基本上呆过的公司都比较久,哈哈。
说到工作对写书有哪些帮助的话,我想那就是工作的经验积累让自己完成书籍的创作。
APKBUS:之前有出版Android游戏的书,最近又新出版了一本ios游戏的书,如何看待Android游戏与IOS游戏的发展?有没有再做WP的打算?
Himi:
现在我开发的重心偏向于IOS,但是一般都是跨平台,多平台兼容掉。
1. Android 面对的人群市场都很广泛,偏向中、底端消费;IOS针对高端用户群体,软件市场面向全世界。
2. Android 市场乱、杂、易被扩展、修改;IOS 干净、统一。
3. Android 开发人员饱和,薪水偏低;IOS开发人员相对较少、薪水高。
至于WP平台,如果它占有一定的市场规模的话,我无疑也会去做。
APKBUS:最近发行的新书《IOS游戏编程之从零开始》中大篇幅的介绍游戏引擎,学习游戏引擎最难掌握的是什么?怎样才能学好?
Himi:
在开发的过程中,最多的时间是跟BUG打交道。 因此大家主要会利用 “baidu”“google”两大知识库!没有一个老师和Helper永远围着你,及时为你解答,但是它俩可以!
有时候初学者总是想走捷径,快速入门~ 不查就问! 话说,万一找不到人问怎么办? 这些不思考就问的问题,你能记住几个?!因此遇到问题,会找、会查很重要。
想学好,没有其他快捷的途径,多做项目才是快速成长的王道。
APKBUS:你编著的《Android游戏编程之从零开始》和《iOS游戏编程之从零开始—Cocos2d-x与ocos2d引擎游戏开发》两书销售和读者好评度都不错,当初是怎么接到写书邀约的,能不能谈下当初为什么会创作以及你最大的收获是什么?
Himi:
对于写作对于我来说从来没想过!巧合的在于当上班后,自己喜欢上了写博客的习惯,得到了不少朋友的支持与关注 , 也渐渐收到各大出版社的邀约,促使我有了写作的念头,一方面自己独立项目写的比较多,另外则正好借着写博客对自己写作的提高来完成自己的第一本著作《Android游戏编程之从零开始》,而《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发》则是与清华出版社的后续合作
当自己的第一本书籍成功上市后,我想最大的收获其实就两个验证得到了证实,一个是验证了“不要让任何理由成为你不去学习的理由”这句话!另外一个就是验证了自己。
APKBUS:开发上你主要使用Cocos2d-ipone、Cocos2d-x和Unity3D引擎,但在实际上开发中具体选择某引擎你主要是基于哪些考虑?这些引擎它们适用于哪些游戏开发?
Himi:
现在对于Android 和iOS 的两个平台的游戏开发, 都已经倾向于跨平台,所以开发之前都要考虑整个跨平台引擎的选择,当前主流的cocos2d-x 、untiy3d 、udk等等,每次的选择一般简单需要考虑如下几点:
1. 如果游戏是个2D游戏可以选择cocos2dx , 3D则选择unity3d 是更好的选择。
2. 根本公司的实力确定引擎的使用。例如做个2D游戏,如果前端都熟悉使用unity3d开发,虽然cocos2dx引擎能缩短开发周期, 但一旦让他们放弃unity3d 而转使 cocos2dx,其中将会增加其学习成本。
3. 分析要制作的游戏的技术难点,选择的引擎是否能实现,找解决方法,尝试解决,
APKBUS:有人表示,游戏开发引擎并不难学,难的是如何成功应用,尤其是现在有很多种游戏引擎,在这方面你有心得分享么?
Himi:
引擎的学习,主要要看你本身十分熟悉它的API,因为引擎已经为你屏蔽封装掉了底层,那么你最需要掌握的就是它的API如何使用,还是应该多多做项目,加以巩固。
我从一开始的Kjava游戏做起,然后转到Android,再到如今的iOS平台,其中每个平台的游戏都做了不少, 不管什么类型的游戏,我认为开发时只有一个规则,那就是清晰自己的思路,明确每段代码的目的和作用。
APKBUS:在众多游戏开发中,你是如何考虑盈利模式的?
Himi:
一般盈利模式分为如下几种:
1. 付费下载收费
2. 免费下载,游戏内购收费
3. 免费下载,广告收费
当前主流的盈利模式则是第二种,免费下载、游戏内购收费,主要这种收费模式更适合国内玩家的消费习惯。
APKBUS:在游戏开发中,你觉得最难的是什么?
Himi:
最难的应该就是坚持,任何行业都不存在解决不掉的困难,尤其是开发者们!只要自己遇到问题,敢于解决,不放弃、不自暴自弃,那么就没有什么困难而言,困难总是为自己找理解开脱时出现的。
另外一点就是游戏开发不难,难得是怕你总眼高手低!(这是当今一部分程序员的软肋)
APKBUS:从刚来北京的“落魄”到现在工资翻N倍,你最大的感慨是什么?
Himi:
对此问题,我想我有太多的发言权。
1. 虽然我的家境不是很好,但是重活、累活、家务基本不做,自己则是不会洗衣服,更不会做饭。(后来洗衣服会了,做饭到今还是不会,咳咳。)
2. 我第一家公司离我住的地方有2个多小时的路程,每天都是4小时路程,这意味着什么? 对于小县城长大的我来说,1小时不到我就从县到市了,4个小时我就从县到省了。
3. 第一份工作,我的工资1.5K ,住宿 800元,在北京我很少出去,因为我根本没有出去的资本!
我很感慨那时候的我那么努力、那么不怕辛苦的坚持。当然我更加感谢那时候的自己给如今打下了吃苦的毅力、努力学习的习惯……
(其实最累的就是刚接触学习的时候,每天吃饭、学习、熬夜、睡觉,如此循环了一个多月,当时感觉自己已经和世界脱离了关系)
这些困难,连我都能坚持下来,那么我相信大家一样能做到!
APKBUS:你对刚入门的游戏开发者有什么建议?
Himi:
1. 对于初学者应该具备的条件:努力做到最好,坚持做到最后!
2. 学习中坚持的只有一样东西最重要,那就是 “坚持”!
如果你能实打实的做如上两点,那就是成功的秘诀我想。
对于还在奋斗的童鞋们,我想说:请大家千万不要对自己没有信心,更不能受到挫折就放弃!坚持、坚持、坚持。 努力过后总有自己的一片天在那里等着你。希望大家都“不要让任何理由成为你不去学习的理由”。
APKBUS:最后能不能和我们简单描述下你忙碌而又充实的一天生活?
Himi:
08:00 点多起床
09:30 到公司, (买早点在公司吃,更多的是不吃)
10:00 进行GameLook、CSDN等论坛获取最新移动、科技信息、微博等等
10:30 工作中
12:00 午餐ing
13:00 工作中
18:30 晚饭ing
20:30 下班,回家的路上
22:00 到家了,正在进行自己的学习时间
03:00 差不多了,该睡觉了
04:00 躺在床上,还在继续翻着最新的游戏,各种下载中