设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1426|回复: 12

[推荐] 【鱼和编程】结合自身,鱼和编程的那些事儿 [复制链接]

Rank: 5Rank: 5

帖子
378
精华
0
声望
1035 点
金币
154 Mold
被赞许
2 次
注册时间
2010-7-19
发表于 2010-9-22 18:01:33 |显示全部楼层
本帖最后由 傻鱼 于 2010-9-22 18:54 编辑


    经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。
    这篇文章是针对那些想要开发自己游戏,但几乎没有编程经验的人。事实上,我假设读者没有任何编程经验。我主要讨论游戏开发的程序和设计方面,而不是艺术性。我也不准备讲述如何进入游戏行业(这方面已经有足够的资料),而只是让你逐步的开始开发自己的游戏。最后,我所指出的这条道路也并不能作为唯一的,或是最好的路径来学习开发游戏,但至少对我和一些人很有用。
    选择一门语言
    你要做的第一件事就是选择一门开发语言。你有很多选择,包括Basic,Pascal,C,C++,Java,等等。也经常会有人争论对于初学者那一门语言是最好的。对于这一系列流行语言的讨论,你可以参看John Hattan的著作,What Language Do I Use?(我用什么语言?)
    我的建议是以C和C++开始。有些人会说这些语言对初学者来说太高级了,但因为我自己就是学C++,我并不同意这一说法。而且,C/C++是当今使用最广泛的语言(仅仅只计算机上的),所以你可以找到大量学习资料和帮助。你先学C或C++都无所谓,因为只要学了一个,再学另外一个就很容易。但是,如果你先学C++,请保证在学习面向对象编程之前能理解和使用过程编程(等编程熟练再去学习类)。(C是过程性语言,C++是面向对象语言)
    如果你开始学习C/C++,发现太难,那再学一个简单一点的也没关系,比如Basic或Pascal。但是我真的认为,如果你坚持努力,而且有好的资料,学C/C++应该没有太大问题。
    你的下一个问题可能会是:“我该怎么学C/C++?”我很高兴你这样问。最好的办法是上课。有老师可以回答你的问题,帮助你产生很大进步,编程练习作业也可以保证你能用到所学的东西。
    如果你不觉得上课是个好主意,那最好的办法就是买一些好书。不要花太多时间去选一本什么“超级宝典”或“万用全书”,因为你最终可能会买几本。我建议你去一家书店,然后拿几本比较入眼的C或C++书看,直到找到一本或几本你能看懂,并且可以拿来学习的。同时,你可能会想要一些更深入的,或者一些材料,但是你一旦对于这门语言有了一些了解,我相信你应该有自己更好的选择。
    在这里,我有必要花一些时间,来说我看到很多初学者所关心的一个事情,特别是年轻人:没有钱买书和其他东西。首先,有很多免费资源可以利用,图书馆,百度文库,新浪爱问,豆瓣网....有成千上百的编程资料。但是如果你真的想要成为一个好的程序员,还是应该投入一部分资金。应当想方设法(合法的)帮助你弄到一些钱。
    网上也有很多C/C++的学习指南。但是我认为那只能作为补充而不是你自学的主要资源。
    选择正确的编译器
    你写的程序,或者代码,是以文本方式储存的,你甚至可以用记事本写C/C++程序。但是总需要有东西把他们转换成为可执行文件。对于C和C++,那就是编译器。
    可用的编译器有好多种,包括很多免费的。选择一款自己适合的编译器很重要,免费的编译器就有这样的好处,你可以把它们试个遍,然后从中选择自己最喜欢的。然而,免费编译器比起商业版,可能会缺失一些功能和大部分服务。幸运的是,多数商业版编译器也兼售介绍版或学习版,这要便宜得多,通常功能却不见得少,唯一的限制是你不能发布用它编译的程序(短时间内你也根本用不着)。
    总之,选择编译器取决于你能花多少钱,用什么操作系统,和为什么平台开发。如果要为windows开发,我强烈推荐Microsoft Visual C++。他强大的开发环境使得很多事做起来更方便,毫无疑问没有其他编译器更适合开发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平台开发,可能你选择别的,但大多数我说的还是有用的。
    首先,甚至在你打算开始开发游戏之前,你必须很好掌握C和C++.你应该懂指针,数组,结构体,函数,可能还有类。如果你精通他们,就可以开始做游戏了。
    这篇文章可能不能教会你所有关于开发游戏的东西。幸运的是,也没有这个必要。这方面有很多书,网上也有很多指南。各大网站上(比如modchina)应该有所有你想要的东西,这里我建议你怎么开始:
    找一本或几本书。对于windows游戏开发初学者,Tricks of the Windows Game Programming Gurus是个完美的开始。除此之外,还有许多好书.读透这些书,试试所有的例子,不懂得部分多读几遍,在这里鱼建议用谭浩强的C书。
    网上指南作为补充。除了弄清书上读到的,他们还涉及一些书上没有谈及的主题。
    向专家寻求帮助。如果你不能在书上或指南找到问题的答案,好好利用我们的论坛和聊天室。那里有好多专家愿意帮助别人。(比如modchina,比如CSDN,中关村在线)
    这并不是要你按照顺序执行的,而是可以同时并且不断的重复执行。
    光学习还是不够的,你必须运用你所学到的。从一个小游戏开始,然后在这个基础上前进。你可以看一下Geoff Howland's 的著作: How do I Make Games? A Path to Game Development.(对于我们,可以编一些小游戏,书店里也卖很多关于游戏开发的案例教程)
    开始,自己独立工作。不要急着加入团队,那样只会减缓学习过程。而且一旦你有了自己的几个游戏,你可以为团队做出更大的贡献。
    还有关于书,你应该不仅仅看游戏开发的书。为了能够开发出你看到商店出售的游戏,你应该钻研比大多数游戏开发书籍更高级的一些主题。有一些可以在网上找到,但你也应该选一些图形学,人工智能,网络,物理学等方面的书。计算机科学学位看来唾手可得,但因为你被迫上这些课的时候可能认为他们和游戏开发无关 ----你错了!
   
游客,如果您要查看本帖隐藏内容请回复

    有一句谚语:罗马城不是一天建成的! 贵在坚持!
附赠:编程学习者的资料库
      http://www.csdn.net/                     编程者的好去处
      http://www.zol.com.cn/                  常爱去的地方
      http://wenku.baidu.com/                百度文库
      http://ishare.iask.sina.com.cn/        新浪爱问
      http://www.docin.com/                   搜索全球最大的中文文档
游客,如果您要查看本帖隐藏内容请回复
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
512
精华
0
声望
2061 点
金币
329 Mold
被赞许
0 次
注册时间
2010-8-19
发表于 2010-9-22 20:01:45 |显示全部楼层
上次考C还不知道有没有过

使用道具 举报

Rank: 3Rank: 3

帖子
195
精华
0
声望
762 点
金币
155 Mold
被赞许
0 次
注册时间
2009-7-3
发表于 2010-9-22 21:08:51 |显示全部楼层
本帖最后由 malygros 于 2010-9-22 21:14 编辑

http://www.opensc.ws/
http://bbs.51cto.com/
http://www.unpack.cn/
http://bbs.pediy.com/
http://www.cnblogs.com/del/
http://community.csdn.net/
http://cnbeta.com/
http://www.hackhound.org/
http://www.2ccc.com/
http://www.52delphi.com
http://www.cnpack.org/
http://www.delphibbs.com/
http://milw0rm.com/
http://sebug.net/
http://www.explo.it/
我常去的地方[应该说是平均两条一逛]

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
1197
精华
0
声望
3818 点
金币
602 Mold
被赞许
17 次
注册时间
2009-1-27

Modchina元老

发表于 2010-9-22 22:08:23 |显示全部楼层
读书的时候,考VB差点没过
看来自己不适合搞编程
不抛弃,不放弃。

使用道具 举报

Rank: 5Rank: 5

帖子
378
精华
0
声望
1035 点
金币
154 Mold
被赞许
2 次
注册时间
2010-7-19
发表于 2010-9-22 22:29:01 |显示全部楼层
回复 4# zhaiccc


    可以是自己的喜欢程度而定,这种东西不强求,何况我还是学文

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
743
精华
0
声望
3331 点
金币
1422 Mold
被赞许
31 次
注册时间
2009-9-3

起源天才奖 模纹达人奖

发表于 2010-9-23 13:15:24 |显示全部楼层
JAVA的前景貌似挺光明。

使用道具 举报

Rank: 2

帖子
29
精华
0
声望
125 点
金币
24 Mold
被赞许
0 次
注册时间
2010-9-23
发表于 2010-9-23 14:07:10 |显示全部楼层
多谢楼主,真知灼见啊。
Tricks of the Windows Game Programming Gurus吗?去找来看看。
这个人很懒,什么也没留下。

使用道具 举报

Rank: 1

帖子
1
精华
0
声望
95 点
金币
20 Mold
被赞许
0 次
注册时间
2010-10-25
发表于 2010-10-25 22:57:26 |显示全部楼层
谢谢楼主,这番话对初学者帮助很大。

使用道具 举报

Rank: 2

帖子
4
精华
0
声望
101 点
金币
15 Mold
被赞许
-1 次
注册时间
2011-7-12
发表于 2011-7-12 15:47:52 |显示全部楼层
呵呵                       看看          看看
已有 1 人评分被赞许 收起 理由
979078158 -1 看你鬼头,不要发无意义字眼

总评分: 被赞许 -1   查看全部评分

使用道具 举报

头像被屏蔽

禁止发言

帖子
74
精华
0
声望
48 点
金币
-28 Mold
被赞许
-4 次
注册时间
2011-8-26
发表于 2011-8-28 14:54:56 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部