游戏本科生感悟

发信人: brianyao (kuku), 信区: CCST

标 题: 写给以游戏业为梦想的师弟师妹们:)

发信站: 吉林大学牡丹园站 (Mon Nov 27 08:40:19 2006)

前段时间终于签约北京金山的网络游戏事业部,完成了自己的游戏梦想,感慨万分.大学四年,在游戏编程方面花了大量的时间和心血,走了不少弯路,快要毕业了,特把自己积累的一些经验和感受与大家分享,希望能对像我一样想从事游戏行业的朋友一些帮助.

一.关于编程语言.

目前的游戏编程语言主要是c/c++,移动设备使用J2ME.平台游戏上基本不用JAVA,原因很简单,跨平台性就意味着你永远接触不到底层.而游戏引擎的编码与优化与底层息息相关.不过对于手机平台,J2ME是目前最好的解决方案,不过这也是限制手机平台运行大型3D网络

游戏速度的主要因素.

推荐参考书:1)<<Thinking in c++>>

2)<<Effective C++>>,<<More Effective C++>>

3)<<Inside the c++ mode>>

4)<<C++ premier>>

5)<<Exceptional C++>>

6)<<C++ Standard Library>>

二.关于脚本语言.

脚本语言是解除硬编码,防止重编译的利器.任何大型游戏都有自己的脚本系统.目前比较流行的脚本语言有Python,LUA,Ruby等,我写的引擎是用LUA,因为其轻量,高效,易学,接口干净(魔兽三就是使用的它).当然Python也有大量的应用,有兴趣的同学可以自己学学.

推荐参考:1)LUA5的帮助文档(这个写得相当全了)

2)LUA 官方网站

3)<<Premier - Game Scripting Mastery>>

三.关于操作系统.

其实操作系统的知识对游戏而言也是非常重要的,我们需要学的不是某个操作系统的API,而是学习一些关键技术,如多线程,文件IO技术,内存分配技术等.重要的是思想,因为我们可能面对不同的平台,而不同的平台API不一样,而对游戏而言,相同的平台会使用不同的技术构件不同的引擎.我写的引擎是面向Windows的(实际上大部分的网络游戏也是),对windows平台研究比较多.

推荐参考:1)<<操作系统>>

2)<<Windows 程序设计>>

3)<<Win32 多线程程序设计>>

4)<<WINDOWS核心编程>>

四.关于计算机体系结构与汇编.

了解计算机体系结构,有助于对游戏底层进行优化.对于像XBOX360,PSP等平台的结构,与经典计算机结构基本相同.要写一个完美的游戏引擎,需要对平台的结构作充分的了解.另一个非常重要的话题是汇编优化.恩,对于2D游戏而言,MMX指令集做优化是非常高效的,而对于3D游戏而言,汇编优化基本就局限在SSE指令写数学库上面了.当今的编译器已经非常完善,不用再考虑逻辑代码汇编优化,大部分的优化应该是放在算法上,而要使硬件的能力充分发挥,计算机平台靠DirectX/OpenGL,游戏机平台上靠基层API.

推荐参考:1)<<计算机体系结构>>

2)汇编语言相关资料

3)IntelMMX,SSE指令集手册

五.关于编程工具和Framework ,.NET ,COM.

到很多家公司看过,基本都是使的VS2003,我用的是 VC6 和 VS2005,用VC6的原因仅仅是为了使连接库通用.不推荐使用VC6编码,因为Bug实在太多了.测试工具用VTune.在Framework方面,MFC 主要用在工具的编写方面,在客户

端方面有游戏自己的引擎支持足够,基本不使用MFC.不过.NET技术有用武之地,这个我也正在学习中.另外,写引擎需要了解COM.

推荐参考:1)MFC深入浅出

2).NET技术相关资料

3)COM框架结构

六.关于通用游戏编程与2D游戏编程.

游戏编程入门其实很简单,而且大多数游戏在程序框架上其实有通用性.这一方面,我感觉自己似乎走了不小的弯路,因为太多的时间放在了2D游戏优化与引擎开发上面,而这一部分的内容现在已经非常完善了,没有更多的研究空间.另一方面,用3D相关的技术其实能在充分利用GPU的条件下使2D更快.不过,不可否认,2D游戏尚还有众多忠实的玩家,了解其中的奥妙,应该还是算游戏程序员的基本素质吧.

推荐参考:1)<<Game Programming All in One>>

2)<<Windows编程大师技巧>>

3)<<Game Coding Complete>>

4)<<游戏之旅---我的编程感悟>> 云风

5)DirectX9手册,特别是以下组件:

DirectDraw

DirectSound

DirectShow

DirectInput

6)游戏引擎相关资料,推荐 游戏引擎网 .

七.关于3D游戏编程.

正如前面所说,我真不是3D方面的高手,直到8月份完成游戏<<天下第一宝>>之后,才开

始正式研究3D技术.3D游戏,作为今后游戏的发展趋势,的确是技术含量最高的部分.如果想

写3D引擎,必须有扎实的数学,图形学基础.并且能充分的了解3D pipline与GPU,还需要为美

工提供完美的工具集.在这方面,我只能列出一些自己已经看了或正在看的书,希望对大家有

帮助:

推荐参考:1)<<3D游戏与计算机图形学中的数学方法>>

2)<<计算机图形学>>

3)<<3D计算机图形学>>

4)<<3DGame>>

5)<<Tricks Of The 3D Game Programming Gurus>>

6)<<Beginning DirectX9>>

8)Direct3D手册,学习用HLSL写Shader.

9)如果你更喜欢OPenGL,需要了解更多OPenGL的东东

八.关于人工智能.

人工智能在游戏中的应用没有象工业或机器人中那么复杂,但涉及的技术也挺多.很多

技术不要以为望不可及,不要以为像人工神经网络,基因算法没利用价值,其实它们都很基础

,而且很多游戏都有其简化形式的使用.当然,在目前的MMOGame中,人工智能往往成为瓶颈,

但在网速日益加快的未来,这种瓶颈会越来越小!

推荐参考:1)<<AI.Techniques.for.Game.Programming>>

2)<<AI.for.Game.Developers>>

3)<<游戏编程核心算法>>中AI的部分也写得非常好

4)<<游戏编程人工智能真言>>

九.关于网络与数据库.

我个人的研究是在单机和客户端的引擎构架上,所以在网络服务器架构上面真的是一窍不通.但这一部分也是一门大学问,需要考虑服务器的承载量,考虑算法分配,防外挂...我最近也在学习和了解这方面的东西,资料就只能推荐一本咯. 推荐参考:<<Programming.Multiplayer.Games>>

十.关于构架与项目.

游戏也是软件项目,程序员最后也需要上升到架构和项目管理的层次上.这需要经验,也

需要许多技术.软件的模式复用与工程化方法是重要话题.

推荐参考:<<软件工程>>

<<UML参考手册>>

<<设计模式>>

<<Code complete 2>>

十一.关于游戏程序员的素质.

哎,程序员命苦啊.游戏程序员和普通程序员一样,都面临着高强度持续使用的生涯.因此,我觉得,游戏程序员首要的素质就是有健康的体魄!记得我在做<<天下第一宝>>的时候,每天就睡5,6个小时,再想想华为挂掉的那个工程师~~ 哎.还好我喜欢跳街舞,身体底子好,尚能扛得起,大家想走这条路,一定要好好锻炼啊! 另一方面,游戏程序员还需要无休止的学习,特别是朝国外的技术学习,英语能力很重要,要写Shander,最妙的算法,国内很难找到的不过,既然喜欢,就有动力啦.

推荐参考:Hiphop街舞视频或健美操录象带,每天运动10分钟以上.

十二.关于择业.

上帝是公平的,只要你下狠心学了,结果会是好的.游戏业的薪水待遇,只要你不是特别差,尚算理想.北京,上海的机会很多,关于在于选择.提醒师弟师妹们,关键要看中到公司后能学的东西,培训计划,薪水待遇是其次的.我上北京找工作的一周,面试了四家公司,收到两个offer,其实另一个公司给的薪水是金山的两倍,但我最后还是选择了金山,原因就是感觉氛围,环境非常好,特别是能学到非常多的东西.走出校园的第一步很重要.嘿嘿,写了这么多.其实我也不是游戏编程方面的专家,也不聪明,只不过花了很多时间在上面,说出来作为给师弟师妹的纪念,希望大家能用得上,当然,也欢迎指正与交流.最后说一句,游戏之路很艰难,要想做游戏,很多时候,你不得不放弃玩游戏,但为了梦想,一切都是值得的.你比我聪明,加油啊!

 

第二篇:四一游戏感悟

跑垒

四年一班 陈龙

今天中午,我和同学们来到操场上,做跑垒的游戏!

游戏规则是:先把同学们分为两队,一队在里面跑,一队在外面打。跑的那一组找一名同学站在小方格里,外面的同学把毽子向他们打,如果没打到,我们里面的人就向里面跑去,接住了毽子可以救人,如果全跑进了垒里,就不能打了,然后在跑回起点。

游戏开始了,我们在里面,我们派小袁站在方格里。毽子没打到小袁,我们迅速的响里跑去,突然我们被堵住了,外面的同学准备打我们了,因为我没太密了,所以有几个同学被击中了,只好下场。我们继续向里跑去,马上就要到了。我们又被堵住了,我们赶紧分散开,那个同学准备打我脚,我一跳,毽子从我脚下飞驰而过······最终我们赢了!

今天,我太高兴了!给我留下了美好的回忆。

奥运五环转起来

四年一班 夏佳

上周五我们三至四年级的同学玩了一个有趣的游戏叫“奥运五环转起来”,我们做好准备,老师一说开始,我们好看的五环就转了起

来,首先要围成一个圈,后一个人抱住前一个人的腰,接着半蹲下,老师说不能把全身的力量都集中在一个人身子上,最后围着圈走,大家齐心协力,勇往直前,但是在我们做得过程中,我的手已经出汗了,差一点就把不住了,但是我不能让我们的五环倒下,我把全身的力量都使了出来,最终是我们组坚持到了最后,最后老师给我们照了一张相片。

我愿意,愿意为了班级争光,五环犹如有五个奥运福娃在帮助我们似的,在鼓励我们“加油,加油!”我们一定要努力,一定会取得胜利!

好玩的游戏——五环转起来

四年一班 张文瀚

“哈哈,哈哈。。。。。。”不远处想起了同学的欢乐的笑声。这是怎么回事?不妨跟我一起去瞧瞧吧!哦,原来同学们正在玩一个好玩的游戏——五环转起来。

这可是一个大型的游戏,需要100人。游戏规则是:20个人一组,

分成5组,每组围成一个非常紧密的环,每个人侧身站着,抱看前一个人的腰,慢慢坐在后一个人的腿上,形成五个环。在空中看就像运动会上的五环,一想到是吉祥的五环,我们的兴奋就涌上来了。这个游戏也就开始了。这时五环开始转起来了,“一二,一二……”的齐刷刷的声音响起来了。这时从高处上看可壮观了,过了一会儿,周围响起了掌声,随着裁判一声令下,游戏结束了。

这个游戏实在太好玩了,它给我们带来了无限的乐趣。不但如此,它还能锻炼我们的团结能力。我非常喜欢这个游戏。

奥运五环转起来

四年一班 魏嘉朋

今天早晨,我们班的同学来得很早,而且还都穿着白上衣和蓝色的校服裤子,因为今天我们学校的第二届体育游戏节要开幕了。我们班要各其它几个班一起表演“奥运五环转起来”这个游戏。

在玩的过程中,我们班的同学并不紧张,因为我们已经经过了两天的磨合了。在比赛过程中,我们班的小夏同学身前的同学不太会玩,所以所有的重量都压在了她一个人的身上,但是我却看见她使劲的抱着前面的同学,一点也不放松,脸都憋红了,而小夏后面的同学也尽

可能地撑着小夏,就这样每个人都在分担,都在努力,也都在坚持着,小夏太了不起了!四年一班太了不起了!我们的努力付出也终于得到了回报,我们班是最后一个站起来的,我们班得了第一名。

这个游戏这实在是太好玩了。在这个游戏中我还懂得了两个道理。第一个道理是:只要你付出得多,你得到的回报也会多,你付出的少,而你得到的回报也会少。第二个道理:友谊第一,比赛第二。你只要知道了这两个道理,你就会知道:胜过别人不是最快乐的事情,帮助别人才是最快乐的事情。

穿三门

四年一班 赵丹睿

大课间操到了,我们来到了充满了欢声笑语的操场上,开始我们有趣的游戏。

我最喜欢穿三门了,它简直有趣极了。“三门”分别为大门就是天安门,中门与小门。同学们分为两队,男一队,女一队,拉起手来向右转,我和徐文艳是中门,宋佳和黄倩是小门,子月和佳惠是天安门。游戏开始了,只听裁判长葛彦禄一声令下,开始!我们大家开始向前奔跑,我们的裁判长说:“中门,我和徐文艳连忙举起手来,让前面的人和后面的人穿过去,然后拉起手来继续跑,天安门!我们连忙松开手,穿向天安门,男生队断了一次。我们依然很完好。裁判长说:“停!我宣布女生队赢。”我们欢呼起来。我们取得了胜利!心里如吃了蜜一般甜。

这个游戏锻炼了我们的合作意识。增强了我们的团结能力。我喜欢那有趣的游戏。

相关推荐