`
luowei31
  • 浏览: 81224 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[译]游戏编程入门(by David Astle)(转载)

阅读更多
经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。
这 篇文章是针对那些想要开发自己游戏,但几乎没有编程经验的人。事实上,我假设读者没有任何编程经验。我主要讨论游戏开发的程序和设计方面,而不是艺术性。 我也不准备讲述如何进入游戏行业(这方面已经有足够的资料),而只是让你逐步的开始开发自己的游戏。最后,我所指出的这条道路也并不能作为唯一的,或是最 好的路径来学习开发游戏,但至少对我和一些人很有用。
选择一门语言
你要做的第一件事就是选择一门开发语言。你有很多选择,包括Basic,Pascal,C,C++,Java,等等。也经常会有人争论对于初学者那一门语言是最好的。对于这一系列流行语言的讨论,你可以参看JohnHattan的著作,WhatLanguageDoIUse?(我用什么语言?)
我的建议是以CC++开始。有些人会说这些语言对初学者来说太高级了,但因为我自己就是学C++,我并不同意这一说法。而且,C/C++是当今使用最广泛的语言(译者认为应该是汉语。。。),所以你可以找到大量学习资料和帮助。你先学CC++都无所谓,因为只要学了一个,再学另外一个就很容易。但是,如果你先学C++,请保证在学习面向对象编程之前能理解和使用过程编程(等编程熟练再去学习类)。(译者:C是过程性语言,C++是面向对象语言)
如果你开始学习C/C++,发现太难,那再学一个简单一点的也没关系,比如BasicPascal。但是我真的认为,如果你坚持努力,而且有好的资料,学C/C++应该没有太大问题。
你的下一个问题可能会是:我该怎么学C/C++?”我很高兴你这样问。最好的办法是上课。有老师可以回答你的问题,帮助你产生很大进步,编程练习作业也可以保证你能用到所学的东西。
如果你不觉得上课是个好主意,那最好的办法就是买一些好书。不要花太多时间去选一本什么超级宝典万用全书,因为你最终可能会买几本。我建议你去一家书店,然后拿几本比较入眼的CC++书看,直到找到一本或几本你能看懂,并且可以拿来学习的。同时,你可能会想要一些更深入的,或者一些材料,但是你一旦对于这门语言有了一些了解,我相信你应该有自己更好的选择。
在这里,我有必要花一些时间,来说我看到很多初学者所关心的一个事情,特别是年轻人:没有钱买书和其他东西。首先,有很多免费资源可以利用,图书馆,MacmillanComputerPublishing(www.mcp.com/personal),有成千上百的编程书籍。但是如果你真的想要成为一个好的程序员,还是应该投入一部分资金。应当想方设法(合法的)帮助你弄到一些钱。
网上也有很多C/C++的学习指南。但是我认为那只能作为补充而不是你自学的主要资源。
选择正确的编译器
你写的程序,或者代码,是以文本方式储存的,你甚至可以用记事本写C/C++程序。但是总需要有东西把他们转换成为可执行文件。对于CC++,那就是编译器。
可 用的编译器有好多种,包括很多免费的。选择一款自己适合的编译器很重要,免费的编译器就有这样的好处,你可以把它们试个遍,然后从中选择自己最喜欢的。然 而,免费编译器比起商业版,可能会缺失一些功能和大部分服务。幸运的是,多数商业版编译器也兼售介绍版或学习版,这要便宜得多,通常功能却不见得少,唯一 的限制是你不能发布用它编译的程序(短时间内你也根本用不着)。
总之,选择编译器取决于你能花多少钱,用什么操作系统,和为什么平台开发。如果要为windows开发,我强烈推荐MicrosoftVisualC++。他强大的开发环境使得很多事做起来更方便,毫无疑问没有其他编译器更适合开发windows应用程序。如果你是个学生,你还可以折价买到。(译者:爽!)如果你在DOS平台开发,你最好的选择可能是DJGPP,免费的哦~
选择开发平台
尽管最终你很可能为好几个平台开发,总要先选择一个来学。当你在学这门语言,还没有接触到图像的时候,你可能会想使用非图形用户界面的操作系统,比如DOS,Unix.这样可以避免接触高层,比如windows编程,让你集中精力学习语言本身。
一旦你做好开发游戏的准备,那么,应该考虑是否改变平台,让我们来看看每个选项的特征。
windows
:如果你想成为游戏行业的专家,或者如果你想让许多人来玩你开发的游戏,那么,这就是你要选择的平台。因为多数你的用户使用windows,而且现在我也看不出有什么改变的迹象。当今大多数的windows游戏都是由一种你可能听说过技术---DirectX---开发的。你可以DirextX这个库直接访问硬件,这意味着你可以开发高性能的游戏。
DOS
DOS过去是占统治地位的游戏平台,但是已经一去不复返了。尽管可能有一些特殊爱好者还在为DOS开发游戏,现在没有一个为DOS开发的商业游戏,他也将继续衰落,直到微软不再支持。如果你只是想开发游戏,还是不要选择DOS,如果你非要这么做,也不要太久。记住:由于存在大量DOS游戏开发的书,可能还有人辩护从这些书中学习DOS游戏开发。但是,windows游戏开发的书越来越多,那些辩解也变得越来越无力。
Linux:Linux
Unix的一种,由于很多原因后来变得流行,包括稳定性,价格,和反微软情绪。尽管Linux用户还是相当少,但是围绕着他的热情和不断增长的市场潜力使其也成为不错的选择。
Macintosh:MAC
有大量忠实粉丝并不能说明什么,几乎每一个和我讨论的MAC狂热者都需要更多更好的游戏。我没有见过多少MAC游戏开发资源,但我相信还是有的,因此这也是一个选择。
consoles
console(就是PS,N64,DC等等)的游戏市场十分巨大,当然console游戏开发的前景也不错。然而以非商业的形式开发console游戏,出于各种原因,在现在似乎行不通。如果你开发console,很可能是在被商业游戏开发组雇用之后。
开始进入主题
现在是时候讨论开发游戏了。简单起见,我假设你选择用C/C++windows平台开发,可能你选择别的,但大多数我说的还是有用的。
首先,甚至在你打算开始开发游戏之前,你必须很好掌握CC++.你应该懂指针,数组,结构体,函数,可能还有类。如果你精通他们,就可以开始做游戏了。
这篇文章可能不能教会你所有关于开发游戏的东西。幸运的是,也没有这个必要。这方面有很多书,网上也有很多指南。GameDev.net应该有所有你想要的东西,这里我建议你怎么开始:
找一本或几本书。对于windows游戏开发初学者,TricksoftheWindowsGameProgrammingGurus是个完美的开始。除此之外,还有许多好书.读透这些书,试试所有的例子,不懂得部分多读几遍。
网上指南作为补充。除了弄清书上读到的,他们还涉及一些书上没有谈及的主题。
向专家寻求帮助。如果你不能在书上或指南找到问题的答案,好好利用我们的论坛和聊天室。那里有好多专家愿意帮助别人。
这并不是要你按照顺序执行的,而是可以同时并且不断的重复执行。
光学习还是不够的,你必须运用你所学到的。从一个小游戏开始,然后在这个基础上前进。你可以看一下GeoffHowlands的著作:HowdoIMakeGames?APathtoGameDevelopment.
开始,自己独立工作。不要急着加入团队,那样只会减缓学习过程。而且一旦你有了自己的几个游戏,你可以为团队做出更大的贡献。
还 有关于书,你应该不仅仅看游戏开发的书。为了能够开发出你看到商店出售的游戏,你应该钻研比大多数游戏开发书籍更高级的一些主题。有一些可以在网上找到, 但你也应该选一些图形学,人工智能,网络,物理学等方面的书。计算机科学学位看来唾手可得,但因为你被迫上这些课的时候可能认为他们和游戏开发无关----你错了!
包装
这里有一些提示很有用
不要只积累知识

用它你永远不会知道会理解一些东西知道你是用他们。用你学的东西作些演示。做作书上的练习。
多玩游戏
这样做会使你做出更好的游戏。而且可以减轻编程的枯燥。
帮助别人
能帮别人的地方尽量帮助别人,教别人的过程中自己会学到更多。
有始有终
不要有这样的想法:我能够完成这个游戏了,但是我又有一个新的想法,那就直接做下一个。你可以学得更多如果你完成他,你也可以用事实证明你不是只会空谈。所以,尽量不要做很大很复杂的游戏,直到你有了一定经验。
开始吧!你现在可以开始准备QUAKE4了。可能你不是不是很了解,但是至少应该知道如何开始这条道路,找多些资料,加上多年努力工作,他一定会实现!

来源:http://bbs.gameres.com/showthread.asp?threadid=27933

分享到:
评论

相关推荐

    游戏编程入门

    游戏编程入门是一个面向初学者的主题,旨在帮助那些对游戏开发感兴趣但缺乏编程基础的人们进入这个领域。David Astle的文章提供了宝贵的建议,尤其强调了从编程语言的选择开始,然后逐步学习和实践。以下是对该主题...

    opengl游戏编程(pdf电子书+源代码)Dave Astle,KEVIN HawKins著.rar

    一本关于OPENGL游戏开发的书籍,适合多平台游戏开发。

    OpenGL游戏编程

    本书《OpenGL游戏编程》是由Dave Astle和Kevin Hawkins合著,为那些对OpenGL游戏开发感兴趣的初学者提供了一个良好的入门。 首先,书中的核心知识点包括学习OpenGL的基础知识,例如纹理贴图(Texture Mapping)和...

    OpenGL游戏设计入门-Beginning.OpenGL.Game.Programming.ebook.pdf

    OpenGL游戏设计入门-Beginning.OpenGL.Game.Programming.ebook.pdf,本书是为英文版。 作者:Astle, Dave/ Hawkins, Kevin 出版社:Course Technology Ptr 内容简介 Discusses the basics of using OpenGL to ...

    OpenGL.Game.Programming.Dave.Astle.rar_OpenGL_Visual_C++_

    Dave Astle的《OpenGL游戏编程》是一本深入浅出的教程,旨在帮助读者理解如何利用OpenGL进行游戏开发。 OpenGL,全称Open Graphics Library,是一个跨语言、跨平台的编程接口,用于渲染2D和3D图形。它提供了一系列...

    OpenGL ES3.0 编程指南 英文版

    Dave Astle表示,这本书为最新的OpenGL ES版本提供了出色的覆盖,并具有清晰、全面的解释和广泛的实例。Kristof Beets、Jed Fisher和Todd Furlong都高度推荐这本书作为OpenGL ES3.0的入门指南和参考资料。 4. ...

    Game programming tutorial (OpenGL)

    为了进一步增强读者的知识体系,作者推荐了几本参考书籍:《实时渲染》(Moller/Haines)、《OpenGL编程指南》、《3D游戏:实时渲染与软件技术》(Watt/Policarpo) 和《OpenGL游戏编程》(Astle/Hawkins),这些都是非常...

    Beginning OpenGL Game Programming

    Beginning OpenGL Game Programming pdf document by dave astle, kavin hawkins.

    OpenGL ES 3.0 Programming Guide英文版

    3. 《OpenGL ES 3.0 Programming Guide》为开发者提供了OpenGL ES 3.0规范的坚实入门,提供了大量的实用信息和示例,使得各水平的开发者能够迅速上手编程。 4. 在书中,新引入的ES 3.0功能得到了特别的阐述,这对于...

    AStyle.zip

    Astle源码及exe打包; 预定风格:--style=ansi:ANSI 风格格式和缩进 --style=kr :Kernighan&Ritchie 风格格式和缩进 --style=linux :Linux 风格格式和缩进 --style=gnu :GNU 风格格式和缩进 --style=java ...

Global site tag (gtag.js) - Google Analytics