游戏制作之入门经验
主题位置:论坛首页>>技术交流>>经验区  发布新贴 版 主:未定
楼 主
·网名:意犹未尽
·头衔:小野人
·级别:
·资历:90
·经验:10
·注册:2006-11-9
·发送短信 加为好友
主 题:游戏制作之入门经验

    我经常被问及:一个具有很少甚至没有编程经验的人要如何开始游戏制作。直到目前为止,我总是尽我
所能一个一个解答。然而,问题的数量已经增长到了一个难以处理的水平,于是,我便决定把所有的建议汇
总在一篇文章里作为参考提供给人们。
  这篇文章主要面向那些想开发自己的游戏,但仅有一点点或没有半点编程经验的人们。实际上,我也假
定读者根本没有任何的编程知识。我将把重点放在游戏开发的编程和设计方面,而不是艺术方面。我也不准
备对游戏行业进行论述(因为这个话题的资料太多了),但是,我会带你浏览一下在制作游戏之前需要做的
一些事情。该说明的一点是,不要将我这里所介绍的方法当作唯一的或最好的学习游戏制作的路径,但对于
我和其他人来说,它是有效的。
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编程。
  不过,一旦你准备开始制作游戏,你就该考虑转换你的目标平台了。一下是几个常用的平台:
Windows
如果你想在游戏行业里专职工作,或者你想让一大群人玩你的游戏,那么Windows是你的首选。你的目标客户
大多数使用Windows,且这个情况不会很快改变。目前大量的Windows游戏使用一种你大概听说过的名为DirectX
的技术。DirectX是一个允许你直接操作硬件的程序库,你可以依靠它写出高性能的游戏来。
DOS
它曾经是游戏的主要平台,但这已是昨日黄花。虽然有些爱好者仍然在为DOS开发游戏,但是已经没有商业游
戏是为DOS开发的了,而且,DOS正由于微软停止对它的支持而走向衰败。如果你刚开始做游戏,别选择DOS,
如果你已经这样做了,不要再停留了。注意:因为有很多游戏编程的书是为DOS写的,学习这些书时可能会认
为在DOS里开发游戏有理有据。但是,随着Windows游戏编程书籍数量的增长,这种争论变得越来越少,也越来
越没有意义。
Linux
它是UNIX的一个变种,由于它具有稳定、便宜、反微软情节等多个因素,它正变得越来越受欢迎。虽然目前的
Linux用户还比较少,但是随着它的热爱者和市场的潜在增长,它也成为了作为目标平台的可行选择。
Macintosh
苹果机拥有一群数量不多但非常忠诚的追随者,几乎每个我见过的苹果机爱好者都有一个强烈渴望更多苹果机
游戏的愿望。我没有看过多少在苹果机上开发游戏的资料,但我确信确实有,因此,这也是个合理的选择。
家庭游戏机
游戏机(如PlayStation、N64、Dreamcast等等)游戏市场非常巨大,前景可观。然而,由于种种原因,开发非
商业性的游戏机游戏在目前来说是不太可能的。你为游戏机开发的游戏大多都会被商业游戏公司买走。
4、充足电
  是讨论真正做游戏的时候了。虽然我所说的大部分内容适用于其他语言,为简单起见,我将假定你选择了
C/C++来进行Windows编程。
  首先,在你考虑如何开始做游戏之前,你应该能很好的掌握C和C++。你应该了解并精通指针、数组、结构
体、函数,以及类等。做到了这一点,你就可以开始制作游戏了。
  本文无法教授你关于制作游戏所该了解的一切。幸运的是,这也不是必要的。有很多关于这方面的书,网
上也有数以百计的教程。GameDev.net 应该会有目前你所需要的一切。下面是我对你起步的一些建议:
学习一本或几本书
对于 Windows 游戏的初学程序员,《Windows游戏编程大师技巧》是一本极好的Windows编程入门教程。在这个
站点里拥有许多本站 Books Section里所列出的好书。阅读这些书籍,运行所有的例程,反复研读你不理解的
章节。
使用网上教程补充书本的不足。
书本除了阐明一些你阅读的东西外,通常也会包含一些书本上没有涉及的主题。
找专家进行咨询。
如果你无法从书上或教程中找到答案,到本站的留言版或聊天室来,这里有许多乐于提供帮助的人。
  不要把上面几点当成是个有序的过程,而应当看作是一个循环往复的并行过程。仅仅是学习、思考是远远
不够的,你应当把你所学的东西付诸实践。从一个简单的游戏开始,逐步发展。你可以阅读一下 Geoff Howland
的文章《How do I Make Games? A Path to Game Development》。
  首先,为自己的工作制定一个计划。不要急于加入一个团队,因为那只会减缓你的学习进程。当你囊中拥有
数个游戏时,你将为一个团队作出更大贡献。
  关于书本,有件事我要提醒一下:你需要阅读除了游戏编程外的其他书籍。为了制作出你在商店货价里看到
的各种游戏,你将不得不钻研那些比大多数游戏编程书籍所授内容更高深的话题。有些可能你能从教程中找到,
但是,你还是有必要买几本关于图形、人工智能、网络、物理等等方面的书。这是获得计算机科学学位的必经之
路,因为你将被要求学习一些你认为与游戏编程无关的课程,而实际上它们是相关的。
5、总结
  这里有一些能产生巨大差别的技巧:
要只知道聚集知识,应用是关键,除非你使用了,否则你无法确实知道和理解这些东西。做一些小的测试程序来应
用你所学的东西,并切实完成书上每个章节后的习题。
玩大量的游戏
你会因此找到灵感,从而帮助你制作更优秀的游戏。当然,这也是一种受欢迎的解除编程压力的调剂方式。
帮助别人
在你帮助别人的过程中,你会学到更多东西。
完成你的作品
不要陷入这样一种思想的圈套中:“我知道我可以完成这个游戏,但是我有个更好的主意,我要换做这个好的项
目。”如果你能坚持有始有终,你会学到更多的东西,并且你有作品证明你不仅仅是空谈。在你具有丰富的经验
之前,做得简单一点,不要尝试制作一个又大又复杂的游戏。
  出发吧。你该动手制作Quake 4了。当然,可能不那么容易,但至少你可以从这个方向出发,并且知道去哪里
查找更多的信息。经过多年的努力工作,你会成功的。

本文地址:
还没有签名
 [删除][置顶][推荐][精华][加锁][编辑][取消]
 2006-11-9 16:59:20 
共0条回复 第1页/共0页  首页 上一页 下一页 尾页  
回 复:游戏制作之入门经验
回复内容:
上传图片:  
图片说明: