浅谈2D游戏开发,面向C++初学者

来源:互联网 发布:日耳曼狂战士 知乎 编辑:程序博客网 时间:2024/06/16 14:40

相信有很多和我一样摸索着编游戏的自学者,自学是辛苦的,一没明确的引导,二没正确的工具,我就谈一下自己的经验,也许可以让你少走一点弯路。3D的先不谈,2D作为基础还是有必要研究,然后把地图模型一换(换成三维骨骼模型)——呵呵,好像没那么简单吧。

  首先学会一门语言,你可以从初级的C跳到C++,有些人喜欢MFC,用它也可以编游戏,但最好还是抛掉部分MFC的东西,使用DirectX吧。因为我主要学的C++,我就只谈C++了。其实还有相当好的语言如:DELPHI、JAVA等,有精力还是去学学吧!其实语言并不是最重要,关键是面向该语言的开发工具、引擎、源码的数量会对将来的开发进程大有帮助。对于已经会MFC的人,“传奇的故事学VC编游戏”似乎是福音,因为它最后还是过渡到DirectX。

  其次掌握一种工具,比如引擎、脚本等。引擎就是发动机的内核啦,你有什么好想法,就靠它来驱动实现。“工欲善其事,必先利其器”,与其在一个引擎上投入过多精力,不如比较选优,多搜索新的引擎,比如开发中的Novashell就不错,一旦公布源码,还是比较有力的。作者就是开源即时RPG游戏“DINK SMALLWOOD”的作者Seth A. Robinson等。

  引擎有的是面向游戏框架的,如POPCAP FRAMEWORK搭好了框架,剩下的由你来填充。有的是面向底层DirectX的封装,比如HGE、SDL、Allego、Y2GE等。有的本身就已经是个完整的游戏了,比如金点的圣II源代码游戏引擎,会对你很有帮助,实际上,你完全可以先抛掉其它的,从圣剑英雄传2开始,体会其开发思路,然后再利用一些引擎改善它。如果是想编即时战略游戏,可以看看Pptactical、stratagus等。

  人工智能是你不得不掌握的一门技术,会使你的游戏倍放光彩,比如A*寻路、攻击目标的选择、经济学、有限状态机、骨骼动画等,工具有OpenSteer、pathlib、micropather等。物理引擎也是,一旦拥有物理引擎你就不愿意丢掉它,比如Physics2D、Polycolly、flatland等。

  如果学脚本,建议用LUA吧,WOW就是用它。同时提一下luabind工具。当然你也可以使用自己规定的脚本引擎。

  XML技术不错,现在很流行,WOW、Novashell、POPCAP FRAMEWORK等都使用了。用它来管理游戏资源及资源调度很方便。

  先在已有的简单代码上修改出自己的一个简单成形游戏是比较好的开端,至少可以鼓舞你,不要好高骛远,想一上来就怎么怎么的。借鉴现有的开源引擎做自己的引擎也是好主意,这样可以充分享受DIY的乐趣!

  先说这些吧,希望对你有帮助!


原创粉丝点击