《游戏开发导论》怎么想学制作游戏戏啊求高手

&&&&&&& 记得还是小时候幼儿园就开始玩游戏的吧。第一款游戏玩的是暗黑破坏神,后来是三国赵云传,再后来是暗黑破坏神2。三年级玩的是魔兽世界,四年级接触了war3(魔兽争霸3),然后到现在一直工作。我的游戏路程相比很多80后来说都比较长。
&&&&&&& 家里从幼儿园开始就有电脑了,我爸也是个游戏疯子。经常玩游戏玩到凌晨一两点。所以我的童年深受我爸的毒害,曾一度沉迷于网游不能自拔。
&&&&&&& 既然沉迷了,我的学习成绩也一样被拖了下去。。经常考不过90分。永远处于班级的中上游(一直到高中)
&&&&&&& 不过相比于很多沉迷游戏的人来说,我一直非常想自己做出一个游戏来。有这个念头的时候大概是三年级吧,那时候啊,兴冲冲的去买了一本书。好像叫做&&c语言从入门到精通&&至于为啥我会去买那本书呢。基本是这个流程。 我想要做游戏----做游戏需要啥----编程----那啥是编程----听人家说c语言就是编程----就去买了。
&&&&&&& 然后买回家,翻了两页,完全看不懂啊。于是就扔在那边了。一直到六年级才翻起来。
1.制作游戏需要学会编程吗?
2.学习编程一定需要英语、数学好吗?
3.如何学习编程呢?
4.如何选择自己的学习路线
5.什么是游戏引擎?
6.如何选择游戏引擎?
1.制作游戏需要学会编程吗?
&&& 如果你想要当一个独立开发人,可以明确地回答。是的。如果你想当一名专业的策划,也可以明确的回答,是的。如果你是一个美工,说实话美工虽然是游戏制作团队里不可或缺的人物,但是真正让游戏运转起来的依旧是程序员。(当然我指的是计算机游戏。桌游啥的就不算进去了。)
&&& 所以,事实上在游戏里,从头到尾一直参与游戏制作的人,对游戏最了解的人,一般也是程序员。(如果不服可以来打我)
&&& 所以,如果你真的想要制作一个游戏,请不要想任何理由来拒绝编程。即使你用war3的世界编辑器,sc2的银河编辑器这种东西。你依然逃脱不了编程。只是换了个形式而已。
2.学习编程一定需要英语好吗?
&&& 不,当然不。只要你认识abcdefg,懂得拼apple,iphone,god,fu*k,sh*t这些单词,会一点音标。在编程入门里,学习英语对你就根本构不成障碍。
&&& 数学也一样,在入门的时候,你只要会加减乘除,一元一次、二元一次方程。有个高中对函数的理解。绝对不会对你构成任何阻碍。小学六年级的知识就够你入门了。(当然我仅仅说的是入门)。
3.如何选择自己的学习路线?
&&&&&&& 编程语言很多,非常多,成千上万。从流行的java、c#、python、ruby,erlang到那些老不死c++、c、ada、fortan,再到那些小众的不能再小众的haskell、scheme、common lisp,再到那些猎奇的要死的 草泥马language、道语言、shen语言、禅语言等等(以上这些语言都是真实存在的)数好几天都数不完。更别说各种erp、专家系统自带的dsl,各种引擎自带的script(脚本)。
&&&&&&& 要说把这个世界上所有语言都学一遍,这几乎是不可能的。
&&&&&& &但是如果有人对你说,语言只是工具,学啥并不重要。我觉得你可以去抽他两个大嘴巴。对于老鸟可能说是的(仅仅是可能,大多数时候他们并没有认识到自己的问题),对于新手这个实际上是影响未来路线的大事。
&&&&&&& 为什么这么说呢,在《黑客与画家》(这本书是超级软文,可以看一看,但是别全信)这本书里说过,一个程序员学一种语言,他的思维模式就会非常贴合那个语言。不同语言造就的程序员是完全不同的。就像经常用c++,用c语言的少年,对内存有天生的敏感性。但是反观python、ruby程序员,他们根本不需要去考虑到内存相关的东西。导致他们很多时候在遇到语言的坑时完全不知道为什么。也并不是说学c++、学c有多厉害。其实这仅仅是c/c++这些语言的落后而已。
&&&&&&& 在此不想多评论xx语言多好多?。其实各有各的优势没啥好说的。
&&&&&&& 对于游戏开发来说,我们应该选择什么语言呢。
&&&&&&& ***很明确,c++/java。个人更加推荐c++。
&&&&&&& 原因有以下几点:
&&&&&&&&&&&&&& 1.学习c++你会更了解底层相关的知识。
&&&&&&&&&&&&&& 2.因为c++这语言的繁杂性,你以后去接触任何语言都会觉得如沐春风。
&&&&&&&&&&&&&& 3.可以在其它oo语言面前秀优越(当然遇到大神了你就完了)
&&&&&&& 其实你关注第一点就可以了。
&&&&&&& 在现有的图形标准里中,opengl是基于c的,directx是基于c++的。所以想要了解底层的话,c++是基本必须要学的(逃也逃不掉)。
&&&&&&& 另外用C/C++来实现一些算法和数据结构时,印象会更深刻一些。
&&&&&&&&那么接下来就要提到,学习游戏编程,我们的路线该怎么选择。
&&&&&&& 第一条路线:粗略的学习一下c/c++,然后投入cocos2dx、unity3d 、cryengine、ue等等的怀抱。
&&&&&&& 第二条路线:认真的学习c/c++,接着学习数据结构、常用算法、编译原理、图形接口、计算机图形学……(帕拉帕拉,一大堆)然后四五年后,你终于开始想到自己要做个游戏了。
&&&&&&& 那么下面分析
&&&&&&& 第一条路线的优势和劣势:
&&&&&& 优势:学习成本低,出产速度快。
&&&&&& 劣势:人变懒,变得很浮躁,被技术潮流淘汰
&&&&&& 典型的培训机构快速出产码农之法,可以干活,但是干不了精活。月薪3k-1w,很难超过。有上进心的人,会在中途跳入第二条路线,没有上进心的人,会一直在码农阶级徘徊,然后转行。
&&&&&& 第二条路线的优势和劣势:
&&&&&& 劣势:学习成本高
&&&&&&&优势:学成后,就像学内功一样,不会被技术潮流所淹没找不着方向,学那些花花架子也和吃饭一样简单。
&&&&&& 基本跑啥公司啥公司都要,稍微混混就是个主程,再多学学架构,出两产品。基本就在行业内吃的开了。
&&&&&& 分析了两条路线,相信大家都明白了。
&&&&&& 下面给出我的学习路线
&&&&&& c/c++& ------&& 数据结构 --------& 基础算法 ----------&编译原理(这边有点脱节)-------&做了个小脚本语言--------&&图形接口(opengl,directx)--------&计算机图形学--------&线性代数------&做了个游戏引擎---------&工作
&&&&&& 推荐入门书籍:&&C primer plua&& &&&c++ primer&& &&&算法:C语言描述&&
&&&&&&&推荐进阶书籍:&&算法导论&& &&计算机程序构造和解析&&&&&编译原理&& &&opengl红宝石&& &&计算机图形学&&& &&设计模式&&(四人帮的那本)
&&&&&& 推荐数学不好的人自虐的书籍 &&TAOCP&&
&&&&&& 推荐数学书籍&&托马斯微积分&& &&线性代数&& &&离散数学与应用&&
&&&&&& 推荐闲的时候看看的书籍:&&STL源码剖析&& &&黑客与画家&& &&人月神话&& &&游戏编程大师&& &&游戏编程精粹系列&& &&编程珠玑&& 还有好多就不打了
&&&&& 只是列出了一些比较我比较常看的书籍,还有一些我看看就不看的就不打上去了
&&&&& 那么这个问题也就回答到这里了。
&&&& ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
&&&& &&&&& 实话说呢,这东西很虚。如果你基础不好的话,你学一个引擎,过几年那个引擎又被淘汰了。你又要重学一个新引擎。这种事情很常见啊喂。
&&&&& 不过近期来看呢,unity3d是最佳的选择,次佳的是cocos2dx,再次一点的就是cocos2d、flash。
&&&&& 未来引擎呢,可能UE4会秒杀Unity3d,当然也不排除有更?的公司搞出来了个更?的东西。
&&&&& 如果现在想赚钱养家呢,unity3d是挺好的选择,易学易用。cocos2dx反而还要一些c++基础。
写这个其实只是想回答很多新手一直疑惑的问题罢了,如果能提供给看官一些帮助,那就非常荣幸了。
转载请注明出处 by Brainthread


本文已收录于以下专栏:
相关文章推荐
如何成为一个游戏制作人----第五章:使用GGE图形库来写游戏
仔细想了一下,来看博客的一般都是有自学能力的了。C++基础多少也会有一些了。
于是决定下面的章节,会教大家做一些小游戏。...
啊,好久不见。
时隔半个月我又回来了。
停更的主要原因是忙啊。经常忙到半夜12点。也没时间来写
这章有点长,主要介绍一下c++里面的类机制和多态。
1.什么是面向对象
2.C++中的面向对象
3.面向对象应该如何使用
4.C++中的多态继承
...
接着上节,然后我C语言学不会,却偶然接触到了war3的地图编辑器。然后疯狂的沉迷其中。我第一次感受到了做游戏的快乐。虽然那时候我也没完整做出过一张地图,我一直在做各种绚丽的技能(当...
如何成为一个游戏制作人----第二章:如何开始你的编程
小故事:上节说到我六年级打开了那本C语言的书,然后事实上我还是没看懂。好像看懂了一些printf语句。之后遇到了史无前例的困难----怎...
本着造福广大爱游戏的少年,为国内游戏界出一份力的心情
对于像学习游戏引擎原理的人来说,需要制定自己明确的长期目标: 
1) 首先,一开始可能对游戏引擎没什么概念,建议先使用一两个游戏引擎(我推荐C++程序员学习虚幻4游戏引擎,现在是免费开源的,非常...
一方面,从技术上来说,如今的游戏制作门槛越来越低已经成为不争的事实。Unity3D、Cocos2dx这样简单易用的引擎让很小的团队也能做出精彩的游戏。另一方面,行业内频传的诸如A团队月流水达到数百万,...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)游戏研发怎么做?给开发团队的7个游戏制作建议
  做游戏研发从来都不是一件简单的事情,尤其是对于经验不足的团队来说。最近外媒整理了一些业内资深开发者的7个意见,希望可以给从事游戏开发的团队提供一些帮助,以下是详细内容:
  1.尽早考虑本地化
  本地化通常被很多人认为是既琐碎又没有创意的单调的任务,所以很多的开发商都是在项目研发非常晚的时候才开始做本地化,并觉得这项工作的重要性较低,更有甚者,直到问题出现才去考虑本地化问题。之所以出现这种问题,是因为本地化问题的确开始做起来比较乏味,当你发现你大多数按钮和界面的核心代码都固定用英文搞定之后,本地化的问题尤为明显。
  这个时候你发现你几乎要重做所有事情,至少是浪费了很多时间,你会发现每种语言的字符空间都不同,即便是平常的信件甚至阅读指南都成了有创意的事情。随后你意识到你的游戏必须改变,有时候甚至需要大改。
  因此,不要把自己置于如此尴尬的境地,一定要提前考虑本地化的问题,最好是在你的项目开始之前,并且在游戏研发当中采取一种便捷的方式处理游戏中的文本,要让语言变换过程变得很简单,最好是能够加入所有你的游戏覆盖地区的语言。尤其是一些比较困难的语言,比如俄语、中文甚至阿拉伯语,这些语言需要你的游戏适应从左到右的顺序。
  如果这对于你来说很难做的话,那就证明你对于该市场的了解以及如何适应本身就是个问题。一定要知道的是,英语只是全球使用人口第三的语言,排在普通话和西班牙语之后。欧盟地区有24种官方语言,在美国的很多地区会说西班牙语是必需的技能。而且要知道业内的EFIGS标准(英语、法语、意大利语、德语、西班牙语),这是大多数游戏在发布的时候必须完全支持的语言。如果你要做语音支持的话,做多种语言就绝对不是琐碎的事情了。
  建议:版本同步。要留意每个版本的每种语言,如果在英文版中更改了某个按钮,你一定要知道在不同语言版本中需要改动哪个按钮。如果你的游戏文本较多,那么版本更新本身就是一项很复杂的工作。最好是为按钮加入说明,这样你的游戏翻译工作会简单很多。
  2.要把游戏操作当核心功能来考虑
  你可能此前玩过掌机比较适应手柄操作,但我更喜欢键盘和鼠标,而我看到年轻人们则更喜欢触屏控制。不管你小时候是玩什么游戏长大的,你都应该清楚,一个游戏的操控不应该成为你游戏玩法的障碍,所以不要以为所有的玩家都会按照你想象中的方式进行游戏操控,有时候他们喜欢的操控方式可能是与你相反的,因此一定要为你的玩家们设计一种能够让他们与游戏恰当互动的操控方式。
  这是很难掌握的,但对于你的游戏成功来说却是至关重要的,因此一定要在项目开始的时候就考虑和设计操控方式,这样在项目进行的过程中才可以不断的优化和调整,保持与玩家们沟通,确保你的游戏操作方式是他们希望使用的。
  在一些硬性限制方面要多加思考,比如不允许某些动作的二次操作等。考虑你的游戏主菜单用起来和看起来是否合适,做出一个看起来不错的主菜单有时候在技术上是具有挑战性的,但如果你想让你的玩家们专注于游戏的体验而不是因为只能在游戏中笨拙的移动而带来的挫败感,或者不想让玩家们只有在游戏任务需求的时候才能看到关键按钮,这时候你就需要把游戏操作当成核心玩法并且尽早调整。你要知道掌机、键盘和其他输入设备是多种多样的,而且并不是所有都随手带着英语键盘或者游戏手柄。
  如果你觉得玩游戏的时候想摔键盘或者打破屏幕的话,一定要找到其中的原因。通常有这样的感觉就意味着游戏的体验并没有达到你的操作预期。不要愚弄玩家,投入时间减少游戏所带来的挫败感,为他们提供更好的游戏体验。
  建议:让玩家们先进行尝试,最好是经常提供反馈,尤其是那些非目标用户群,要保证尽管你的游戏不是他们喜欢的类型,他们也能够与游戏进行互动。
  3.你的游戏不能没有菜单尤其是游戏内界面(HUD)
  玩家们看到游戏的第一个界面就是菜单,大多数的游戏如果没有菜单是不会存在的,游戏内界面就是你的游戏和玩家们交流的语言。然而菜单和HUD是很多项目最后才考虑的内容,尽管这些东西对于决定玩家体验是非常重要的因素。
  如果你的玩家在游戏地图中迷失了方向,那么你做再好的游戏环境又有什么意义呢?如果你的玩家得不到任何反馈或者无缘无故的死掉,那么你的游戏再怎么平衡或者战斗界面做的再怎么壮观又有什么益处呢?游戏内界面的作用是非常重要的,所以你提供的反馈或许是最重要的任务之一,你需要在初期就知道玩家们的反馈如何,所以不要一开始就错失了与玩家交流的唯一方式,尝试帮助玩家们解决问题。
  菜单看起来是没有可能进行太多创新的,但这些菜单可以在玩家们开始游戏的时候提供很多的屏幕空间,也能够让你的玩家们知道他们可以在哪里获得帮助和指引。玩家们会用很多时间看你创造的菜单界面,所以为什么不提供一种令人愉悦的菜单体验呢?
  建议:菜单等于你的美术师们可以探索的大量屏幕空间。菜单包括加载界面、甚至更大的空间,可以让你的美术师们发挥自己的创意,做好菜单和游戏内界面可以让你的团队变得更强。
  4.参加业内大会专注于自己的团队
  你可能不知道自己的游戏什么时候才算是准备好了,但你可以提前知道很多业内大会的举行日期,比如GDC、GamesCom、IndieCade等等。如果你想要参加并且通过这些活动提高游戏知名度,那么就不要在出发前一夜才去准备参展资料,因为这样你的游戏可能会失败,而且会很惨。
  对于这些活动要投入足够的重视,提前做计划并且把它当作重要的任务。尽早的把这些日期放入你的日程表里,即便一开始还不知道要做什么。提前想好自己在活动上想要为游戏如何推广并且你想要获得什么样的机会。比如&收集5张原画&、&20张游戏截图&或者&联系重要的人物并决定会面时间&等等,并且要让你的团队知道这些计划,这样所有人都会配合这样的活动。
  当这些活动真正开始的时候,你会为自己做了充分的准备而庆幸。到时候你有很多其他的事情需要做,所以在能够控制的情况下提前准备好一些事情,这样在重要的活动开始的时候,你可以减少一些内部压力。即便是对于一个参观者来说,业内活动和会让人很累,你也一样,而且很多的外部因素会造成很多问题,所以提前准备会给你的团队减少很多压力。
  即便是准备了很久但你决定最后不参加,那么在准备的过程中,你和团队为这个活动做的很多事也可以在未来很多情况下使用。我们很容易专注于游戏研发,而把市场营销看作一个很遥远的任务,觉得&游戏准备好了&再去考虑营销也不迟,而且当你在内部设定了截止日期的时候,很容易会延期。所以任何的外部因素,比如业内活动等,都可以成为推动你项目进度的因素之一。
  建议:很多的业内活动都有媒体区以及特定的市场营销资料区域。打印一些简短精彩的资料,留在这些区域内。如果可能的话最好是加入快捷的联系方式,比如二维码,这样看到的人们可以扫描之后发微博并且能够立即成为你的粉丝。
  5.可靠的计划
  对于如何研发游戏,业内有很多不同的看法,但有一点是必须的,那就是做一个可靠的计划。你可以做一个很有弹性的计划、垂直式计划或许采用SCRUM方式,这些类型需要你自己测试,确定哪一种最适合你的团队,但不论你采取哪种方式,都要有一个可靠的计划,那么什么是可靠的计划?
  一个可靠的计划指的是,在外部因素的反馈基础上不会进行巨大改动的内容,如果你一开始打算做一个单机冒险游戏,而6个月后你发现自己的团队在做一个免费FPS游戏,那就证明你的计划是不可靠的。
  所以,什么才是可靠的计划?也就是能够表达你的游戏核心并让其与众不同的简稿,你的团队需要努力完成这个计划。这就是你游戏的顶梁柱,游戏其他的元素都要为之提供支持。这个计划是可以让你的团队充满能量,并且能够在长期甚至经济不稳定的情况下依然能够坚持下去的动力。这是你的团队创意的结果,因为这些东西决定了你的游戏做什么和不做什么。
  一个可靠的计划指的是可以被你的任何团队成员都能够简单理解并且喜欢的计划,最好是团队之外的人也能赞成,比如潜在的投资者。这个计划可以让你的团队在截止日期之前对比哪些东西还没有做出来。一个可靠的计划是不断改进和变化的,因为你会在过程中发现有哪些东西没有做,但这个计划可以反映你游戏的精华部分,可以作为你游戏项目的指南,告诉你哪些是必须做的,哪些是锦上添花的东西。
  一个可靠的计划需要持续的努力。为一个项目作计划可能很多人不喜欢,但这却是个非常重要的工作,而且也可以用创意方式来完成。一个可靠的计划可以让你的团队凝聚,这是在游戏研发完成之前,你们的共同目标,就像你们乘坐的驶向游戏研发彼岸的船。
  建议:做这个计划是个持续的过程,Excel表格并不是做计划的好工具,你的可靠的计划可以让你的团队得到丰富的经验,其中的失败和成功、原因和方式都是值得学习的,所以要把这个计划做到数字化、协作化和可追踪化。
  6.发布游戏并不是终点
  你的项目完成了。团队的所有人都认为游戏已经可以准备发布了,你们可能会聚到一起并且认为是时候休息了对吗?当然是错误的。
  发布以及发布后的时间对于一个游戏来说是最为重要的,这个时候你需要随时准备解决玩家们的问题,看玩家们的反应、提高游戏支持并且准备发布更新修复BUG。要做到面面俱到,与所有玩家接触,如果在发布和发布之后你可以为他们提供及时的支持的话,你可以把最愤怒的玩家变成忠实的粉丝。
  发布之后你的游戏就是自由的了,所以要准备好不断的应对玩家反馈,这只是需要担心的问题之一。不论玩家们的反馈有多么伤人,这都是好事,因为这意味着玩家们是真的在玩你的游戏而且提出了反馈。
  所以,要对所有人持欢迎的态度,这就像是举行Party,你用了很久的时间准备,现在是时候招待宾客了。这可能对于你来说很有压力而且很紧张,但你的Party成不成功,取决于客人们的感觉不是吗?如果人们觉得无聊了,那就活跃下气氛,换首歌,问他们为什么,并且给他们提供自助餐以及饮料。
  不管你做什么,在这个时候都需要确保团队的所有人都为这个时刻做好了准备,讨论消极的反馈以及内部如何应对(不要觉得沮丧,有反馈是件好事)。不要忽视消极反馈,因为这些人是在帮你,和你交流并且告诉你他们的压力是什么,这样才可以帮助你的游戏提高。抓住每个机会去感谢提出反馈的玩家。随时做好应对问题的准备,如果你的游戏出现了问题,让你的玩家知道你们在修复问题,让他们知道你的团队重视他们投入的金钱和时间,而且让他们知道你在努力的提供自己保证过的价值。好的心愿总会得出好结果,所以要热爱你的玩家,尤其是看起来最愤怒的那些。
  建议:做好长期推出打折的准备,确定你推出折扣的时间和力度,是否考虑让你的游戏加入促销礼包,在什么时候免费发放,尤其是要确定这是否能够延长游戏的寿命。
  7.思考原因
  我想说的是,这些都是同等重要的开发建议,但我觉得最后这个建议是最重要的。
  如果你有一个团队并且在做一款游戏,考虑你们为什么要做这个游戏,就像SimonSinek说的那样,从&为什么&开始。
  这个游戏是你的最终目标吗?或者你们是否在努力创造一个公司,通过做喜欢的事情为你和你的团队创造一种持续的生存方式?如果只是为了一个游戏是没什么问题的,如果是为了公司,就要为长远考虑。你们三五年之后想要做到什么程度?从第一款游戏发布到盈利,你们需要多少资金?如果你的第一款游戏没有盈利,你的备用计划是什么?如果销售表现不好,是否团队的所有人都能够依然有凝聚力、动力?
  Sinek还说过一句让我印象深刻的话,一个团队并不是一群在一起工作的人,而是一群相互信任的伙伴。信任是一种珍贵的感觉,非常难以建立却很容易破坏。你是否希望把长期的信任作为可持续公司成立的基础呢?
手游新闻推荐
手游相关资讯
以空间视觉误差解谜的益智游戏《旋转行星》日前再次开启了一元限时促销优惠活动。
时光如白驹过隙,转眼2014年已经离我们远去,在这一年中有太多的事情值得我们去回忆、品味,但更重要的是我们要以饱满的状态去迎接2015年。
内容合作:
市场合作:
市场合作QQ:
内容合作QQ:

参考资料

 

随机推荐