该如何干
如果你试图自行制作一只游戏但又不知从何下手,那么,我所能为你提出的最好建议就是去学习,去拼命地学习一大堆东西。在你学有所获以前,先把你关于你自己的游戏的所有胡思乱想通通扔开,然后一头扎进你所想涉足的领域。
一个讨厌的现实是游戏行业推荐你必须学习 C++,最好是 Microsoft Visual C++。比较幸运的是,如果你只想为自己做游戏,那随便你怎么干,你用 Visual Basic、Delphi 都不会有什么影响。一旦你想有人花钱请你写游戏,那么最好还是遵从这一点。
编程能力是创作视频游戏的基本要点,游戏行业以光速发展的后果导致,如果你不是这方面的行家里手,你最好打消自己做游戏的念头,以免今后痛苦不堪。什么?你一点都不懂编程还是不想放弃?好吧,那么让我们来看看,你还能做些什么。对了,正如上文所说,你可以先去学习 C++,通过学习,你应该可以逐渐看懂你感兴趣的游戏例程。不过千万不要指望短短几个月的学习就能够精通编程,尽管有些诈骗犯写的书说一周就够了。还是以作者本人为例,虽然已经在游戏编程上花了十几年功夫,虽然日渐瘦弱的身躯似乎在暗示着某种进化,但依然离终极目标还差很远,看起来还有无限长的路要走。
“我应该选择什么平台?”
当然应该是 Windows 95/98,原因是它至少已经占据了个人电脑 90% 以上的份额,今后多半还会变得更多。难道用户聚集之地会不是钞票聚集之地?
“怎样学习编程?”
虽然国内有不少大学院校,但你就是找不到游戏专业。因此,你只要去买两本合适的书就行了。下面这些主题是你在选购书籍时应该考虑的。
* C++
* Windows API's
* DirectX
* Game Programming
* Math
关于 C++ 的书,最好就是集中讲解标准 C++ 的,以免分散你的学习注意力。不管今后平台怎么变,这些基础的东西都会有用。同时,熟练掌握 C++ 会对你今后调试程序大有好处。
至于 Window's API (Application Programming Interface) 的书,千万不要去看那些大谈特谈 MFC (Microsoft Foundation Classes) 的,完全不谈 MFC 的书才是你应该去找的。原因很简单,我们做游戏根本就不用 MFC。它的类又大又慢,简直就是故意同我们的游戏需求作对。
DirectX 是 Windows 95 下的一套专用 API,用来处理对图形、声音、网络以及 3D 加速硬件的访问,详情请参见拙著《Microsoft DirectX 6.0 演武传奇》。 Microsoft 为 DirectX 提供了一些源程序例子,按照 Microsoft 的惯例,它们是很难读懂弄明白的。涉及这个主题的书最好能够详细告诉你各个例子源程序的每一行代码实际上在干什么,你怎么在自己的制作中使用它们。如果发现一本书从头到尾都是在讲怎样为这本书的一个特定项目服务,比方说是为 DirectX 设计一个类,你千万不要买它!这种书只会把问题越搞越复杂,它们根本就没有解释清楚你真正应该了解的内容。
一本好的关于 Game programming 的书应该教会你各种基本要素,去指导你怎样写出一个电脑游戏,它将带你深入到那些制作视频游戏所涉及的最简单、最直接的元素。对初学者来说,看看那些涉及许多种不同类型的游戏的书可能会比只看详细谈论某一特定类型的游戏的书收获更大。
Math 绝对是制作视频游戏必不可少的东西,没有哪种数学不能应用在视频游戏上。对初学者来说,应该记住各种基本的代数方程式,熟悉三角运算和几何学等等,3D 图形学所涉及的数学知识比较复杂,在一开始先别去碰它。
你最好的打算是不要把 3D 游戏作为你的起点,它远远超出了你的承受能力。一步跨出半米,这样你肯定能做到,一步飞越大峡谷,跳远冠军都不行,请记住,你我只是普通人,不是漫画里的超人。如果你还不明白这一点,可以去思考一个事实:3D 游戏至少都会需要数百万元以上的预算。