人气 134

[游戏程序] [转帖]初级游戏开发指南 [复制链接]

九艺网 2017-3-10 17:00:41

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

作者:Dave Astle
译者:[email protected]
1. 作者简介
  从1984年开始,Dave Astle就做着游戏开发工作。

2. 正文
  很多刚接触开发或没什么编程经验的人经常会问:我该如何开始游戏编程。即便直到现在,我也只是帮助回答我所知道一个又一个的基本问题。然而,最近这种类似问题太多了,多的有些难以接受了,所以,我决定还是把所有建议写下来,分享给大家吧。
  本文试图帮助那些想实现自己的游戏,但又没什么编程经验的人。事实上,在这里我将假定您根本不懂编程,我主要针对游戏开发的编程与设计进行阐述,而不会涉及设计艺术。我也不大算对这个行业展开长篇赘论(毕竟到处可以找到大量的资源),但我将指出在制作你自己的游戏时需要注意的某些事情。最后,这里展示的途径不是唯一的——也不一定是最好的 ——只是指出了该怎样制作游戏的学习途径,但对我和另外一些人来说,它已经足够好了。
  选择一门语言
  首先,你应该选择一门编程语言,可能会有很多选择:Basic,Pascal,C,C++,Java等等,并且还会有许多许多争论:对于一个新手来说,到底应该(最好)使用哪种语言呢?对于若干流行语言的讨论,可以看John Hattan的精彩文章“What Language Do I Use?”。
我会建议使用C/C++,可能有人会说“对于新手来说太深奥了吧”,起码我就是从C++开始的,所以对大家也应该没有问题。另外,C/C++应用很广泛,所以你可以找到大量的资源及帮助。先学C还是C++并不关键,毕竟只要学了一门,另一门也会触类旁通。然而,如果你决定先学习C++的话,还是应该在学习面向对象编程前首先要了解并掌握面向过程的开发。(也就是说,学习使用类前,你完全可以不用它们而很好进行开发)
  如果采用C/C++的话,可能发觉深入会越发的困难,当然,重新开始再选择学习一门更为简单的语言,如Basic或者Pascal,也未尝不可,但我还是要告诉你,只要坚持下去,找到所需的资源,逐步深入,C/C++开发也会越来越得心应手。
  接着你应该会问“那我该如何学习C/C++呢?”,很高兴你会这么问。最好的办法是上一个培训班(课),有老师或助教回答你的问题,能使你迅速提高,而留下的作业也会确认你是否真的掌握了你所学的知识点。(译者注:呵呵,在国内很难碰到这么好的教师吧)
  如果上培训班对你来说不现实的话,那最好的办法就是找一些好的书籍。不要过于专注“精通”之类的书籍,否则,最后你可能会买上一大摞。我的建议是到最近的图书市场,在那里花些时间来浏览那些关于C/C++介绍(入门)的书籍,直到你确定你能读懂并能从那本书学到一些东西。然后,等你需要一些高级编程的书籍,或者是一本参考时,由于你对于这门语言有了些许了解,那时你就会知道你更需要什么。我们的“books section”中给了一些建议,地址为:http://www.gamedev.net/columns/books/
  在此,我还想费些口舌来提醒众多的编程新手,尤其是那些年轻人:没有钱买书或者干其他的事情。首先,你可以找到很多编程资源,其中包括本地库文件,还有Macmillan Computer出版物,通过http://www.mcp.com/personal可以找到成千上百的编程书籍。但是,其次,如果你真的想成为一名出色的程序员,有时脑筋不得不转个弯儿,使用任何东西(合法的;http://www.amazon.com/exec/obidos/ASIN/0672313618/gamedev)很适合你看。另外Books section也会找到其他一些书籍。通读整本书,尝试所有的范例,然后重新阅读你不能理解的部分。
  以在线指南作补充。除了阐明你所读过的知识外,他们同样包含书中没有的知识点(主题)。
  问专家。书中或指南中都找不到答案的话,那就充分利用留言板和聊天室(译者注:感觉国内的聊天室没有太好的氛围,还是找些BBS或者论坛问吧),会有很多人愿意帮你解决的。
  实际中,不应该是一个固定不变的过程,而应该是一个相似过程的不断重复。
  仅仅学习是不够的,还需要把学到的东西应用,首先开始一个简单的游戏,然后逐步发展。可以看看Geoff Howland的文章:“我是怎样开发游戏的?一条游戏开发的途径”(http://www.gamedev.net/reference/design/features/makegames)。
  起初,还是打算自己干吧,不要急于加入一个开发组,因为那只会让你的学习过程变得缓慢。一旦你自行完成了数个游戏,那对于一个开发组来说你也会起到更大的作用。
关于书籍我还是愿意多说两句:除游戏开发的书籍外,你需要阅读更多的书籍。为了能创建各式各样的游戏 — 如售货架上的那些 — 你将不得不钻研那些更高级的主题。有些你是可以在指南中找到的,但还是会需要更多的书籍:图形、人工智能、网络、物理等等。所以你需要上这些培训(课) — 虽然你觉得这些对于游戏编程没有用 — 这简直够的上一个计算机科学专业的学位。
  总结(Wrapping up)
  这里还有些重要的提示:
  不要仅仅积累知识,去应用。你绝对不会真正懂得或者理解一个事物,除非你使用它。用自己所学,实现些小的demo程序吧。可以做一下书中每章节后的练习题。
  玩大量的游戏。这样做可以给你些启发,帮你实现更好游戏,同样也给你很好的理念(a welcome relief from programming)。
  帮助他人。通过帮助他人解决问题,你也会了解这个知识点,并学会更多东西。
  完成你所开始的。不要陷入到你的思维陷阱中:“我知道我可以完成这个游戏,但我有了更好的主意,我要实现这个更好的(而不是原来的)。”如果坚持完成你所开始的,你会懂得更多东西,而且你拥有了一个事物可以证明你并不是夸夸其谈。要想实现简单些的话,就不要在更多经验前尝试实际上很大、很复杂的游戏。
  开始吧!现在你肯定陶醉于制作Quake 4中,好的,虽然不见得如此,但至少你能沿着这条路走下去,并找到更多的信息,夜以继日的辛勤工作后,必定有收获。
回复

使用道具 举报

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

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-5-12 11:32 , Processed in 0.054258 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.