原标题:游戏如何自学游戏编程叺门步骤适合初学者
经常有人问我,没有如何自学游戏编程经验的人该如何开始开发游戏在此之前,我总是一个个的尽力回答然而,后来提相同问题的人数增长到难以处理的地步我决定,是时候把我所有的建议写成文章作为一个大概。
这篇文章是针对那些想要开發游戏但几乎没有如何自学游戏编程经验的人。事实上我假设读者没有任何如何自学游戏编程经验。我主要讨论游戏开发的程序和设計方面而不是艺术性。我也不准备讲述如何进入游戏行业(这方面已经有足够的资料)而只是让你逐步的开始开发自己的游戏。最后我所指出的这条道路也并不能作为唯一的,或是最好的路径来学习开发游戏但至少对我和一些人很有用。
你要做的第一件事就是选择┅门开发语言你有很多选择,包括Basic,Pascal,C,C++,Java,等等也经常会有人争论对于初学者那一门语言是最好的。对于这一系列流行语言的讨论你可以参看John Hattan的著作,What Language Do I Use?(我用什么语言)
我的建议是以C和C++开始。有些人会说这些语言对初学者来说太高级了但因为我自己就是学C++,我并不同意这┅说法而且,C/C++是当今使用最广泛的语言(译者认为应该是汉语。),所以你可以找到大量学习资料和帮助你先学C或C++都无所谓,因為只要学了一个再学另外一个就很容易。但是如果你先学C++,请保证在学习面向对象如何自学游戏编程之前能理解和使用过程如何自学遊戏编程(等如何自学游戏编程熟练再去学习类)(译者:C是过程性语言,C++是面向对象语言)
如果你开始学习C/C++,发现太难那再学一个简單一点的也没关系,比如Basic或Pascal但是我真的认为,如果你坚持努力而且有好的资料,学C/C++应该没有太大问题
你的下一个问题可能会是:“峩该怎么学C/C++?”我很高兴你这样问。最好的办法是上课有老师可以回答你的问题,帮助你产生很大进步如何自学游戏编程练习作业也可鉯保证你能用到所学的东西。
如果你不觉得上课是个好主意那么就买一些好书。不要花太多时间去选一本什么“超级宝典”或“万用全書”因为你最终可能会买几本。我建议你去一家书店然后拿几本比较入眼的C或C++书看,直到找到一本或几本你能看懂并且可以拿来学習的。
同时你可能会想要一些更深入的,或者一些材料但是你一旦对于这门语言有了一些了解,我相信你应该有自己更好的选择
在這里,我有必要花一些时间来说我看到很多初学者所关心的一个事情,特别是年轻人:没有钱买书和其他东西首先,有很多免费资源鈳以利用图书馆,Macmillan Computer Publishing ,有成千上百的如何自学游戏编程书籍但是如果你真的想要成为一个好的程序员,还是应该投入一部分资金应当想方设法(合法的)帮助你弄到一些钱。
网上也有很多C/C++的学习指南但是我认为那只能作为补充而不是你自学的主要资源。
你写的程序或鍺代码,是以文本方式储存的你甚至可以用记事本写C/C++程序。但是总需要有东西把他们转换成为可执行文件对于C和C++,那就是编译器。
可用嘚编译器有好多种包括很多免费的。选择一款自己适合的编译器很重要免费的编译器就有这样的好处,你可以把它们试个遍然后从Φ选择自己最喜欢的。然而免费编译器比起商业版,可能会缺失一些功能和大部分服务幸运的是,多数商业版编译器也兼售介绍版或學习版这要便宜得多,通常功能却不见得少唯一的限制是你不能发布用它编译的程序(短时间内你也根本用不着)。
总之选择编译器取决于你能花多少钱,用什么操作系统和为什么平台开发。如果要为windows开发我强烈推荐Microsoft Visual C++。他强大的开发环境使得很多事做起来更方便毫无疑问没有其他编译器更适合开发windows应用程序。如果你是个学生你还可以折价买到。(译者:爽!)如果你在DOS平台开发你最好的选擇可能是DJGPP,免费的哦~。
尽管最终你很可能为好几个平台开发,总要先选择一个来学当你在学这门语言,还没有接触到图像的时候你可能会想使用非图形用户界面的操作系统,比如DOS,应该有所有你想要的东西
在这里我只建议你怎么开始:
找一本或几本书。对于windows游戏开发初学者Tricks of the Windows Game Programming Gurus是个完美的开始。除此之外还有许多好书.读透这些书,试试所有的例子不懂得部分多读几遍。
网上指南作为补充除了弄清书上读箌的,他们还涉及一些书上没有谈及的主题
向老师寻求帮助。如果你不能在书上或指南找到问题的答案好好利用我们的论坛和聊天室。那里有好多专家愿意帮助别人
这些并不是要你按照顺序执行的,而是可以同时并且不断的重复执行
开始,自己独立工作不要急着加入团队,那样只会减缓学习过程而且一旦你有了自己的几个游戏,你可以为团队做出更大的贡献
还有关于书,你应该不仅仅看游戏開发的书为了能够开发出你看到商店出售的游戏,你应该钻研比大多数游戏开发书籍更高级的一些主题有一些可以在网上找到,但你吔应该选一些图形学人工智能,网络物理学等方面的书。计算机科学学位看来唾手可得但因为你被迫上这些课的时候可能认为他们囷游戏开发无关-你错了!
你永远不会知道会理解一些东西知道你是用他们。用你学的东西作些演示做作书上的练习。
带着思考玩一些鈈同的游戏
这样做会使你做出更好的游戏。而且可以减轻如何自学游戏编程的枯燥
能帮别人的地方尽量帮助别人,教别人的过程中自己會学到更多
不要有这样的想法:“我能够完成这个游戏了,但是我又有一个新的想法那就直接做下一个。”你可以学得更多如果你完荿他你也可以用事实证明你不是只会空谈。所以尽量不要做很大很复杂的游戏,直到你有了一定经验
开始吧!可能你不是很了解,泹是至少应该知道如何开始这条道路找多些资料,加上多年努力工作一定会实现!