游戏制作入门指南
Game
Programming Beginners Guide
我经常被问及:一个具有很少甚至没有编程经验的人要如何开始游戏制作。直到目前为止,我总是尽我所能一个一个解答。然而,问题的数量已经增长到了一个难以处理的水平,于是,我便决定把所有的建议汇总在一篇文章里作为参考提供给人们。
这篇文章主要面向那些想开发自己的游戏,但仅有一点点或没有半点编程经验的人们。实际上,我也假定读者根本没有任何的编程知识。我将把重点放在游戏开发的编程和设计方面,而不是艺术方面。我也不准备对游戏行业进行论述(因为这个话题的资料太多了),但是,我会带你浏览一下在制作游戏之前需要做的一些事情。该说明的一点是,不要将我这里所介绍的方法当作唯一的或最好的学习游戏制作的路径,但对于我和其他人来说,它是有效的。
1、选择一门语言
第一件要做的事就是选择一门语言。你有一大堆的选择,包括Basic、Pascal、C、C++、Java等等,同样也有一大堆关于哪门语言最适合初学者的争论。欲了解各种语言的优缺点,请参阅《我该使用什么语言》。
我这里建议使用C和C++。有些人认为这些语言对于初学者来说太难了,但从我个人角度来说我是反对这个观点的,因为我自己就是从C++起步的。另外,C/C++是目前最广泛应用的语言,因此,你能找到大量的资料和帮助。至于先学C还是先学C++的问题不大,因为一旦你学习了其中一种,再学习另外一种就没太大问题了。不过,如果你一开始就选择C++,请确信在学习面向对象编程之前,你已经了解并掌握了面向过程编程(比如说,如果你在不使用类的前提下仍无法编好程序,先不要急于学习类)。
如果你发现学习C/C++是一件很困难的事,不要紧,回过头选一门比较简单的语言来学,比如Basic或Pascal。不过我认为,如果你坚持下去,并找一些好的资料,学习C/C++的问题不大。
你的下一个问题是:“我如何学习C/C++?”我很高兴你问这个问题。最好的方法是去听课。有没有老师帮助解答问题,对于你的发展影响巨大,而且编程作业将确保你确实掌握了所学的东西。
如果听课不在你的考虑范围内,下一个最好的办法就是找一些好书。不要把注意力放在那些“大全”书上,因为你终究会买几本。我建议你去一个本地书店,花点时间浏览一下介绍C和C++的书,直到找到你能理解并能从中学到东西的一本。同时,你可能还想买几本进阶书或是一本参考书,但一旦你具有了这门语言的部分知识,你会对你需要什么有更好主意。可以在网站BOOKS频道中找到一些建议。
在此,我简要的说明一下我见过的很多入门程序员,尤其是年轻人关心的事情:没有钱买书或其他东西。首先,有许多资源是免费的,包括图书馆和Macmillan
Computer Publishing(他们的网站 www.mcp.com
上有数百本编程的书)。其次,如果你想成为一名优秀的程序员,你不得不考虑在这上面的投资。利用各种合法的手段去弄点钞票来。
网络上有大量的C和C++的学习教程,但是我认为这些教程作为你学习书本的参考要比作为单独的材料好得多。
2、选择合适的编译器
你写的程序,或源码是以文本文件存储的,你甚至可以用记事本来写C/C++程序。但是,必须有样东西能把这些源码转化成一个可执行文件。对于C和C++来说,这样东西就是一个编译器。
现在有大量的编译器存在,其中有许多是免费的。选择一个合适的编译器是非常重要的,而免费编译器有个好处就是你能一个一个的试,看哪个你最喜欢。但是,免费编译器经常是比商业编译器功能少或缺少良好的技术支持。幸运的是,大多数商业编译器都有与完整版功能相同,但价格便宜许多的介绍版或学习版,唯一的限制是,你不能发布使用该编译器开发的程序(这点你肯定维持不久)。
基本上,你选择什么样的编译器取决于你能花多少钱、你将在什么操作系统和平台上开发程序。如果你准备为Windows作贡献,我强烈建议使用微软的Visual
C++。它具有一个功能强大的开发环境,能让你倍感轻松,再也没有其他编译器能比它更适合开发Windows软件了。如果你是名学生,你可以以极低的价格获得一份拷贝。如果你准备在DOS下开发程序,你最好使用免费的DJGPP。
3、选择一个目标平台
虽然你可能最终会为各种平台开发程序,你还是应该选择其中之一进行学习。当你学习语言的时候,在没进入图象编程之前,你大概想使用一个非GUI的操作系统,比如DOS或UNIX。这有助于你将注意力集中在语言学习上,从而避开一些高层的问题,如Windows编程。
不过,一旦你准备开始制作游戏,你就该考虑转换你的目标平台了。一下是几个常用的平台:
4、充足电
是讨论真正做游戏的时候了。虽然我所说的大部分内容适用于其他语言,为简单起见,我将假定你选择了C/C++来进行Windows编程。
首先,在你考虑如何开始做游戏之前,你应该能很好的掌握C和C++。你应该了解并精通指针、数组、结构体、函数,以及类等。做到了这一点,你就可以开始制作游戏了。
本文无法教授你关于制作游戏所该了解的一切。幸运的是,这也不是必要的。有很多关于这方面的书,网上也有数以百计的教程。GameDev.net
应该会有目前你所需要的一切。下面是我对你起步的一些建议: