3D的游戏

正如引言中提到的一样,本书将引导您学习开发一个高性能、完全3D的游戏所需要的技能,使得您在某一天能够开发自己的样片。在这之前,您需要询问自己:准备好成为一个游戏开发人员了吗?并询问自己以下几个问题:
● 您喜欢玩视频游戏吗?
● 您是否曾经沉迷于游戏而忘记了时间?
● 您常常在思考这些世界是如何创建的吗?
● 您是否相信自己具有能够转换为下一个伟大视频游戏的构想?
● 您对当今存在的所有相同的老游戏感到厌烦了吗?您有关于重新定义流行视频游戏的构想吗?
● 您希望我闭嘴,并马上告诉您如何编写自己的视频游戏吗?
如果您对这些问题中的一个或多个回答了“是”,则表示您非常渴望成为一名游戏开发人员。或许您已经具有某些构想,但不具备将头脑中的构想通过代码转化为实际游戏能力。本书将通过实际的游戏编程快速教会您这些技能。
1.7 游戏开发过程
所有的游戏开始时都只是一个构想。如果没有构想,能编写什么呢?如果只是随机的编码,能够希望它在未来成为一个伟大的作品吗?尽管这对抽象画家的工作可能有效,但软件开发人员不能在没有计划的情况下做任何事情。但是,只有构想,并不意味着可以开始编写代码。
我曾经看到(并且将不断看到)的最大的错误是,开发人员提前进行代码的编写。除非代码非常简单,不用动任何脑筋,那么您可以立即开始编写代码,否则在只有一个构想的情况下就开始编写代码,决不是好的做法。在没有计划的情况下开始编写代码,所带来的只是更大的工作量、更多的反复编码以及更长的开发时间。
在编写代码之前,应当开发一个设计规范。该文档应当包含关于如何设计代码、对象如何交互和对象可能具有的各种属性的特定信息。如果没有这一步就直接编码,在大多数情况下将导致解决错误的问题。即使您能够快速的解决这些问题,但是如果没有解决正确的问题,工作就是毫无意义的。结果将会花费更多的时间为真正的问题寻找解决方案。
您也应当花一些时间将构想记录到纸上(或者计算机文件中)。如果不想让您关于下一个伟大的计算机游戏的构想非常含糊,以至于设计规范无法描述需要求解哪些问题,那么您最好确保您的构想是生动的。将构想展示给朋友,让他们提问题,并确保这些问题能够在您的文档中得到回答。如果您的构想类似于“编写一个令人恐怖的第一人射手游戏”,那么说明您还没有很好地思考您的构想。玩家具有什么类型的武器?可以获得什么类型的游戏模式?支持多人游戏吗?在采取进一步的行动之前,您需要很好地思考您的构想。
如果您正在尝试为发行商开发游戏,那么也需要开发一个游戏建议。尽管将这一建议写入文档是非常重要的,但在大多数情形下,更需要一个足够好的演示片段。如果只是基于一个构想,发行商通常不会将项目交给您(除非您在游戏开发方面已经具有很大名气,如果是这样,您将不需要学习本书)。
1.8 工具
编写伟大的游戏并不只是编写好的代码。当然这并不表示代码的编写不重要,在创建这些游戏时,还需要考虑其他大量因素。所有游戏开发都需要一个好的工具集。
当今的大多数游戏(即使是严格的2D游戏)都有大量的艺术成份,这些艺术成份是采用3D模型软件包开发的。这些工具对于参与游戏开发的艺术家来说是无价的,它们使得浮现在脑海里的构想成为现实。尽管在本书中并不讨论如何创建所需要的艺术,但会提到使用的工具。当今所使用的两种非常流行的数字内容生成工具是Maya和3D Studio MAX,分别如图1-5和图1-6所示。
但是,创建艺术并不只是3D建模。即使一个模型由上百万个多边形组成,如果没有纹理的话,看上去也是很乏味的。很多工具可以用于创建纹理,例如Photoshop(如图1-7所示)和Paint(在安装Windows时附带安装了Paint,如图1-8所示)。
图1-5  使用Maya建模一个宇宙飞船
图1-6  使用3D Studio MAX建模一个妖怪
图1-7  使用Photoshop创建纹理
图1-8  使用Paint创建纹理
开发和艺术加工工具都是非常好的工具,您将在游戏开发中使用到它们。还有一些其他类型的工具也非常重要,但很多人甚至没有考虑到它们,例如一个优秀的源码控制管理工具。
假设您的游戏具有声音,那么您很可能需要用于处理声音文件的工具。可以使用Windows附带的Sound Recorder(如图1-9所示),也可以使用比较复杂的WaveStudio,它是Creative Lab的音频软件的一部分(如图1-10所示)。
图1-9  使用Sound Recorder
图1-10  使用Creative Lab的WaveStudio
利用所有这些工具为游戏创建内容,您可能需要一个能够为整个团队存储内容的工具。很可能有大量的信息需要存储,以及定期备份。最好是只备份新更改和添加的记录。大多数源码控制管理工具至少提供其中某个功能。Visual Studio 中的Visual Source Safe是一个简单的源码控制管理工具,它适用于小的团队。该工具不包含大型团队所需要的许多强大功能,例如允许多人操作一个文件和自动合并相互冲突的改变等功能,但是对于一个小团队中的小项目来说,它通常能够满足需要。还有大量其他的源码控制工具(例如Perforce),因此您需要做一个小的调查,找出哪种工具适合您和您的小组。当然,使用任何一种工具都比没有工具强。
1.9 小结
本章主要介绍了.NET的基础知识。相信您已经对.NET和托管代码有大致的了解,并且采用两种语言编写了一个简单的应用程序。您也学习了如何在集成开发环境之外编译这些应用程序。至此,已经介绍了如何开始进行游戏开发的相关基础,并且介绍了游戏的开发人员、开发过程以及游戏开发所需要的某些商业工具。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值