请问一下精通mfc程序设计VB程序题的朋友有吗 高考需要 很急 求辅导!

一模260,二模410,高考572,你不相信的人生,都是他们曾经拼出的精彩!
距离高考已不到30天!二模大部分地区已经考完了,时间由100天到30天,一模到二模这个过程又过去了,自己收获了什么?成长了多少?这些是需要我们扪心自问的。现在的放弃意味着三年忍受的煎熬与折磨就白费,大多数同学苦恼的是自己的努力有没有意义,最后这四十天是不是能够对自己有帮助,颜老师告诉大家,真!的!很!有!用!
今天给大家分享一位同学的真实经验。这个同学从一模260分到二模410分最后高考572分!真实的逆袭其实就在身边,不要做那捂住双耳的盗铃者,不相信自己能逆袭,不要看不起这最后30天,因为这30天将决定你的未来!
记住,没到最后一秒,不要放弃!
? 作者自述:
说说我个人的学习情况:我们学校3月5号摸底考试,7号成绩出来,我只有260分。这对于在高三“混日子”的人再也正常不过了。并非我没有努力,只是坚持的时间太短。望着拿到手里的试卷,想着回家怎么给父母解释。每当想到父母忧心的眼神,我就感到揪心。看着夕阳,也像我的成绩单一样鲜红。
晚上,父母看到成绩单的时候并没有像往常一样忧虑。父亲告诉我:考不考上大学不重要了,他说亲戚已经帮我在珠海找到一份工厂的工作,我毕业就可以去了。
我当时就蒙了,虽然我的成绩不好,可是我还记得当初最要好的几位朋友相约同聚大学的誓言,忘不了高三那些为理想奋战的日日夜夜。我暗暗发誓,一定要考上大学——为了我,也为了担心我的父母。
1、认识自己的缺点
7号晚上我第一次静下心来分析自己的不足:为什么书看了就是没效果,为什么题目做过仍然会错,为什么有的知识点我知道但不能解题。我发现自己在学习上有3点问题:
⑴没有目标,不能坚持不懈
每次制定的学习计划照着做两三天就不能坚持下去,等过几天再看,这时候前面的东西也忘得差不多了。
⑵做题缺乏针对性,很少总结
我平常做题只管做多少,不去选择难度同时也很少对某一考点或题型做针对性的练习。这直接导致我对知识点的把握不到位,对自己知道的薄弱处不清楚。
⑶看得多,动得少
有句话叫做“好记性不如烂笔头”,我看书的时候很少进一步去理解知识点的内在联系,所以原来不会的现在还不会,原来错的也一直错下去。
认识到自己的缺点之后,我开始针对不足之处做相应的计划。我将以前考过的各科试卷都看了一遍,发现了每一科目有不同的漏洞。
语文:基础知识和阅读理解不太好
数学:选择题、填空题命中率低,大题后面的3个题不会做
英语:基本不懂
2、寻找解决方法
既然找出了问题,就想着找解决的办法。
我将语文的基础知识手册和阅读剪成3本,每十天换一本。看基础知识手册当看书,阅读素材着重理解其中心思想。这样我的基础知识和阅读作文水平都有提高。
数学:每天做3套题目,只做选择题和填空题,时间控制在2个半小时内。第二天都将昨天做错的题目看一遍,3天、一周后再分别看两遍。这样我的数学解小题的速度和准确率快速提高。
英语:每天做一套题,将不认识的单词记录下来当晨读材料,每天记半小时。
3、制定冲刺方案
接下来的一个月我都用这种方法复习,4月5号摸底考试,成绩出来,我的成绩由260飞跃到410。我从班上倒数第3上升到倒数第10位,有了明显的效果,这时我更兴奋了,开始制定第二个阶段的冲刺方案。
语文:基础知识手册每十天重点掌握,作文素材每天精读5篇。
数学:将前面的选择题、填空题加上后面的四道大题一起重做一遍。最后两题不做,第二天复习。
英语:每天一套题,每个题目的语法、句型和短语一定要搞清楚,做题的题记录一遍。
用这个第二阶段的方法坚持学习一个月后,5月5号考试,我的成绩再次突破到510分。这时候我在班上的成绩已经是前20名。在湖南省,这个分数想要上一般本科还是有困难,更不用说重本了。我深深地理解到坚持不懈和制定计划的重点性。
在最后一个月里面,我终于跟上了老师教学的脚步,一边不停地做着各式各样的练习,一边将近两个月每天的错题当成武侠小说看得津津有味。我已经入境了。与些同时,最后一次模拟考如约而来,可能是为了给大家保持高考的信心,这一次考得比较容易,我拿到了598分,一举进入班上前十名。
期待已久的高考来了,凭着3个月的奋斗,没有一天休息。我,终于拿到了人生最重要的一张通行证——高考572分。这个分数足够我进一所重点本科了。
完整看完文章的同学,相信你们都是急于改变和提升的好同学。
也许,你会有以下疑问:
小编,我质疑内容的真实性!他怎么可能做到?!自己做不到,但不代表没有人做到!有时候,因为我们真的还没有尽力而已。
王小芳(湖南大学)
语文 | 二模92分,高考129分
高考语文哪些题容易拉分?答案是选择题和作文题。选择题虽然不占多少分,但是选择题只有对与错,做对了就得分,做错了就是0分,没有折中的选择。只要你保证语文基础知识的选择题错误数少于两个,那么得到120分的可能性就要大很多。
基础知识的巩固离不开大量练习,我在最后一个多月的时候,专门找了很多的语文套题,只挑基础的选择题做,做了多少套我已经数不清,各类知识我全部梳理了一遍。
要提高作文水平,除了多读、多写,娴熟运用“三段式”写作法外,如果能掌握一些窍门那是最好不过。
从每年的作文题命题情况看,我们不难发现其主要基调都是积极向上的。你可以在闲暇的时候自己总结一下都有哪些积极向上的立意,然后每个立意写一个400~500字的段落,或是留意精彩的范文段落,将它们大致背下来。考试时看到题目后立刻确定立意,然后用开头将内容引到你所背诵的段落上来,然后把段落“默写”上去。这样你就能在作文上比别人省出很多时间。这样由经典段落构成的作文一般分数不低。
从现在就开始准备,别怕麻烦。学习是你付出了多少,就能立即回报你多少,但如果你不付出时间,就毫无进步的可能。
莫鸿威 (南京大学)
数学 | 一模94分,高考145分
很遗憾,数学真的没有能快速提分的方法,否则我当年也不会在如山的数学题里挣扎了。大量做题(尤其是历年高考真题),并及时总结错误,是我能想到和做到的唯一方法。
我的时间也不够用,只能以别人眼中的疯狂弥补之。另外,想要提高分数一定要拿下基础题,把握中档题,力争难题。
历年高考的选择题里都有三角函数的运算题,其难度只能算中下等,但我总会不时在这类型题上栽跟头。原因恰恰就是因为我认为它太简单,于是盲目求快,或没审清题,或计算失误。其实,简单题目也有一定的技巧性和隐蔽性,一定要予以重视并勤加练习。
吕荣祯 (武汉大学)
英语 | 三模88分,高考123分
英语曾经是伤我最深的一科。我居然考过年级史上最低的27分!之所以我高考能考出123分,无非是开了窍,抓住了英语的命门。
其一,单词。不要妄想能一次性把单词都记住,你办不到,英语达人也办不到。记单词应该遵循三个原则:短时、突击、多次。比如早上课前抽5~10分钟,课间抽10分钟,中午抽10分钟,晚上再抽10分钟,用零散的时间去记单词比你用一节课的时间集中记忆好得多。
其二,背文章。每天花半小时背背诵一篇课文,一天一篇,一星期六篇。背文章的意义不在于文章本身,而在于你在背诵的过程中,语感得到加强。语感,不仅会在我们做单选题的时候,更能在我们做完形填空时发挥意想不到的作用。好比你小说、散文读得多了,即使句子中缺了几个关联词,你也能自然而然地脱口而出。而且你背诵的内容可以直接转化为作文的素材。等你背够了50篇作文,你会发现原来英语也是“背多分”。
余云鹏 (对外经济贸易大学)
政治 | 二模75分,高考95分
政治的拿分点和答题方法比较明显,如:
经济常识部分:弄清几个重点的主体,如国家、政府、公民、银行等,按照主体的性质与地位,它们各有什么行为,起到哪些作用等;
哲学常识部分:要分清唯物论、辩证法;
政治常识部分:和经济常识一样,按照主体、行为、结果的思路答题。
最后,不妨总结答题方法和一些“金句”,多翻翻真题的标准答案,你很容易发现其中的规律和答题技巧。平时考试的答案也要分析,可以自备一个小本子,碰到什么“金句”就记下来,加以总结提炼。要知道,一个标准规范的答题方式,是很能减轻改卷老师的阅卷负担的——为阅卷老师“着想”,他们当然也会为你“着想”。
梁译心 (广西师范大学)
历史 | 一模60分 ,高考91分
历史是一门颇费力气的学科,纵横上下数千年,涉及事件、人物繁多,记得住人名,又不记得他干过什么。提高的方法只有多看、多背,将历史事件串成线。中国近现代史从何时开始,中间经历了什么,以什么结束;中国古代史以哪个朝代开始,到哪个朝代结束;世界近现代史的每个阶段都发生了什么。特别是中国古代史,本来就难,而且占分又高,应为复习的重点。然后以年代为线索,联系中外,看看在同一天,中国和外国各发生了哪些历史事件,以此加深记忆。另外,课本中的小字、注解也是重点,不要求你都要背下来,但起码要有印象。因为高考有时很“狡猾”,问题会从课文正文中出,答案却是取材自小字和注释部分。
李辅庄(对外经济贸易大学)
地理 | 二模73分,高考94分
如果说生物是理科中的文科,那么地理就是文科中的理科,它需要你用理科思维去学习。地理有很多图表结合分析题和运算题,表述题也需要很强的逻辑思维。课本里并没有明确列出一些常用公式和规律,这需要靠课后好好研究参考书和注意老师总结的规律。我认为,画图是一个能强化地理知识的方法,我曾把课本(包括小学、初中、高中阶段所有地理书和地图册)里的图都默画一遍,班上最强的地理高手甚至能画出世界地图,能标出港口、洋流、高低压地区、大洲大洋分界线、地震版块、世界大河,甚至还能划分温度带、植物带、动物带等。这样的人不拿高分,谁拿?
考前两个月注意事项
? 规划学习有所侧重
一个多月,在如此紧迫的时间里,如何做到明确规划、合理利用就显得尤其重要。
高考那么多科目,每天的复习就要有所侧重,不可能科科都兼顾。对此学生们认为:每天晚上回家后,只要重点复习两个科目就行了。
具体来说,当天老师重点复习课本的科目,回家后可做适当的练习题;当天老师重点讲练习的科目,回去后要回归课本,对知识做个梳理。
另外,课堂上老师复习细致的内容,可利用课间休息时间及时消化;课堂上老师复习不够完整的,回家后要强化。一周结束时,不忘在周末回顾这周的复习。
? 见缝插针利用时间
要懂得见缝插针利用空余时间。比如早上上学时从家里到学校的十几分钟里,可以在脑子里快速过一遍昨晚的复习内容;每天中午、下午放学时段往往是交通高峰期,有心的同学完全可以利用这十几分钟的时间,留下来再做一篇英语阅读、背一首古诗词,把比较零散的时间利用起来。
? 归纳总结查缺补漏
无论哪个阶段的复习,懂得归纳总结,找出自己的薄弱项都很重要,一个小漏洞就是一个潜在的失分点,必须“分毫必较”。
所谓的归纳总结,有两个方面,对课本知识的归纳总结和对练习、试题的归纳总结。可以试着归纳课本知识体系,从全局着手由大的知识板块到各个小的知识点,分析各部分联系,形成一张网络,通过联想延伸来记忆。这样一来,哪部分比较薄弱就可刻意加强。
同时,对于典型题目,要归纳出各种常规方法,但不要满足于只用常规方法。试着用发散思维,思考有否其他方法,比较哪种方法最为简便。这样做既锻炼了思维也巩固了知识。
考前九问来定心
问:高考前这37天,一天的时间具体该如何安排?
答:这段时间,可以按照高考模式来调整自己的生物钟,让自己及早适应。比如高考一般是上午考语文,下午考数学。那么,在考前可以安排早上7:00~7:30起床、吃饭,8:00后开始复习语文,中午11:30后休息,下午2:30开始复习数学,依此。
一天复习两科足够,不要排太满,这样复习才能比较细致。晚上不要熬夜,在11点左右就可以休息,最迟不要超过12点,考前熬夜不利于状态的保持。
问:怎么样才能提高文综成绩?
答:高考中,文综相当能拉分,尤其对于比较拔尖的同学,此时提高成绩文综是突破口,即历史、政治、地理三科的综合复习很关键。
历史:想拿高分就一个窍门:背课本(仅从高考应试的角度来说)。另外对重要的知识点要准确记忆,比如欧洲启蒙运动中各个启蒙思想家的主张,应该老老实实尊重课本去记去背。
在看历史书时要细心,时间地点人物要记准确,书上的小字部分也不应该放过。
政治:政治想拿高分,还是要讲究一些策略。比如选择题,做题不要钻牛角尖,一般的技巧是先排除两个,剩下两个后,再看看哪个更扣题,哪个更显而易见,要相信自己的判断。
哲学部分,复习时,可以拿出完整一天的时间,把两本书认真看一遍,边看边把书上提及的原理和方法论摘抄下来。其实,两本厚厚的书也就是6面A4的纸,复习哲学时只要看这些笔记,会发现条理很清晰,记得牢,答题时很好调动思路。
政治出题比较依赖热点,所以后期复习至少要选一份比较完整的热点资料来看。好好研究一下它是怎样从不同的角度分析这些热点的,同时还要注意一些时政术语的表达。
地理:要想拿高分要有扎实的基本功。这个基本功包括两个方面:一个是定位,一个是牢记地理规律和区域特点。
准确定位就要求非常熟悉地图,可通过画图来加深记忆。还有就是区域特点,以世界地理为例,13个分区,每个区把它分成自然和人文两个部分。自然部分再分面积、气候、植被、水文、矿产等,人文部分还可分成人口、语言、区域文化、旅游、工业、农业等等。这样经过整理的知识点会比较清晰,方便记忆复习。
问:如何提高理综成绩?
答:理综同样是成绩优秀的同学拉分的关键。总的来说,理综的知识点比较多而且比较琐碎,不过理综题目虽然千变万化但万变不离其宗,因此回归课本、掌握好基本的知识点是最为简便也是最为有效的。
物理:大学生们认为,其实做物理题时没必要总是挑难的、偏的,要认真分析一些常规的题型,懂得基本分析方法,这样问题也就轻而易举了。
化学:不要死记,要把性质和方程式连接起来。物理、化学很强调实验和逻辑,复习时对于实验的设计、操作及思路要弄懂并类比。现在考试的侧重点越来越倾向分析创造力,而实验最能体现这点,做时要多想原因,不能疏忽。
生物:也是零散的知识较多,在复习中要经常仔细地读课本,直到弄透弄懂,不要怕浪费时间,精通课本比一知半解做题好得多。在此基础上多涉猎一些练习,做题时要注意积累题目,特别是那些不是很明白的和做错的题目。
问:怎样提高作文成绩?
答:提高作文成绩,一要下工夫。二要掌握一些必要的方法。平时可以多背诵诗歌,多看看历年的高考优秀作文,参考其中的语言、体例。另外,积累、阅读在考前的最后几个月很重要,多读些综合性质的杂志如《读者》《散文》等可以增加自己的文化底蕴。
方法上,平时可以写好一些优美的开头、结尾,在每次模拟考试中练习,临场套入话题;也可以强化练习某一种或几种模式,考试时若无从下手可以采用固定模式套入。
注意,高考作文改卷主观性较强,同一篇作文,常因改卷老师的不同而打分悬殊。像诗歌、戏剧这类体裁,平时没怎么练习的,在高考作文时还是不要轻易尝试的好,避免因风险太大而失分。
问:回答文综大题时该注意哪些方面?
答:回答文综大题时,可以贯彻“多写、多分点、多写术语”的三多政策。多写,即在审题之后结合题意把知道的东西都搬上去。高考改卷时,多写不扣分,少写却绝对得不到高分。
多分点,这样显得答题有条理。尤其要把分点的序号、小标题写明显。高考改卷时,老师往往没有时间完整看完,都是提纲挈领看分点、看标题,分点明显可避免老师把两点看成一点造成失分。
多写术语,高考答案要简练而且术语化,要达到这个要求,平时做题时就要把自己的答案与标准化答案对比一下,比较差距。
问:理综卷有必要天天做吗?该在什么时间做比较合适?
答:对于理综,平时可以先做单科的试卷,而综合的理综卷,可以放到周末做,一星期做一张理综卷,这样既有针对性的强化又有综合性的练习,不偏不废。
问:文言文翻译平时该怎么复习?
答:要熟知课本中每个文言字词的意思,同时,把课本上学到的一字多义的词列出来,每个意思举出一两个例子。这个阶段也别丢下课本,每天抽几分钟朗读文言文,对培养语感很有好处。
问:英语的完型填空、阅读题如何提高得分?
答:英语也是很看重语感的科目,每天早读时花上15~30分钟朗读,有助于培养语感,此外,还要讲求方法。做题时可以先快速通读一篇,然后再带着题目去阅读。做题时结合上下文,尤其注意那些在文中反复出现的词汇,这些词往往是掌握文义、帮助推断的关键。另外适当的练习不可少,一天最好能有4篇阅读理解,坚持下来益处不少。
问:英语作文总是不上不下,有没有突破瓶颈的方法?
答:写完作文后,要注意与老师交流,找出自己写作的不足之处。课外要注意归纳不同文体的写作模式,适当积累些高级句型、词汇作为英文写作的“亮点”。另外每次试卷的标准例文或者例文中的某些出彩。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点后使用快捷导航没有帐号?
 论坛入口:
  |   |    |   | 
游戏编程十年总结:任职主程那些年我踩过的坑
评论数: 10
-0.jpg (61.82 KB, 下载次数: 45)
15:31 上传
  GameRes游资网授权发布 文 / 深圳-宝爷
  自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔。一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是就变成了十年总结。光阴似箭,时不我待,转眼已经在奔三的路上了,离大叔的称呼很近了,但离大神的称呼还很远,在此谨以此文总结反思这十年技术生涯的点滴,与诸君共勉。
  编程之前
  大概是读初一的时候,家中有幸让我得到了一台二手电脑,那时的心情比现在让我得到一堆苹果电脑更加兴奋。但这是一台不能连网,也没有任何游戏和软件的电脑(扫雷、纸牌接龙等内置程序除外),这样的电脑能有什么用呢?只能瞎折腾,很快电脑被折腾坏了。去电脑店修了几次之后(被宰了几次),决定自学电脑维修。
  跑了很多书店才买到跟电脑维修相关的书籍,也就是在这时建立了对计算机的初步认识,并掌握了屡试不爽拔插内存条、重装系统大法。还从帮我修电脑的大叔身上学到了修电脑的装逼套路,在帮别人修电脑时不论如何,一定要进一下BIOS捣腾一下,一定要在DOS的黑窗口下快速地敲几条命令,让旁人看不懂,以彰显我的技术高超。在2002年左右,像老家那种小地方,估计会重装系统的人都不多。
  之后从修电脑的大叔那买了不少游戏碟,如CS、红警、帝国、炎龙骑士团等等,安装游戏是一个隐藏天赋,只要把游戏碟插入光驱中,这个隐藏天赋就会被自动激活,自己摸索着把游戏装上去。从此电脑上的内容开始丰富了起来,获得了近视成就。玩游戏的同时也对游戏和游戏的背后产生了浓厚的兴趣,那时候经常会思考游戏是怎么做出来的?实际上更多的同学比我接触电脑和游戏更早,但他们对游戏的背后并没有什么兴趣,所以他们现在很多都成了小老板,而我成为了苦逼的程序员。
  初学编程
  2005年的某日,应该是在信息技术或数学课上,第一次接触到了编程语言Basic,一开始用的并不是VB6.0,而是一个蓝底黄字的命令行IDE,虽然只能倒腾出HelloWorld和一些简单的数学程序,但对此仍然有着浓厚的兴趣,因为我知道了游戏是通过编程来实现出来的,那时候满脑子都是,游戏是怎么做的?但没人告诉我,我只能自己探索。
  这时候对程序的了解,也只是最简单的一些语法而已,直到一个亲戚送了一套VCD,是开天辟地的视频教程,里面介绍了VB6.0,在我看来,那是非常适合新手,培养程序思维的一套教程,在大叔那买了3块钱一张的VB碟子,装上VB6.0之后,就跟着视频中的示例操作起来了。于是我写出了人生中的第一个游戏,一个猜数字的小游戏,并尝试着改变游戏的规则,制作类似石头剪刀布这样的游戏。
自敲第一行代码起1238.png (83.02 KB, 下载次数: 49)
15:17 上传
  视频教程中的东西很少,很快就学完了,但这远远不够,我只能写出一些简单的数字游戏,寻找新的资料成了当务之急,但骑着单车翻遍了老家周围方圆十几公里的新旧书店,都没能找到合适的资料,如果是在广州深圳这样的城市或者是像现在这样的网络环境,应该可以很快地找到合适的资料,最后通过学校的上机课,上网找到了一本《Visual Basic游戏编程21天自学通》的书,学校的网速经常只有几KB,寻找以及下载这本书都相当不易,实际上这本书也不是最适合我的,中间存在严重的知识断层,但是最终我硬着头皮挺过去了。
  书中的第二个例子是一个模拟细胞生存的游戏,里面用到了一些简单的数据结构和算法,但在这时候我还不知道什么是数据结构,对书中的代码尽是问号,大约经过了一周的死磕,在炎炎夏日,昏暗闷热的小房间里,汗水不断流进眼中,不为所动,因为完全沉浸在代码中了,全神贯注地做一件事情,这是一种奇妙的感觉,这段回忆很是深刻。
  最后终于将细胞生存的游戏跑起来了,这是我到目前为止写过最酷的东西了,并且在这个例子中领悟了简单的数据结构与算法,贪吃蛇怎么写?飞机游戏怎么写?俄罗斯方块怎么写?五子棋怎么写?似乎都能从脑海中模拟出来了,应该用怎样的结构,怎样的逻辑?我想这就是初步的程序思维了。接下来的时间里,我将脑海中想到的游戏都一个一个地实现了,虽然实现的效果看上去惨不忍睹(使用Windows自带的画图工具绘制)。但依然是很有成就感的。细胞生存小游戏用的大概是一个简单的图结构,在做贪吃蛇的时候,依葫芦画瓢,写出了一个链表结构,然而直到后面学习c语言的时候,我才知道这是数据结构、是链表......
自敲第一行代码起2066.png (60.66 KB, 下载次数: 51)
15:17 上传
自敲第一行代码起2200.png (181.03 KB, 下载次数: 48)
15:17 上传
自敲第一行代码起2332.png (80.47 KB, 下载次数: 48)
15:17 上传
  虽然写出了一些简单的游戏,但我想写的远不止这些,我想变强啊啊啊!!!我想写出更好玩更炫酷的游戏,就像当时非常火的游戏《大话西游》,什么代码可以写出这么炫酷的画面,什么代码可以让两个人的屏幕同步出现这么炫酷的画面呢?后来在云大组织的广州skynet大聚会上面讨论实时同步方案时,提到过在高中时就有在思考大话西游的实时同步,大家都笑了,这是一句缓解个人紧张情绪的话,但并不是信口开河。
  《Visual Basic游戏编程21天自学通》介绍了DirectX,看上去使用它就可以写出更酷的游戏,但书中的代码片段无法编译,而且并不是循序渐进地介绍DirectX,挣扎了很久只能放弃。
  在这之后,又学习了一下ASP、Html以及JavaScript,这一方面是因为对网页开发也略有兴趣,另外一方面主要还是没有好的学习资料,有什么资料就学什么。
  当我知道,做游戏应该用C/C++语言的时候,就开始寻找C/C++的资料,那时候没有找到合适的入门书籍,不知从哪里找来一本VC++的编程书,一上来就是MFC框架的消息映射,各种控件等等,让我觉得,C++真的好难啊。
  学校的上机课,我都用来找资料,下载资料。在网上找到了一些简单的C语言资料,开始自学C语言,那时候最最让我头疼的就是指针了,听很多人说指针很难,所以在这方面下了不少功夫。初步掌握了C语言之后,接下来开始学习一本《C语言游戏编程从入门到精通》,虽然没让我精通,但还是跟着写了一些简单的小东西出来,学到了不少古董级的知识,例如如何用图形模式调用哪些系统中断来绘图,这些大概是最古老的像素游戏的开发技术了。
  学生的时间是最多的,上课的时间,脑海里想的都是游戏编程,偷偷地看着编程书籍。高中三年过得很快,转眼就到了高考。像我这种不爱学习不认真上课的人,自然考不出好的分数,那时候对未来的憧憬大概就是,如果考得不好,那就在一家小网吧里面当当网管,修修电脑,继续这种自学编程的日子。最后高考虽然没考好,但还是考上了位于韶关的一所没有什么名气的大专学院,在那里,由于佛祖的庇佑,我的技术迎来了一个飞跃,并结识了不少益友。
  大学之路
  高考之后的暑假,决定系统地学一下C++,由于家里拉上了宽带,所以极大方便了我找资料,在网上找到了孙鑫老师的C++视频,通过这套视频对C++、面向对象和MFC,都有了一个初步的了解,但对很多概念都还是一知半解。
  暑假很快就过了,2008年的九月份,来到了学校报到,饱受了缺乏资料之苦后,看到大学图书馆中海量的计算机书籍,仿佛几年没吃肉的人看到一盘美味的红烧牛肉!这次的兴奋仅次于得到生命中的第一台电脑。在图书馆中找了一些VC++21天自学通之类的书籍,巩固了一下C++基础,以及如何使用C++来开发游戏的《VC++游戏开发》一书,读完后尝试着用了GDI写了一些游戏,例如《坦克大战》(这个应该是第二学期做的)。另外也巩固了一下VB的基础,使用VB做了一个简单的系统管理工具,有点类似优化大师。
自敲第一行代码起3724.png (396.54 KB, 下载次数: 41)
15:17 上传
自敲第一行代码起3856.png (224.59 KB, 下载次数: 44)
15:17 上传
  由于高中阶段的努力,让我自认为在同龄人中的技术已经是很不错,开始有些骄傲膨胀的时候,蚊子和志仔的出现狠狠地打击了我的“嚣张气焰”,学无止境,一旦满足于当前的技术,那便是逆水行舟不进则退。
  蚊子并不是我们学校的,是一位大学同学的高中同学,同他一见如故(其实那时候尚未见面),但相似的经历,对技术的热爱,让我们有很多的共同语言。蚊子和志仔都是从高中便开始自学编程,并且学得比我好得多,大一时蚊子已经制作了不少看上去还不错的软件作品,对游戏外挂也略有研究,蚊子推荐给我的《Windows游戏编程大师技巧》,让我受益匪浅,后来此书成为了少数几本我反复翻阅多次的书。《C++Primer》和《EffectiveC++》是另外的两本,通过这些比较经典的书,我慢慢理解了C++和VC++的区别,面向对象、泛型。
  志仔是一个超级邋遢的人,发型杂乱,每次见他都穿着拖鞋和大棉袄,然后挂着一条鼻涕。但很多时候看上去越邋遢的程序员越牛逼,大一的时候他就已经在研究木马之类的东西了,不是简单地使用工具,而是开发木马,终端控制,屏幕传输,视频压缩等等,都是他自己做的。对于php等网页编程,他也颇为擅长,对于OpenGL和一些图形学算法也有研究,这两个家伙都自己写过操作系统(当然,不是大一的时候),毕业之后,他们变得更牛逼了。受志仔和凯文米特尼克的影响,那时候花了一段时间玩了玩黑客,但仅仅只是停留在表面,玩了一段时间发现,编程才是王道,于是丢下手上的黑客工具包,继续回到编程的正道上,有牛逼的对手一起前进,路上才有意思,这种相互竞争相互追赶的感觉非常地美妙。
  大学前期基本都是围绕着C++游戏开发学习的。在大一的第二个学期,接触了汇编语言,这是一种与之前的语言完全截然不同的语言,需要运用新的思维方式,应该算面向寄存器编程,看了一些汇编教程之后,自己调用各种中断,用汇编写了一个打飞机的小游戏。在后面接触了面向对象的思想之后,就渐渐把汇编忘干净了。在五一的3天假期中,准备了泡面在宿舍闷了3天时间,把之前没看完的孙鑫视频看完了,初步理解了C++的类、MFC、多线程、网络编程。并制作了一个内网聊天工具,在网上断网之后可以和其他宿舍的同学聊聊天。
  从大学开始就总是给自己制定着一堆完不成的学习计划,因为不想让自己有借口停止学习。特别是寒暑假,回家的行囊中总是塞满了计算机的书。
自敲第一行代码起4987.png (622.62 KB, 下载次数: 43)
15:17 上传
  大二之后,我渐渐被两位大牛甩在了后面,因为认识了我现在的老婆,这是一段一波三折的复杂故事,这里就略过不谈了。虽然学习的时间少了很多,但大二这一年还是看了不少书,例如C++Primer、EffectiveC++等等,对C++的理解上升了一个层次。DirectX3D相关有Windows游戏编程大师技巧,精通DirextX3D图形与动画程序设计、DirectX9.03D游戏开发编程基础等等,OpenGL相关的有OpenGL游戏编程、Nehe的OpenGL教程以及计算机图形学等等,对3D编程的理解又上升了一个层次,计算机图形学一书介绍得非常深入,如果完全理解了此书的内容,几乎可以不依靠OpenGL和D3D手动实现一个软渲染3D引擎。另外由于课程需要,还系统学习了Java语言,看完马士兵的Java视频,非常过瘾,顺带学习了一下设计模式,感觉对面向对象的理解又上升了一个层次。如果说大一学习的是如何将代码写对,那么大二学习的更多是如何将代码写好。
  除了看书之外,大二还做了一些兼职,例如在勤工俭学那边帮忙送桶装水,送一桶水大概能赚5毛钱。与这种苦力活比起来,赚大钱的脑力活更适合我,辅导员给我和志仔介绍了一份兼职,维护一个PHP门户网站,每个月两三百的收入在那时看来已经颇为丰厚了,做这份工作也学到了蛮多东西,例如mysql数据库,还有网页抓取,正则表达式等等。
  除了看书和兼职之外,另外还做了一些小玩意,例如用自己写的简陋的OpenGL游戏引擎做了个3D的坦克小游戏(3D模型文件的加载是自己在官网研究这种文件格式,然后手写的一个模型文件解析和渲染类),另外还学习了生命中的第一个游戏引擎——HGE,在七夕的这天花了一个上午用HGE制作了一个《鸭子下楼梯》小游戏送给了老婆。其他还用Java、VB、C++写了一些乱七八糟的软件。
自敲第一行代码起5900.png (242.63 KB, 下载次数: 38)
15:17 上传
自敲第一行代码起6032.png (197.14 KB, 下载次数: 50)
15:17 上传
自敲第一行代码起6165.png (249.22 KB, 下载次数: 45)
15:17 上传
自敲第一行代码起6298.png (142.9 KB, 下载次数: 44)
15:17 上传
  大三时,编程基础勉强还算可以了,对C/C++掌握到一定程度之后,学习其他语言都非常快。大三只在学校待了两个月,然后就提前出来工作了,这两个月里就做了两件事情。参加一场比赛和一场考试,学期开始时辅导员跟我说让我去深圳参加一个省里面的比赛,有很多学校参加,这让我很兴奋,大一入学时,就听到老师说某某学长在广东省的XX比赛中拿到了三等奖,那时心里满是羡慕和崇拜,而现在轮到我了。
  我决定用HGE制作一款塔防游戏,和老婆组队(老婆是美术),第一个星期简单地学习了Lua和Delphi,然后用HGE搭建了游戏框架,使用Lua编写游戏逻辑,另外再用Delphi写了一个简单的游戏编辑工具,写到差不多的时候出现了一个重大事故,硬盘坏了,无法修复,是希捷的固件门,于是只能重新写过,幸好前些天去机房的上机课把代码拷过去看过,损失并不算太严重,但从此再也不敢用希捷硬盘了。
  现在看来当年的这款作品实在是非常糟糕,但凭借着上台演说时的对答如流,侥幸拿了一个一等奖。如果志仔也来参加的话,一定可以拿出一个比我好很多的作品,但他总是神龙见首不见尾。比赛之后开始潜心准备软考,2010年的软考还是蛮难的,考的内容特别广,包括什么编译原理、网络等一大堆东西,考试时发现蛮多成年人来考的,学校参加这个考试的人不多,通过的就更少了,侥幸通过之后,就开始准备简历,打算到广州或深圳好好历练一番。
自敲第一行代码起7023.png (342.9 KB, 下载次数: 47)
15:17 上传
自敲第一行代码起7156.png (128.89 KB, 下载次数: 43)
15:17 上传
  美好的大学生活就这样提前告一段落了,人总是在失去之后才懂得珍惜,工作之后回过几次母校,每次回去,看着熟悉的场景,回想起和同学朋友们在学校渡过的时光,心中总是百感交集。大学生活结束了,但另外一段苦逼的故事即将开始......
  前面五年算是一帆风顺,而接下来的经历,则充满了挫折与失败。
  第一份工作
  由于学历不高,还没毕业,经验不足让我吃了不少闭门羹,在大三刚开始时就开始在网上投放简历了,但基本是石沉大海。虽然没有面试邀请,我还是独自一人来到了深圳,因为对深圳这个城市很有好感(因为前面来深圳比赛的经历)。为了得到面试的机会,我不惜跑到人家的办公楼去霸王面,可惜并没有获得面试的机会,但现在回想起来,直闯人家的办公楼要求霸王面的时候,还是蛮有魄力的,虽然没有拿到面试机会,但年轻人就该如此,想做的事情就放胆去做,不要逃避,不要让自己后悔。
  初来深圳时,已经在深圳做了几年游戏开发的梁师兄对我很是照顾(过来深圳比赛时认识的),在深圳晃荡了一周之后,终于否极泰来,接到了两个面试通知,面试的过程很顺利,也学到了不少东西,两边的面试官都对我挺满意的,拿到了一份转正后3K的3D客户端开发Offer和一份试用期4K的C++服务端Offer,于是我选择了后面的那份Offer,除了因为薪资高些之外,上班的地方在师兄附近(后来住的地方也在师兄附近)。
  在工作的第一年里学习到了非常多的知识,网络编程和Linux服务器开发是我从未接触过的,几乎是从入门到熟练掌握服务器开发,这段时间的进步比以往任何时候都要快。在入职之前BOSS就给我描绘了一下美好的未来,C++服务端这个部门现在就你和另外一个工作一年的程序,但是马上会有3位经验丰富的大牛入职,其中有超过10年经验的大神,而且我们还有一位非常强力的技术支持——于彤,来自博雅的服务端大神,他为我们提供了一套高并发的服务端底层框架,虽然他只是偶尔来客串一下,但却给了我非常大的帮助,也很大程度上影响了我,他的话不多,但每句都很受用。在认识的人中他的技术几乎是最好的,但也是最谦虚的,他的头衔是架构师,但他说他只是一个程序员。
  首先复习了网络编程的基础,并将其搬到linux上,这是我把linux玩得最溜的一年,在于彤的指点下看完了《APUE》《Unix网络编程》《TCP/IP详解 卷一》等著作,大学时看《TCP/IP详解》如读天书,但在了解网络编程之后再看这本书反而津津有味,下班之后没有其他事情,独自回到白石洲的农民房里就是看书。为了解答疑惑、解决问题而学习比起普通的系统学习效率要高得多,因为目标非常明确。
  在工作中还了解了sql以外的nosql数据库,如memcached、redis、mongodb等等,让人大开眼界,在于彤的指点下,自己依葫芦画瓢用epoll+单线程非阻塞的模式写了一个简单的服务器框架,用这个框架实现了一个负载均衡的服务器,于彤看后赞赏有加,跟我重申代码要简洁,这个词深深刻入了我的脑海里。那时写的服务器能在数万并发连接的生产环境中稳健运行,是一份非常宝贵的经验,像什么远程调试,core和日志的分析,性能瓶颈分析也是那时候总结下来的经验。
  后面在读过于彤的底层框架、memcached和libevent等开源代码之后,自己又写了一个开源的迷你服务器框架,之后包括现在的项目,用的都是这套框架在开发。如何设计分布式的服务器架构,来保证服务器的可扩展性,保证每台服务器的功能单一简洁,满足一些跨网关的实时转发的交互需求等等,这又是另外一份宝贵经验。一个靠谱的后端程序员需要拥有能够解决各种问题的能力,与前端程序员不同,后端程序员更多是靠经验堆起来的,没有经验的后端程序员连可能会遇到什么问题都不知道。
  后端主程
  在公司待了一年,只为公司的一个页游开发了一个PVP系统,之后由于没有项目做,闲得发慌。由于和主程相处的不是很融洽,所以也就打算离开了,他的脾气火爆,不尊重人,并且不喜欢承担责任,在项目中解决了他的不少BUG,例如死循环、内存泄漏等等。记得他曾使用strlen来判断一个结构体的长度,向他指出这个错误之后,他跟我扯我不懂操作系统内核实现的原理,于彤知道后笑了,说那你让他讲讲操作系统内核是怎样实现这个原理的。火爆脾气的主程去到其他公司之后,听那边的朋友说,他的火爆脾气一点没改,并且还掌握了使用挖掘机挖坑的高级技巧。
  过完年,部门发生了巨大的变化,C++开发部的两个大神就离开了。本来我也打算离开了,拿到了Double薪资的Offer,但由于是做Java,心里并不是太愿意。然而在准备提离职之前,公司让我做后端主程负责一个新的MMO手游项目的后端开发,我一下子就来精神了,这显然比写Java要好得多,这可是领导对我的信任啊!而且如果去新公司的话,我上班得多踩10分钟的自行车吧。开新项目的同时,新的血液也注入了进来,有3个小伙子进入了我们部门,其中的穗智小师弟后来成为了我最得力的助手,但有一个小伙子表现不佳,怎么带都没带好,后来他转行去做测试了,主管问我,他不是我面试的吗?他是怎么通过我面试的?我说面试的时候,我出的各种题目他都答得很好啊,其他人都没答对,就他答对了呀。直到前几天想起这个问题才恍然大悟,面试时是在他们的培训机构面试的,一群人在外面轮流面试,只准备了一份面试题,前面的人答错了,我都会跟他们讲解一下,估计最后一个进来的他,已经了解了所有的面试题......
  于彤说主程并不是要自己成功,而是要帮助下面的每一个人取得成功,这样才是成功。所以后面招了一些新人进来的时候,我总会花比较多的时间进行培训,当大家都能独当一面的时候,主程也就轻松了。磨刀不误砍柴工,帮助其他人进行提升,也是磨刀。新项目的后端比较简洁,人也不多,开发进度也是稳步向前,但前端的进度看上去颇为糟糕,起码从给我看到的一些代码来看,算是耦合性较高,可读性较差的代码了。构建在这样代码之上的程序,BUG自然也是颇多,这个做不了,那个无法实现。在这个项目中我在技术上并没有多大的提升,只是默默地攒着主程、管理的经验值,包括如何规划分配任务、沟通传达、如何上政治课、如何给他们打气加油、碰到问题帮忙解决等等。虽然是初任主程,但秉着负责的态度,基本上保证了后端的开发进度稳定快速。
  这一年因为总体上比较悠闲,所以业余时间自学了一下Irrlicht和Ogre等3D游戏引擎,翻译了Ogre的初级和中级教程,CEGUI的相关教程以及PhysicX物理引擎的官方文档,并用OpenGL开发了一款物理冒险游戏《小铁蛋历险记》。在差不多年底的时候,还和师兄使用Cocos2d-x一起开发了一款ios手机游戏。
  然而又是过完年,项目组发生了巨大的变化,项目经理、主策、客户端程序纷纷离职,然后又空降了一波人过来,原先写的代码全部推翻,使用新的后端主程带来的框架,项目重新开始...。新的后端主程也是一个经验丰富的程序员,带来了一套Windows的MMO服务器框架,什么东西都是现成的,需求大部分都是在这套框架上稍微改一改就做出来了,有点类似所谓的换皮,复制粘贴成为了最常用的开发技巧。但我并不喜欢做这些工作,也不喜欢开发Windows的服务器,与Linux相比性能要糟糕很多,在这里完成了一些简单的模块,吸收了框架里的一些经验之后,我提了离职。
  这是一次裸辞,因为我和一个美术同学(我称他为淡总)使用Cocos2d-x一起开发一款病毒塔防游戏,想离职了好好把这款游戏做好,业余时间开发游戏还是蛮累的,但这款游戏是我目前为止做过最棒的游戏了,有强力美术的加盟就是不一样。这次辞职并没有成功,改为了请两个月的假期,假期里基本将游戏的代码写完了,还接入了ShareSDK,但是淡总怂了,因为后续要制作的各种关卡需要花费的时间太多了,从关卡的设计,到关卡中每个地图的绘制,再到数值的调整,这些看上去还是需要一个专业的策划才能搞定,于是这款游戏被搁置了。之后淡总提议用这套美术资源开发一些其他的不需要关卡的游戏,不要浪费,于是我们使用这套资源开发了病毒射击和病毒消除小游戏,这两个游戏都做完了,但是玩起来感觉很单调,于是病毒射击又改成了病毒射击塔防,在病毒射击的基础上增加了很多新元素,设计了各种地形,各种道具,看上去游戏的可玩性增强了很多,但最后又回到了和病毒塔防一样的问题,关卡、场景、数值.....结果这些游戏一个都没出来。
自敲第一行代码起10772.png (399.16 KB, 下载次数: 48)
15:17 上传
自敲第一行代码起10905.png (393.89 KB, 下载次数: 49)
15:17 上传
自敲第一行代码起11038.png (358.2 KB, 下载次数: 48)
15:17 上传
  在这些小游戏的开发过程中,总结了不少经验,那时Cocos2d-x刚刚兴起,资料还很匮乏,于是有了编写Cocos2d-x书籍的念头,小游戏不搞了,那就将Cocos2d-x积累的经验写成书吧。
  U3D主程
  结束两个月的假期回到公司,就开始了打杂,这时手机游戏和手机游戏引擎Unity3D、Cocos2d-x正是非常火热的时候,BOSS希望搭建一套通用的Unity3D底层框架,把游戏的规则抽象出来,每开发一个游戏都只需要继承一些类,然后实现类里面的一些接口即可,这样就可以很快的开发一款新游戏。但我完全没有接触过Unity3D,多次的开会讨论都没有得出一个好的结果,因为这种框架很虚,如果说有这样一套框架的话,那不就是Unity本身吗?最后只是用C#的委托实现了一套消息机制底层,另外由于原先U3D的网络底层实在是太糟糕了,根本无法重用,于是实现了一套U3D通用的网络底层框架,代码非常地简洁易用。后面这套消息机制和网络底层被应用在了公司的所有U3D项目上,MMO手游项目的新主程接手项目的时候,直接推翻了所有的代码,只保留了这套消息机制和网络底层,再后面一些这套消息机制和网络底层也被应用到了不少其他公司的项目上了,然而在代码中关于作者和日期等注释信息,却被删掉了......这种感觉就是,我写的东西,变成了别人的了,再跟我没有任何关系。
  编写框架并没有花费我太多的时间,但为了设计好,为了简洁好用,我投入的精力却不少。业余时间仍然是和淡总他们一起开发着病毒系列小游戏。公司的一个主策建哥很有想法,很能忽悠,在他的忽悠下我和穗智小师弟也帮他开发了一些小玩意,穗智帮他开发了一个看美女图片的应用,穗智拿到建哥整理给他的性感美女图片时,穗智吐槽了建哥“这样的图片我百度可以随便找到一堆”,都是一些普通的泳装美女图片,这款手机软件的功能,就是一张张地翻阅这些图片,30张之后的每10张会有一个密码。建哥打算回老家卖低端的安卓机器,顺便推销这款软件,当用户需要看到心痒痒的时候,密码输入框弹出来了,然后用户就要带着手机过来找他,交钱之后,建哥偷偷地把密码输入进去,就是这么一个商业模式,建哥说靠这款破软件,他一年就可以进账100万,虽然最后这款软件一份都没有卖出去,但建哥混的要比我们好得多,我还是主程,他已经是四个轮子的CEO了。
  另外一个独立开发手机游戏的小团队邀请我加入,他们策划美术程序齐全,但我没有答应,经过了反复的游说,我答应帮他们用Cocos2d-x搭建一个框架和基础的Demo,仅仅是友情协助。在开发的沟通过程中,感觉并不是很靠谱,因为游戏不好玩,美术不好看,很多东西反而要我去催。Demo如期交付了Demo,一段时间之后,这个团队解散了,因为在开发的过程中有人还去接外单,当这个团队解散时,项目的进度仍然停留在我交付Demo的那一刻。这个团队的解散给了我很深刻的印象,要么不做,要做就全力以赴,兼职开发的这种小团队,一个拖后腿全部完蛋!每个人都要有很强的责任心,对自己做的东西有强大的信心,主动往前才行,如果是由一个带头的推着整个队伍前进,这样是走不远的。不久之后,我和淡总的病毒游戏也告了一段落,大家都太累了,病毒系列的几个项目的代码沉睡在了硬盘上的某个角落。
  接下来学习了一下U3D,发现U3D这个引擎比Cocos2d-x成熟的地方太多了,了解了各种更加成熟的理念,C#这门语言用起来也非常爽快。我开始作为U3D主程负责一个项目,这是一款局域网对战的项目,类似一个游戏平台,内部可以嵌套很多个小游戏,公司已经做了一年多,已经做烂了,原项目组的程序都跑去MMO的项目组了,于是从新招了2个U3D客户端一起捣鼓这个项目。项目的代码实在是非常糟糕,各种不规范,BOSS希望我在这个基础上继续,然而我选择了推翻重构。因为项目的业务逻辑都写到了我的网络底层框架里面了(像这种东西就该做成库,不然他们改),原本这款游戏是可以单机和局域网对战,BOSS希望可以加入广域网对战的功能,但广域网对战暂不开发。我和两个小伙伴花了2个多月的时间,只保留了原有的美术资源,所有代码全部重写,重新设计。并实现了一些新的功能,完成了这个项目!重构之后的项目代码简洁,耦合性低,巧妙使用了消息机制,完成了单机版本之后,只花了1~2天,就把所有的小游戏实现了局域网对战,再花上少量的时间,我们可以很轻松地实现广域网对战。虽然开发过程中换了3次人,来了又走,但我们还是按时完成了任务,最后打包的那天,我们好像加班到了快2点,这是加班的最高记录。
  最后,这款游戏在商务阶段,没有了下文,又是一个无疾而终的项目,而这些绞尽脑汁写出来的代码,又在硬盘上的某个角落,沉睡了。
自敲第一行代码起13604.png (224.02 KB, 下载次数: 44)
15:17 上传
自敲第一行代码起13737.png (281.72 KB, 下载次数: 45)
15:17 上传
自敲第一行代码起13870.png (189.62 KB, 下载次数: 49)
15:17 上传
  临危受命
  项目失败之后,又有去意,但此时已经差不多是10月份了,想着过完年再说吧。离职的主管介绍了一份不错的兼职,开发一款Cocos2d-x游戏,有点类似愤怒的小鸟吧,穗智小师弟跟我一起接了这个单子,大概花了3个月的业余时间比较轻松地完成了这款游戏,期间搭建了一个不错的物理框架,设计好,代码简洁,开发效率自然高。游戏的美术和关卡设计都挺不错的,我们签了一份5万块的外包合同,然而游戏做完之后我们只拿到了4万块,因为最后的一万块是要游戏上线之后才给,上线到Appstore时由于某个原因被打回来,然后这家公司就倒闭了......这个项目的代码又在硬盘上的某个角落进入了沉睡。
自敲第一行代码起14859.png (371.65 KB, 下载次数: 59)
15:17 上传
自敲第一行代码起14991.png (380.74 KB, 下载次数: 44)
15:17 上传
自敲第一行代码起15124.png (322.1 KB, 下载次数: 42)
15:17 上传
自敲第一行代码起15256.png (306.4 KB, 下载次数: 40)
15:17 上传
  在接外包之前,公司又开了一个新项目,这是一款精简的多人在线大富翁游戏,主要是山寨一款PC上的大富翁,我们都觉得这款游戏很好玩,把它搬到手机上肯定有戏。于是我作为后端主程开始了这款游戏的后端开发,当前端还没出Demo的时候,后端已经完成了复杂的游戏逻辑,例如各种随机事件的触发,并做了一个简单的文本界面客户端对服务端的逻辑进行了测试。大富翁的后端逻辑不同于一般的后端,一般是一个请求一个响应,但大富翁的一个请求可能触发的事件是不一定的,事件的流程也会随着不同的环境发生改变,并且中间有可能导致玩家之间的复杂交互。游戏的逻辑完全跑在后端,前端只需要执行少量的显示逻辑即可。由于进度超前,所以也有足够的时间完成外包项目。
  到了发Demo版本的时间,前端的版本问题很多,延期了一两周还是没能顺利给出版本。由于突发了一些我们并不知道的紧急情况,经理对这次的延期有很大的意见,并决定亲自操刀,他仔细阅读了前端的代码,并对一些代码进行了删改,对前端的代码提出了很多疑议,并整天坐在前端小伙伴旁边看着他们写代码,要求每一行代码都写上注释,前端几乎停止了开发,每天都在写注释。游戏也已经完全跑不起来了.....
  在前端小伙伴们奄奄一息的时候,经理找到了我,想让我把前端带起来,我一听吓了一跳。原计划是年前出一个Demo版本,年后一个月内出一个Alpha版本,经理希望我按照原计划把版本赶出来,在会议室中几个人对着我猛灌鸡汤,仿佛我能推平山岳,扛起这一切,把这个项目带向成功。而如果我拒绝,这个项目就进垃圾桶了,难道我做的项目又不能上线了吗???
自敲第一行代码起16817.png (289.37 KB, 下载次数: 46)
15:17 上传
  内心挣扎了很久之后,终于把这碗鸡汤干了。干完鸡汤之后,我大概向经理提了10个条件,包括不允许经理再看前端代码,以及坐在前端程序身边看他们写代码。砍掉了一些不必要的功能。给前端同学放一天带薪假放松一下。给我一笔经费,在过年的时候将一些完不成的任务打包,明码标价,外包给前端程序去做,这些任务量并不繁重,但价格还算比较不错的,这样即可以在过年期间让项目前进,又可以避免前端同学年后回来对代码生疏了,需要重新花时间熟悉代码。各种讨价还价之后,雷厉风行地扛起了前端项目的开发,接下来Demo和Alpha版本都按照原计划完成了。虽然名义上是前后端主程,但实际上后端的工作已经完全丢给穗智小师弟了。
  版本完成之后,又是各种新需求和周边系统,包括AI和托管等麻烦的功能,大概是五月份左右,腾讯的天天富翁上线了,我一看,跟我们的游戏一样,这对整个团队的打击都很大,而过年前,经理就已经提前知道腾讯会代理这款游戏了,也就是这个原因,他才亲自操刀。游戏接下来要做的功能已经不多了,但游戏的前景却是一片迷雾。之后开始对项目的前端框架各种优化总结,沉淀了一套通用的UI框架、资源管理框架以及新手引导框架。沉淀下来的框架简单易用,而且靠谱,这归功于长期基类下来的设计经验,以及在使用的过程中不断地调整打磨,还有对模糊的技术点的彻底研究,只有彻底搞清楚了,才可以更好地使用它。
  由于版权的问题,这个游戏最终还是没有上线。这些代码再次沉睡在了硬盘中。所以说,山寨并不靠谱,创新才是王道!
自敲第一行代码起17757.png (290.32 KB, 下载次数: 47)
15:17 上传
自敲第一行代码起17890.png (362.39 KB, 下载次数: 48)
15:17 上传
自敲第一行代码起18022.png (251.06 KB, 下载次数: 45)
15:17 上传
自敲第一行代码起18155.png (240.51 KB, 下载次数: 42)
15:17 上传
  又是一段空闲期,我和淡总商量了一下,决定快速开发一款小游戏,于是我们开发了一款躲避类的游戏,类似宫爆老奶奶,为了能吸引到眼球,我们决定尝试一下色色的主题,也就是卵子躲避精子,游戏命名为《避孕达人》,经过精心的策划之后,这款游戏上了一些安卓平台。几次优化之后,我们都觉得可玩性还可以,打算就靠卖点广告来赚钱,结果到现在就赚了21块钱的广告费,其中的20块还是我自己点的广告......
自敲第一行代码起19235.png (129.87 KB, 下载次数: 35)
15:17 上传
自敲第一行代码起19368.png (208.82 KB, 下载次数: 43)
15:17 上传
自敲第一行代码起19500.png (134.62 KB, 下载次数: 44)
15:17 上传
  一段有趣的面试经历
  接下来朋友推荐了一个Cocos2d-x的面试,面试官并不是很友善,大概就是这种“呵呵,你很牛逼是吧?”,然后就试图在面试中把我难倒,问了一些主观性的问题,两个人的思路根本就不在同一个频道上,例如我说搭建U3D的网络框架,他说U3D的网络底层框架有什么好搭建的?不就是个连接连上去就可以了嘛。我说提供对socket的封装,异步请求,自动处理半包粘包,将tcp流分割为完整的包最后传递到客户端主线程的一个服务处理对象中进行处理。答完看上去他对半包粘包这些好像一点都不知道,追问了我一句,那你是如何处理TCP丢包的呢??然后我就不想讨论这个话题了,TCP的定义讲得很清楚,TCP提供可靠连接,TCP底层实现是可以保证不丢包的,我反问了一句你们又是如何处理TCP丢包的呢?他说很简单啊,如果对方没收到就循环发送,估计到了这里面试官已经自动将我判断为没有处理TCP丢包经验的程序员。例如说到将第一个U3D项目代码推翻时,他问我为什么要推翻,我说因为代码耦合性太高了,游戏的业务逻辑都写到我的网络底层框架中,他说那说明你的框架设计得很糟糕(这个功能完全不需要写在框架中,框架的接口足够实现这个功能的,也许是这个框架无法处理TCP丢包,所以真是糟糕啊)。例如问了我一个特别泛的问题,大意是如何设计一个框架,我说这个要根据需求来啊,你可以现场提需求,我来设计,他坚持让我回答这个问题,我也只能回答一些比较泛的答案,然后他说不对,我问他那正确答案是什么?他说是抽象和封装......要不是看在我朋友的面子上,我真想抽他!
  本来我想通过这次面试,来积累点面试经验,补充一下自己的不足,没想到会变成这个样子,接下来他开始问了我一些Cocos2d-x和Box2d的问题,我有气无力地回答着他,扯了这么久,水都不给喝一杯,我都困了。反正我也不想和他共事,又学不到什么新的东西,就想草草结束这次面试了。接下来HR妹子和他一起来跟我聊,HR说他们的技术对我已经有了一个了解,虽然我了解的东西挺多的,但都不精通。嗯,我点点头,我确实离精通还很远。HR接着说到我的Cocos2d-x经验比较欠缺,还没有到达一定的水平。我愣了一下,刚刚明明Cocos2d-x相关的问题一个都没难倒我好吗,并且有些问题我还提出了比他们现在更好的实现方式,我已经用Cocos2d-x做了四五个游戏了,我那本Cocos2d-x的书也已经完成了第一次重构了,引擎的代码更是读了N遍,你可以说我其他的什么不精通,但你就算问我Cocos2d-x引擎底层的渲染流程我都可以给你详细地说出来。我真想拽拽地对面试官说一句,那就请你随便问一些Cocos2d-x的问题,来难倒我好吗?但我克制住了自己,因为没有意义,点了点头说道,确实对Cocos2d-x不怎么熟悉。然后他们问我薪资要求,我说了一个14K。HR说我们觉得你不值这个价格,11K怎么样?我点了点头,嗯,确实,如果我对Cocos2d-x熟悉一些的话,应该会好一点。后来HR打电话劝我过去,说面试官觉得我还是可以培养的,转正之后,如果你表现好的话,还是有可能拿到这个薪资的,我婉言谢绝了。
  后面,我带过的一个小师弟意外地去到了这家公司面试,被格外器重,我不知道当时的面试官还在不在,只知道他们给小师弟开了12K。
  Cocos2d-x主程
  在2014年的年底,公司又开了一个新项目,是一款实时横版竞技塔防手游,我兼任Cocos2d-x主程和后端主程,游戏的进展还算比较顺利,在这个项目中又沉淀了大量的经验和一套好用的框架,踩了Cocos2d-x大量的坑,使用一套通用简单的方案解决了实时同步的错误纠正以及断线重连等等(后面有空会写一篇文章分享一些实时同步的经验),相比起项目刚开始时的设想,经历实践之后的方案更加地成熟。
  和策划们一起用心打磨这款游戏的战斗系统,实现了非常多的玩法,支持策划配置各种特色关卡,例如双方争夺某个要塞,例如护送某个角色到达指定位置等等。各种拥有特殊能力的兵种都可以通过策划配置出来,不需要程序调整代码,类似LOL妖姬的标记,LOL大发明家的安置炮台,还有分身、闪现、传送、魅惑、隐身、召唤、复活、放逐等等一堆乱七八糟的功能,都可以配置出来。游戏关卡中的战斗场景也支持丰富的互动,例如一个寒冰法术打过去会顺带冻住场景后的植物,例如一个火焰爆炸开场景中的植物也会被灼烧,甚至旁边的石块也会被炸飞,这些都可以通过策划配置出来。开发的氛围很好,没有出现推卸责任这样的情况,大家一起认真地讨论着某个功能的实现,怎样能让它有更好的体验。
  开发了一年左右,皇室冲突强势上线了,这意味着我们做不了首款实时竞技的策略手游了,或许会被套上山寨的帽子,或许山寨皇室冲突的游戏会烂大街,从而影响到我们游戏......,所以我们必须把游戏做得更好,比皇室冲突更好!谁说国人就只会山寨?
  通过不断地打磨,关卡副本和PVP玩起来已经算是比较有意思了。直到现在,游戏终于到了最后的尾声,周边系统也基本完善,估计一两个月内就可以发布最终的版本,希望这款倾注了我们大量心血的游戏到时能够顺利上线吧,皇室冲突的成功也证明了手机上的即时策略游戏是大有可为的,如果这样一款有特色、有创意、玩法有趣、注重品质和细节的游戏都能失败的话,我真不知道怎样的游戏才能成功了。(为避免广告嫌疑,现在手上的项目就不详细介绍了,也不上图)
自敲第一行代码起22523.png (396.09 KB, 下载次数: 42)
15:17 上传
  在繁忙的工作中,我完成了第一本Cocos2d-x书籍,这是第三次的推翻重写。每次写了一段时间之后,回过头看之前写的文章,顿时觉得惨不忍睹,必须推翻重写,或者是Cocos2d-x的接口又改了,或者是自己能力的提升推翻了之前的一些想法。总之不想将就,就得重构!就这样断断续续地写了三年多,直到最近这本书终于出版了。虽然希望做到极致,但能力有限,精力有限。中间看着Cocos2d-x的出版物逐渐多了起来,有过停笔的想法,但最终还是坚持了下来,这个过程比想象中要难得多了,但语言组织能力、表达能力都能得到很大的提升,对于要表述的技术点也清晰了很多。写书不易,经常加班的IT人写书更是不易,有了这么一个经历之后,对一些写得不是很好的书籍,我也不会去吐槽它了。大概在项目上线的时候,第二本Cocos2d-x的书也该交稿了。第一本书介绍了Cocos2d-x的基础,虽然是基础,但有很多点还是挖得比较深,例如指针、内存、纹理、渲染等。这些往往是一些初级程序掌握得不好的点,相信对于基础不扎实的同学会有很大的帮助。第二本的内容要比第一本精彩得多,听了网友紫虾的建议,把第二本写成了一本杂文集,深入总结了Cocos2d-x实际开发中的各种技术,例如跨平台开发的相关知识、实时同步游戏的前后端开发、Cocos2d-x的各种调试技巧、Shader、裁剪遮罩、加密解密、分辨率适配、Lua、Spine等等一系列实用的内容。甚至开发了一个类似U3D编辑器一样,可以实时调试Cocos2d-x游戏内容的界面工具,这些内容都是实际工作中一点点总结出来的心血结晶。在征得出版社同意的前提下,接下来会将书中的一些章节发布到博客中。
自敲第一行代码起23523.png (585 KB, 下载次数: 51)
15:17 上传
  当完成书和项目之后,会有一段难得的空闲时间,可以好好陪陪家人,可以好好写写博客,可以好好踢踢球,可以把驾照考了。接下来也许会找一些志同道合的朋友继续做一些独立游戏,也许会好好学习一下如何编写操作系统,或者是研究一下Arduino,或者深入地学习一下算法,这些东西都非常有趣。
  相关阅读:
关注我们官方微信公众号
下载我们官方APP-游戏行
关注手游动态微信公众号
不是程序,没法评价,不过看你这十年生涯,同感慨!
无论什么职业,追求卓越!
看了你的介绍,万分惭愧,我也做了将近两年的服务器主程了,现在仍一无所成,客户端更是一窍不通,感觉自己学得太少啦,哈哈,大神,膜拜一下,客户端,服务器都精通,这个太NB了==
膜拜一下大神,顺便说一下,我也在深圳南山区的白石洲待过2年...还记得第一次看到企鹅大厦的心情..
从2014年底到现在一年多了就轻描淡写了……
这。。。我怎么感觉楼主的路还远的很。。。看下来感觉几个问题:
1,上线项目不多
2,项目规模偏小
3,自拍的技术书籍,明显太新了。。。
我没有资格评价楼主,但是这些是楼主的问题,相信他自己也承认吧。
白石洲我也很熟的,
我泡的第一个妹子就在那住,
一个肇庆妹子。。。。。。。。
同学真好,很用心,我做后端,希望有机会能一起做事,一起踢球,话说我是大力金刚腿,你是铁头功
我也是研发了十年,这是我上线测试版的视频.,想了解更多到我的QQ空间来http://user.qzone.qq.com//blog/
看好大婶,最后面试那段写得很搞笑哈哈 感觉大神开1.4W太低了把
国产手游产品《决战!平安京》出海又获佳绩进阶之路——App Annie浅谈全球手游市场《哈利波特:霍格沃茨之谜》IGN评分3.5 微《救赎之路》是怎样炼成的?冯迅:专心做喜新《战神》3天卖出310万份:成PS4独占之王动视暴雪2018Q1财报:未来将推进移动与电竞
微信扫一扫关注我们→}

我要回帖

更多关于 精通linq程序设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信