对想进行游戏开发的建议

前段时间终于签约北京金山的网络游戏事业部,完成了自己的游戏梦想,感慨万分.大学四


年,在游戏编程方面花了大量的时间和心血,走了不少弯路,快要毕业了,特把自己积累的一


些经验和感受与大家分享,希望能对像我一样想从事游戏行业的朋友一些帮助.

一.关于编程语言.
    目前的游戏编程语言主要是c/c++,移动设备使用J2ME.平台游戏上基本不用JAVA,原因


很简单,跨平台性就意味着你永远接触不到底层.而游戏引擎的编码与优化与底层息息相关


.不过对于手机平台,J2ME是目前最好的解决方案,不过这也是限制手机平台运行大型3D网络


游戏速度的主要因素.
    推荐参考书:1)<<Thinking in c++>>
               2)<<Effective C++>>,<<More Effective C++>>
               3)<<Inside the c++ mode>>
               4)<<C++ premiere>>
               5)<<Exceptional C++>>
               6)<<C++ Standard Library>>

二.关于脚本语言.
    脚本语言是解除硬编码,防止重编译的利器.任何大型游戏都有自己的脚本系统.目前比


较流行的脚本语言有Python,LUA,Ruby等,我写的引擎是用LUA,因为其轻量,高效,易学,接口


干净(魔兽三就是使用的它).当然Python也有大量的应用,有兴趣的同学可以自己学学.
    推荐参考:1)LUA5的帮助文档(这个写得相当全了)
             2)LUA 官方网站
             3)<<Premier - Game Scripting Mastery>>
             4)LUA程序设计

三.关于操作系统.
   其实操作系统的知识对游戏而言也是非常重要的,我们需要学的不是某个操作系统的AP


I,而是学习一些关键技术,如多线程,文件IO技术,内存分配技术等.重要的是思想,因为我们


可能面对不同的平台,而不同的平台API不一样,而对游戏而言,相同的平台会使用不同的技


术构件不同的引擎.我写的引擎是面向Windows的(实际上大部分的网络游戏也是),对windo


ws平台研究比较多.
   推荐参考:1)<<操作系统>>
            2)<<Windows 程序设计>>
            3)<<Win32 多线程程序设计>>

四.关于计算机体系结构与汇编.
   了解计算机体系结构,有助于对游戏底层进行优化.对于像XBOX360,PSP等平台的结构,与


经典计算机结构基本相同.要写一个完美的游戏引擎,需要对平台的结构作充分的了解.另一


个非常重要的话题是汇编优化.恩,对于2D游戏而言,MMX指令集做优化是非常高效的,而对于


3D游戏而言,汇编优化基本就局限在SSE指令写数学库上面了.当今的编译器已经非常完善,


不用再考虑逻辑代码汇编优化,大部分的优化应该是放在算法上,而要使硬件的能力充分发


挥,计算机平台靠DirectX/OpenGL,游戏机平台上靠基层API.
   推荐参考:1)<<计算机体系结构>>
            2)汇编语言相关资料
            3)IntelMMX,SSE指令集手册

五.关于编程工具和Framework ,.NET ,COM.
    到很多家公司看过,基本都是使的VS2003,我用的是 VC6 和 VS2005,用VC6的原因仅仅


是为了使连接库通用.不推荐使用VC6编码,因为Bug实在太多了.测试工具用VTune.在Frame


work方面,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,其实另一个公司给的薪水是金山的两倍,但我最后还是选择了金山,原因就是感觉


氛围,环境非常好,特别是能学到非常多的东西.走出校园的第一步很重要.

    嘿嘿,写了这么多.其实我也不是游戏编程方面的专家,也不聪明,只不过花了很多时间


在上面,说出来作为给师弟师妹的纪念,希望大家能用得上,当然,也欢迎指正与交流.最后说


一句,游戏之路很艰难,要想做游戏,很多时候,你不得不放弃玩游戏,但为了梦想,一切都是


值得的.你比我聪明,加油啊!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值