游戏开发之旅

2025-04-07 01:26:00

我经常被问及“一个人如果有很少甚至根本就没有编程经验,那么应该怎样开始自己的 游戏开发之旅呢?”。

一般来说有以下步竿释商炔骤: 选择一门语言 第一件事情是你需要选择一门你将来进行编写游戏的语言。 你有许多种选择, 包括 Basic、 Pascal、 C++、 C、 Java 等等, 而且在网上关于游戏制作新手应该选择哪门语言的讨论也很多。 John Hattan 的 “ WhatLanguage Do I Use ? ”中对当前比较流行的语言的分析和讨论很有见 地。推荐选择 C 和 C++做为开始写游戏的语言。一些人可能会说这两种语言对于没有编程 经验的新手来说有点难度,我不同意这种说法,因为我就是刚开始的也是选择这两种语言。 另外C/C++在今天是两种应用范围最广的语言, 因此你才会更有可能得到更多的编程和学习 资源以及其他人的帮助。或 C++应该先学哪个不是很太重要的, C 因为当你学好了其中的一 个,学习另外一个就是水到渠成、手到擒来的事情。然而,当你选择了先学 C++的时候,在 学习面向对象编程那部分的时候,首先要确定你已经能够很好的理解和应用过程式的编程。

例如:在你不使用类的情况下不能写出很好程序的时候请不要着急着去学习类。 如果你使用 C/C++作为开始的语言, 但是学习的进程却是很困难, 回头去选择一门对于 你而言比较容易的语言,如:Basic 或 Pascal 。但是坚信如果你能够坚持学习而且能够找 到合适的学习资料,那么学好这两门语言应该是不成问题。 你的下一个问题可能就是“我该怎么学习 C/C++呢?”我很高兴你能问我这样的问题。最好的方式是去培训, 找个讲师, 能够回答你的问题, 能够使你的编程能力得到很大的提高, 以及课外编程作业将保证你能够切实的应用你所学的东西。 如果去培训不是你的选择, 那么 下一个最好的方式就是弄些比较好的书。 对买合适的书不要有太多的顾虑, 因为你最后或许 会买许多书。我建议你去书店,然后花些时间搜索介绍 C 和 C++的书,最终你将会找到一本你能够理解和能够学到东西的书的。 你还可能会要一些进阶书籍或其他的参考书, 当你对 这门语言有了一定的了解之后你将会知道哪些书是你所需要的。 你也可以去我们的书籍区得 到一些建议。 在这里想提的是曾经看到的一些对许多程序员特别是而又没有钱买书的年轻程序员有 影响的东西。 首先我们身边有很多的免费的资料, 包括你附近的图书馆以及拥有很多电子书

你如果真想成为一个牛 B 的程序员,你必须在这上面做一个投资计划。当你使用东西的时候,也就意味着你需 要掏出现金。 在网上也有许多的学习 C/C++的指南, 而且我发现指南作为你在书上学习的一 个补充而不是一个卓越的学习资料。

选择正确的编译器 你写的程序源代码往往被存储为文本文件, 你甚至是可以用记事本来写 C/C++程序。 但 是有一件事情需要做的是你需要把你的源代码转换成可执行程序。 C/C++来说需要的是编 就 译器。 有许多编译器可供选择, 也有许多是免费的。 选择一个你用的顺手的编译器是一件很重 要的事情, 而免费的编译器有一个很大的好处就是你可以按照你喜欢的方式使用该编译器的 所有功能。然而,免费的编译器与商业化的编译器相比,可能不支持全部的语言特征或者没有很好的服务支持。 幸运的是大部分的商业编译器都出了花费较少而又有完全版本全部功能 的简洁版或者学院版,仅仅是你不能分发你使用它来编译的程序。 最终编译的选择是依赖于你将在何种操作系统或平台上进行开发, 以及在操作系统或平 台上开发的时间的长短。如果你将在 Windows上面做游戏开发,我强烈的建议你使用微软 的 VC++。

VC++有强大的开发环境,可以让很多事情变得简单了许多。还没有一个编译器 显示出比 VC更适合于在 Windows 上做程序开发应用程序。如果你是一个学生你就可以打 折得到一个拷贝。如果你是在DOS 系统下做程序开发,最好的选择是 DJGPP,而且是免费 的。

择一个开发平台 即使你将会可能在不同的平台上开发, 但是你仍旧需要学习其中的一个。 当你学习这门 语言在使用包含图片的编程之前,你可能更想使用没有 GUI 界面的操作系统,如:DOS 或 UNIX。这样可以让你把经历集中在学习这门语言本身上,可以避免你陷入上层程序的泥潭 中,如:Windows 编程。当你开始准备好做游戏的时候,你就应该改变你的开发平台。

那么 让我们看看有哪些较出名的操作系统可供选择。 Windows:如果你想在游戏产业中的专家级人物或者你想能有很多人玩你的游戏,那么Windows 就是你所想要的系统。你大部分用户用的都是 Windows 操作系统,而且这部分用 户还不会在短时间内转移到其他的操作系统。在Windows 下开发的绝大部分游戏都使用了 一个你可能听说过的 DirectX 技术。DirectX 允许程序员直接操作硬件,这也就意味着你可 以写出高性能的游戏来。

DOS:DOS 曾经在游戏开发平台中占据着绝对的支配地位,只可惜那已经是过去的事 情了。尽管还有一些沉迷者仍然在做 DOS 下的游戏,但是有很少是商业化的游戏,当Windows 停止对 DOS 提供服务支持后,做 DOS 下游戏的会更少。如果你刚刚开始做游戏, 建议你不要选择DOS,而如果你已经开始做 DOS 下的游戏,建议你不要在 DOS 系统上的开发停留太长时间。提示:因为有很多关于游戏编程的书都是针对 DOS 系统的,这也就似 乎是说通过学习那些书,选择在 DOS 下开发游戏是很自然的事情。然而当关于在 Windows 下开发游戏的书籍增多的时候,这种争论将会变得越来越少。

Linux:Linux是一个 UNIX 系统的变种,将会由于它自身的稳定性、价格以及抗击微软的情感而变得逐渐流行起来。尽管相关的 Linux 用户还很少,但是环绕在它四周的激情以及 逐渐增长的市场潜力,使它成为一个可行的开发平台。Macintosh(苹果机) :尽管 Mac 系统有相当数量的忠实用户,但是几乎我遇到的每个 Mac 狂热者都要求更多的更好的游戏能够提供给 Mac 系统,由于这种需求的存在, 因此 Mac 也可能也是一个可行的选择。

游戏机:游戏机(如:Playstation , N64,Dreamcase 等等)的游戏市场还是非常大的, 在游戏机上做游戏开发也是很有前途的。 然而由于某些原因在游戏机上开发一些不用于商业 的游戏那是行不通的。 如果你准备在游戏机上做游戏开发那么你同时也得受雇于一家商业性 的游戏开发商。 在国际上的做游戏机的公司还是很多的,象微软的 Xbox360、Sony 的 PS2 、Nitendo (任天堂) GBA 等。 的 只可惜这些公司几乎都是赌徒, 喜欢短时间内把公司的大量的财力、 物力押在一款产品上,结果是事与愿违,一赔就是数以几十亿。做游戏机类的游戏是一个大 家配合的工作,包括包装、外观、机械、电子(PCb 板) 、程序、生产线等,bug 解决不了 的时候,只能是软件漏洞硬件补,处理起工作来,要打交道的人很多,有的时候做程序的还 要跑到生产线上去看看,郁闷。

放在好东西上 现在我们讨论做游戏。简单的说我将假设你已经选择了在Windows 下的 C/C++开发, 即使你选择了其他的平台和语言。 首先在你开始游戏开发的时候, 你应该对 C/C++有了较好的掌握。 你应该能够理解指针、 数组、结构体、函数可能还有类,而且能够熟练的使用它们,甚至是精通。如果你已经做到 了上面的几点,那么你可以开始游戏开发了。 这篇文章不可能教给你有关游戏开发的所有东西。 幸运的是这篇文章也没有试图这样做。 在游戏开发这个科目上有很多的书籍, 在网上还有很多的指南。 GameDev.net 上该有你所需 要的东西。下面我将给出开始游戏开发的一些建议:

弄几本好书。《Windows 游戏编程大师技巧》是一本不错在 Windows 下做游戏开发的程 序员的入门书籍。 除了这个之外我们网站的图书区还有很多其他的好书。 好好的看看这些书, 实践书中的所有的例子,不断的重复的看看那些你不能理解的部分。 在网上读一些在线的指南作为补充。 而且仔细的阐明你所读的东西, 这些东西中有很多 是你书上所没有的。 向专家请教。 如果你在书本或指南中找不到你的问题的答案, 利用我们的留言本和聊天 室。那里有许多希望可以给你帮助的人。这些应该是一个不断的并行的过程而不是一个连续的过程。 仅仅是学习还是不够的,你应该应用你所学的东西。从一个简单的游戏开始做起。可以 看看 Geoff Howland 的《我应该怎样写游戏?游戏开发的一个路径》这篇文章。 首先要做好一个人开发的思想准备。 不要急着去加入什么游戏开发团队, 因为那只能减 慢你的学习速度。

当你掌握了许多游戏的时候,你就可以开始考虑加入一个团队做大一些的 工程的开发。 关于所要看的书我再补充一下, 你不仅仅是需要看游戏编程方面的书。 尽可能的去创建 你在商店货架上所看到的游戏, 你必须要钻研到一个比一些书上提到的更深的程度。 一些东 西你可以在指南中找到,但是你仍旧需要看一些其他的书,如:在图形、人工智能、网络、物理等等。 这是从事计算机科学研究的一个便利的通道, 因为你将被要求做一些你认为不可 能在游戏编程应用中实现的东西,而事实上可以做到。

下面有一些提示: 不要仅仅是积累知识,用它。 除非你用它们, 否则你不能真正的知道和理解它们。 用你所学的东西制作一个小的 Demo。认真的去做书里面每个章节后面留的练习。 尽量玩更多的游戏。 这样做可以给你许多灵感并能帮助你把游戏做的更好一些。 这也可以给你枯燥的编程工作减轻一些痛苦。 帮助别人。 在教别人或者给别人讲解的过程中你将会更加的了解自己, 学到很多 东西。有始有终。 不要陷入“我知道我能完成这个游戏,但是我有更好的方法,因此我 要继续想想我的那个方法。”如果你能完完整整的写完一个你从一开始要做的游戏,你将会 学到非常非常多的东西, 而且你也有东西可以证明你不是一个把什么东西都停留在嘴巴上的 人。在你成为一个有经验的游戏程序员之前,请把你要做的游戏更简单更容易一些,不要贸 然的去尝试写一些比较大或者很复杂的游戏。

现在你可以开始了。 你现在应该可以考虑用你自己的方式来写 Quake 4 了。不 用太苛刻,但至少你能知道从那条路上开始,知道从哪儿可以得到更多的信息,再加上几年 的努力,一切皆有可能。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢