• 游戏开发学习指导

    2016-05-09 14:41:14
    ...然而因为我是在读书时自学C++的,也是游戏程序员(原问题中提到题主想从事游戏开发),觉得也许能提供一点意见供网友参考。 首先引一下2010年8月号《程序员》刊登的拙文《C++强大背后》最后

    转自:http://www.zhihujingxuan.com/18625.html

    本人大约从20多年前开始学习及使用C++,但仍未达到我认为「精通」的阶段,甚至对于C++11的各种新特性也未掌握。然而因为我是在读书时自学C++的,也是游戏程序员(原问题中提到题主想从事游戏开发),觉得也许能提供一点意见供网友参考。

    首先引一下2010年8月号《程序员》刊登的拙文《C++强大背后》最后一段:

    C++学习建议

    C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,学习C++可分为4个层次:

    由于我主要是应用C++,大约只停留于第二、三个层次。然而,C++只是软件开发的一环而已,单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C++的知识”,到达第二层左右便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识。虽然学习C++有难度,但也是相当有趣且有满足感的。

    如果题主认为的「精通」是指上述所指的第二层次,那么我估计一年全职时间也未足够「精通」。首先,阅读这些书籍本身也需要不少时间,而且对于一般人来说(指除了一些学习记忆能力超强的人),很可能需要阅读几遍才能记住一些细节。另外,阅读后必须要练习。除了入门的习题外,还需要做一些工程向的项目,才能了解各种语法、编程范式的使用方法及时机,理想地建议参与一些开源项目。然而,学习是需要不断思考并把结果沉淀,方法包括与朋友讨论、写博客、写知乎答案等,这些都需要时间。

    如引文末段所指出,我建议不要把「精通C++」作为一个一年目标,应该要把学习语言作为一个持续的过程,同时要把语言运用在具体的应用场合中。

    ---------------------------------------------------

    再讨论C++与游戏开发。

    看到有不少答案讨论到有关C++是否游戏开发者所必须的技术。我认为,这并不是完全必须的,但许多游戏开发项目需要到C++。以下列举一些过往曾流行的游戏平台/类型:

    1. PC单机游戏(Windows)
    2. PC网络游戏(Windows、Linux)
    3. 移动平台游戏(J2ME、Symbian、Palm……)
    4. 家用游戏机游戏(PS1/2/3/4、XBox、Wii……)
    5. 掌上游戏机游戏(GB、GBA、NDS、PSP……)
    6. 网页游戏(HTML、Flash)
    7. 智能移动设备游戏(iOS、Android)
    我们会发现,除了J2ME和网页游戏外,大多数的平台都支持(或只支持)原生编程。而原生编程最常用的就是C/C++和汇编。这种现象并不难解译,再次引用拙文:

    应否选择C++

    哪些程序适宜使用C++?

    C++并非万能丹,我按经验举出一些C++的适用时机。

    • C++适合构造程序中需求较稳定的部分,需求变化较大的部分可使用脚本语言;
    • 程序须尽量发挥硬件的最高性能,且性能瓶颈在于CPU和内存;
    • 程序须频繁地与操作系统或硬件沟通;
    • 程序必须使用C++框架/库,如大部分游戏引擎(如Unreal/Source)及中间件(如Havok/FMOD),虽然有些C++库提供其他语言的绑定,但通常原生的API性能最好、最新;
    • 项目中某个目标平台只提供C++编译器的支持。

    按应用领域来说,C++适用于开发服务器软件、桌面应用、游戏、实时系统、高性能计算、嵌入式系统等。

    很大程度上,游戏──或说游戏引擎,都是C++非常适合的应用时机。

    一些人认为,游戏开发者使用现成的引擎,就不需要使用C++了。过往,业界有一个普遍常识,就是用C++开发游戏引擎,而游戏引擎提供脚本引擎供编写游戏逻辑代码。但这个观点被Unreal Engine 4的决策改变,UE4放弃了维护多年且被大量使用的UnrealScript脚本语言,而改用原生C++作为游戏逻辑编程的语言。此决策背后有多个原因,但这里只想举出这例子展示C++在游戏开发中的用途及潮流,具体原因分析就不详细展开了。

    除了自行研发游戏引擎需要使用C++,我们可以看到,大部分游戏引擎都提供了其C++原代码(Unity算是例外),这让我们可以

    1. 方便调试游戏
    2. 深度剖析、优化游戏的性能
    3. 为引擎扩展新功能
    4. 修改现有引擎以适应项目所需
    在专业的游戏开发中,这些都是很常见的工作任务。所以,即使并非自研引擎,并使用脚本语言开发游戏逻辑,也有很多机会需要使用C++。

    最后,「还需学习什么」是一个很难简单回答的问题,因为游戏开发涉及的知识面很广。建议可参考本人译作。

    【毛星云的回答(248票)】:

    强烈反对 @kubisoft 功利性太强的高票答案!

    这是在把一个能成为业界top 1%的顶级游戏开发技术大师的黑马,往能傻乎乎地受你们压榨的IT民工的火坑里推,你造吗?

    这让我想起了乔帮主关于“卖糖水”的那句经典话语,而我们的版本是:

    你是愿意就这样学点皮毛混口饭吃随波逐流,还是成为真正的游戏开发业界顶尖技术大牛,推动业界的发展,去改变世界?

    关于上面这句话的两个抉择,我们来做个选择题。

    A. 如果你是想从事游戏行业当个二流的民工打打杂一辈子就这样过去,请去看@kubisoft兄有些对现实妥协之前排名第一的答案。(不带人身攻击的,只是对事不对人而已呢) 这种太依赖IDE和游戏引擎所谓速成方式,到最后只能是二流的民工,打杂的,混饭吃的。知道其然,不知道其所以然。遇到真正的专业性问题就卡壳了,比如如何优化渲染质量之类的问题。或者开发的项目就是那种2D的小儿科,或者山寨跟风赶进度赶上市的快餐游戏,而不是画质精美,设计精良,堪称经典,为国产游戏长脸,推动全球游戏业界发展的革命性大作。

    B. 如果你是志向高远,想制作出改变世界的革命性游戏,或者推动游戏产业的发展,成为游戏开发业界top 1%的技术领军人物。请熟练C++,请修炼好内功。@王选易 兄 @徐奕成 兄的答案是极好的。且正如萌萌的V大 @vczh 所言,就算你的志向是开发crysis这样的游戏,其实也只需要用到C++的一小部分就够了。C++各种范式是发明来解决所有问题的,游戏只是其中的冰山一角,你没必要精通,没必要学会C++的所有部分。我们这里所说的,是了解原理,学C++只是其中的一小部分,与其说去不断的学C++的更多高级特性,更好的学习方向是熟练利用C++配合DirectX或者OpenGL来制作Windows小游戏,对数据结构设计模式有一定的认识,且能够准确针对问题选择你的数据结构,研习计算机图形学blablabla的。

    (PS:不要轻易用“精通C++“这个狂妄的词眼,后文有一些关于这个梗的解释)

    正如我之前在自己博客里面所转载的文章《编程巨星的唯一秘诀》中说的:

    “对所做的事情的理解越深,你就会做的越好。”

    既然题主都提到要走熟练C++,以后开发游戏这最正统的技术道路了,他内心渴望的应该是志向高远,做个强者,而不是去当IT民工打杂做技术含量不高的事情。

    即我是不能同意更多 @Aaron Luo 兄的观点。

    ”题主还是学生,别用压榨it民工的想法来教导!题主可以从cocos2dx和unity3d开始学游戏开发,但是,如果想一直做编程,请别忘了必须同时修炼c++, 因为它可以给你认识到真正的编程,让你懂得更多计算机编程思想,以后就算不写c++也可以迅速了解别的语言,别的工具的~而不会变成仅仅依靠IDE工具,随便抄抄别人代码,完成山寨程序的It民工。“

    也不能同意更多 @徐奕成@Floristt兄的观点。

    @Floristt 兄在评论区说:那些不懂原理只是挑一个工具熟练掌握使用或许在当前游戏市场火热的背景下也能混得不错,但是感觉很快会遇到职业瓶颈。这对自身而言就是一种风险。如果一项技能你学三个月就能耍通常意味着可以轻易找到一个人代替你。

    @徐奕成 兄说: 你学会这些可以让你比较容易找到一个工作,但是几年之后会碰到你的职业瓶颈,要么继续学底层,要么转行。否则公司会毫不犹豫地找人来替代你。其实有一句话我很赞同:“程序员如果不学好底层,将毫无作为。C++让你走向程序员这条路,编译原理和汇编语言等让你走得更好,数学英语让你走得更远。”

    大方向的话,就如@王选易 兄所言,如果你是图形程序员,那么最好的项目就是,自己做一个游戏引擎如果你是Gameplay Programmer,那么最好的项目就是,自己做一个游戏项目。

    另外, @IMAGICE 兄在评论区说到,“还是那个问题,是选择偏向游戏(文艺方向,独立开发),还是想做好技术(引擎开发,技术研究,打工,这个可能是大部分人的归路)。”

    是时候引出游戏开发领域的两大流派了,即 @伍一峰 兄在回答中提出的气宗与剑宗。

    独立开发者和小团队因为时间和精力的限制,大多是以实现为目的,这也是情有可言,这就不难解释@kubisoft 兄所推崇的以快速实现为目的,依赖工具、引擎和不求甚解的剑宗流派有不少人的追捧。(文艺方向另谈)

    每个人切入这个行业的方法不尽相同,能选择最适合自己的入门方式就是最好。但是入门后如果想有更好和更长远的发展,必须开始崇尚气宗一派,了解内部技术细节,修炼好内功。不要流于形式,浮于表面,依赖工具,而是要深钻进去,了解得越深越透彻越好。最好是能自己了解游戏引擎的底层原理,甚至是写出自己的游戏引擎来,这样才是更高的境界(当然这只是极少部分的顶尖高手能达到的境界)。

    总之,剑宗一派适合入门,这样有趣,有成就感,能快速得到成果,但容易遇到职业瓶颈,后劲不足。气宗一派注重内功,了解原理,作为稀缺的高水平人才资源,能有更多选择的权力,有更长远的发展。而且不难理解游戏开发领域是先有了气宗才有了剑宗,且了解原理,内功深厚的气宗境界更高一筹。

    能找到自己的合适的方式就是最好。并不是否定从引擎出发入门这条便捷之路,其实我的建议,若决定走修炼技术为主的气宗一派,先学点C++,然后配合着C++学一些底层API(DirectX或OpenGL),能写一些比较炫酷的三维游戏场景,或者说自己实现一个小型的软引擎,再去真正地接触引擎,利用引擎做一点有趣的demo或者完整的游戏,阅读一些优秀开源引擎的源码(比如Ogre,irrilicht,Unreal Engine4 ,cryEngine),甚至自己实现引擎或者做游戏项目,这是重视技术的气宗流派比较科学的内功修习方式。

    我们都知道,气宗和剑宗的争执永远不会停歇,就像这个回答下的评论区,永远不是一边倒,而是气宗剑宗的支持者平分秋色,各有千秋。

    我很欣慰的是,这个答案写出来之后,一天之内就已经超过了当时排名第一的、已经在答案中被我@了无数次的kubisoft兄有些对现实妥协,倚老卖老(不带人身攻击呢,只是对事不对人)的答案。这证明大家的眼睛是雪亮的,内心还是不甘心的,还是希望做个明白人,做个强者,知其然并知其所以然,并且希望自己有能力站在更高的山峰,去完成更大的事业。

    (PS:这段貌似才算是比较理性的分析,回答一开始写的有些小愤青了,但的确是肺腑之言。)

    ----------------------------------------------------------------------------------------------------------------------------------------

    既然提到了小愤青,就另外附一点我在2013-03-25写的一篇年代久远带些小愤青的拙作中的一些观点:

    “【

    事实如此,现在市面上所有画质精美的单机游戏作品(鬼泣5,上古卷轴5,刺客信条3,仙剑奇侠传5前传,古剑奇谭等等……),所有的大型网络游戏(Dota2,英雄联盟,魔兽世界,龙之谷,剑灵等等等……),所有高性能的三维游戏引擎(虚幻3,Unity3D,Cry Engine3等等……),以及一些高性能的2D游戏引擎(Cocos2d-x等等),都是用C++来开发的。

    其实游戏引擎并没有那么神秘,说白了也就是那么回事,用类封装好功能的C++代码而已。C++写出来的游戏引擎自然能跨平台。Unreal Engine3、Unity3D、Cocos2d-x等游戏引擎就是绝好的例子。

    学好C++,你可以亲手写出Unity3D,亲手写出 Cocos2d-X,让大家都叫你大神,大家都用你写的游戏引擎做游戏,等着你什么时候心情好了更新一下给引擎加更多功能;而不是只会盲目跟风,今天大家说Unity3D火,就都去学Unity3D,明天大家说Cocos2d-x热门,就来学学Cocos2d-x。你学游戏引擎,学的只是人家某引擎作者某C++大神按心情来定的函数调用方式,学的只是如何调用一些别人写好的一些类,一些API函数。这样在别人规定给你的一些rule中固步自封,大家觉得有技术含量么?

    我们是时候该该想一想了,为什么现在全球范围内优秀的三维引擎,就是没有我们国产引擎的影子。

    所以,无论是哪个平台,Windows也好,iOS也好,Android也罢,如果你真正想在游戏开发领域有所作为,混出个名堂,请学C++,请学计算机图形学,请了解计算机图形API(OpenGL或者DirectX),而不是在跟风某种“热门”的游戏引擎的大潮中随波逐流,在某种移动平台的游戏开发中迷信某某引擎,乐不思蜀,固步自封。

    咳,扯远了,而且有些小愤青了,我并没有歧视其他编程语言的意思。浅墨只是想表达,无论是哪个平台(Windows,Play Station,Xbox,Android,iOS, WindowsPhone, WUII),在三维或者高性能游戏开发领域,确实就是C++的天下。

    】“原文在这里:

    【Visual C++】游戏开发四十九 浅墨DirectX教程十七 三维天空的实现

    ----------------------------------------------------------------------------------------------------------------------------------------

    2014-6-2更新部分。

    答评论区 @李柯 兄的一段话。关于站在巨人肩膀上的一些思考。

    首先对于这部分, 在这篇回答的评论区,@invalid s兄的文字是相当的深刻与一针见血,推荐大家读一读。

    1.我们并不是说支持完全去从头造轮子,而是你理解的越深,就可以收放自如,做个有选择权的强者。当没有合适你的轮子的时候,当遇到技术瓶颈的时候,你自己完全可以制造个更好的,前所未有的轮子,而不是懵在那边,等待你所谓的巨人们心情好后的施舍,造一个合适的轮子给你用,或者因为长久以来的太依赖工具而丧失了本来的能力。

    我大家所希望的,是能做一个真正的明白人,心中有墨水,心中有底气,然后无所畏惧,遇到什么瓶颈都不虚。

    我们站在巨人的肩膀上的同时,不仅仅是靠业界巨人们写出来的库去实现自己的东西,而是可以理解与吸收巨人们的思维、技术和实现方法。当达到一定境界后,我们可以当下一个巨人,推动业界革命。这大概就是大牛与民工,强者与弱鸡,最外在的区别与表现形式。

    太依赖所谓的巨人们的肩膀,太依赖工具,如同井底之蛙,日复一日地调用让你崇拜的大神们写出来的类库,以为只要能做到这样就天下无敌了,以为就是软件行业的全部了——这大概就是目前,我们国内软件行业的误区所在吧——依赖工具,浮于表面。

    2.能理解内部实现细节肯定是推崇的,这个看个人,或迟或早,但是越早越好。

    我写这个答案只是希望题主以及看到这个回答的朋友们能有更长远的眼界,立意更高远,能有更宽的视野,能知道更大的世界,而不是一辈子就这样炒炒现饭调用调用别人写的函数窝囊地就过去了。

    人的一生精力有限,作为一个聪明人,作为一个明白人,入门的时候什么方式越快越好,但是入门之后呢,如果希望自己有更好更大的发展,大方向千万不要错,不要过分依赖拘泥于工具,浮于表面,一定要跳出那个圈子,从井里爬出来。

    即,如果希望自己变得更强,不人云亦云随波逐流,最好的方式或许就是自己去理解细节,也并不是咬文嚼字地要自己真正花大工夫花精力去做一款引擎,这个量力而行。

    人的一生精力有限,没有哪条路哪种方法适用于所有人,但一个人只要能专注于自己认为值得事情,能自得其乐,那也是值得尊敬的。

    回答 IMAGICE兄的评论:

    3.直接用轮子,并真正做出非常赞的作品出来,那也是值得尊敬的。当今游戏引擎的发展,为我们提供了前所未有的便利,我们可以合理的利用他,但千万不能太迷信太依赖他。

    但如果已经在某个领域花了10年甚至更长的时间,还没能有所突破,那就得反省自己,是不是方法问题了,是不是方向问题了,是不是之前研习的时候,或进度太慢,还是走了很多弯路。我们都清楚,并不是每个人都能有很好的技术天赋与底子,当然也不是每个做游戏的人都要去理解和实现底层,要量力而行,要有所侧重,要找到自己最合适的角度。我们只是从长远来看提倡将知识挖深,让自己打开眼界,不做井底之蛙,不随波逐流,让自己因为站得高看得远,而有更多更广选择的权利。

    技术与创意,并不矛盾。人生在世,有所为,有所不为,游戏开发亦如此。

    ----------------------------------------------------------------------------------------------------------------------------------------

    以下算是一些关于C++的附加思考。

    【关于“精通C++”这个字眼,请不要滥用】

    引用@徐奕成 兄的一段话。

    徐兄现在大三,从初一开始学习C++,对这些有一定的了解,也有一定的发言权。但是他从来不敢说他精通了C++。因为徐兄的主管, 15岁开始学习C语言,现在学习C++已经超过20年。但是他对于技术非常的谦逊,抱着学习的心态去学习技术,也没在我们面前提过他精通C++。即使他已经是国内行业的领军人物。

    引用 @渐修竹 兄的一段话。

    “我也做了两年c++了,也不敢说精通,我们老大做了至少8年,也没敢说精通,我认识的很多大神,也都没敢说精通。事实上我认识的很多大神都很谦虚,我跟他们学到了很多,大家的简历上也都写着熟悉c++之类的字眼。”

    即对于博大精深的C++,业界的大牛们穷其一生去研习都不敢言能精通它。就算是天天去钻研C++,一年也只能学个皮毛而已。

    C++的精通细节与思考,可参看萌萌的V大 @vczh 的这篇回答:怎么样才算是精通 C++?

    至于快速入门,强烈推荐 Essential C++,其为C++业界入门必读《C++ Primer》的作者剥去繁杂,只讲C++核心的一本书。

    而后续的一些,可以参考这个豆列中的书单:学习C++语言

    ----------------------------------------------------------------------------------------------------------------------------------------

    在结束回答之前,感谢 @洪逸群兄在回答中的at,间接地邀请,让我知道有这个讨论存在:)

    总之,最后的最后,还是那个抉择:

    你是愿意就这样学点皮毛混口饭吃随波逐流,还是成为真正的游戏开发业界顶尖技术大牛,推动业界的发展,去改变世界?

    在二十几岁这段人生可塑性最强的时光里,我们应该是满怀信心,志向高远,想让自己与这个急功近利、日渐扭曲世界有所不同的吧。

    【kubisoft的回答(135票)】:

    题主本来问得很糊涂,不知道到底是问游戏开发呢,还是如何学习c++。再说一遍结论吧,游戏开发和c++的学习是两个方向,做游戏开发现在基本上不需要学习c++。以前做游戏开发不得不用c++但是现在已经越来越少,以后还会更少,所以花大力气去学c++对以后做游戏开发没有多大帮助。

    有人提到了java, 其实java又不是用来做游戏的,也从来不算脚本语言。

    在此将c++和c#、javascript之类的脚本语言做一些简单的对比吧,我的c++水平很低,遗漏之处难免,欢迎指正。

    内存管理: c++的代码容易产生隐藏的野指针等不容易发觉的内存管理问题,而且不一定会爆,调试有点困难。有人觉得这是水平不高的表现,心想,只要成对申请/释放内存就可以了嘛!其实,我以前也是这么想的,后来发现不是这样...... 实际项目会非常复杂,很多时候到底谁应该拥有这个对象、谁应该负责申请谁应该负责释放很难界定,而使用c++就必须做出这样的界定,导致有的算法必须绕弯子,写不少冗余代码专门管理内存。

    回调的时候用的闭包:这一点,用objective c就比c++方便很多了,回调的代码可以跟调用的代码紧挨在一起书写,而用c++的时候不得不在类里面另开方法,写起来很蛋疼,名字难起还在其次,参数传输完全要靠成员变量或者void*, 然后强制类型转换。这样也能写,但是可读性就差了很多,维护困难。

    unity给c#提供了协程,用起来跟线程差不多但是不用考虑加锁解锁等问题,真心方便。

    几个脚本语言大多有map, filter等等函数式编程的特性,考虑问题更加整体,代码量会小很多,也更难出错。

    --------------------------

    呵呵居然冒出一个高票长答案,吓我一跳啊。不喜欢跟别人辩论,说下去没完没了啦,只是看到“倚老卖老”之类的人身攻击的字样还是很不开心吧。这也就算了,居然我被说成“压榨IT民工”,这个真让人伤心啊。我忍住,无视。后面写的东西,还是给旁观者看的吧,希望能多帮到一些人。

    游戏不仅是技术,要发现更大的世界的话要开阔视野的话就不要沉迷于c++的技术细节啊。要做出有创意的与众不同的游戏,也是要靠快速实现游戏逻辑然后快速迭代,多跟策划沟通啊。如何快呢?就要在能够避开c++的地方尽量避开啊。

    c++还是很有用的,比如cocos2d-x目前还是很依赖c++;效率不够的地方也必须用c++来改写,以进行优化。不过以后随着硬件性能的提升,c++的应用范围会萎缩很多,只专注c++的程序员很容易被孤立的,空间会越来越小。

    ----------

    关于批评我c++水平的部分不予答复。关于后面一部分,工程越大越体现出脚本的优势,c++的代码结构太容易混乱了。

    c++更面向机器,更考虑运行效率,为了运行效率不得不牺牲可读性,大部分脚本在这方面就强得多,牺牲了运行效率换取了可读性。

    至于java, java的开发效率同样是被人骂得要死的,而且很少有人打算用java做游戏吧,哪个引擎支持?

    -------------------------以下是原答案--------------------

    泻药。

    想做游戏开发根本就不需要精通c++,根本就是南辕北辙。

    你应该挑一个引擎熟悉起来,3d就用unity,2d就用cocos2d。unity支持c#和javascript,这两门语言你可以任意学,只要能做出自己想要的游戏;cocos2d也是支持javascript和lua,能避开c++就避开,c++的运行效率高而开发效率极低,学起来很累用起来更累,你要是专心学好了c++,作为老板我还真不敢要呢,精通c++可能意味着过于重视运行效率而开发效率低,视野窄,业务沟通困难,工资要的很高很高也喜欢埋头钻研,但我要的东西就是很久出不来!

    别听他们的,我是工作十几年做游戏带项目也都超过十年的人了,c++ objective c java javascript flash c# unreal unity cocos2d ruby on rails都用过,他们自己也只是学生,答题时还是自己想象的成分居多!

    ---------------

    题主想好了是要学好c++还是学做游戏,还是要做游戏引擎。

    做游戏引擎可以参考另一个问题,手机党不方便引用了,大体上是“游戏公司开发自研引擎还有意义么?”

    以前做游戏是只能用c++的,以前基本上不管做什么都必须精通c/c++。现在不是,现在大部分领域都有更合适的语言可以选择,做起来效率更高。

    脚本不只是做gameplay,所有部分都可以用脚本去做,包括各种画面特效。特效其实大部分是美工的活,程序员去认真考虑如何集成进来,如何在合适的地方调用,而不是写代码去取代美工。粒子特效,模型,贴图,你不用脚本你用c++,除了多写不少代码、多去自己管理内存调试野指针之外又能得到什么呢?渲染,那是shader,也不是c++。那么AI,是否只能用c++了呢?当然不是,否则epic搞那个unrealscript干嘛?

    【王选易的回答(58票)】:

    本来都不想更新了,但是其他人回答的都太不靠谱了,其他人都是在说怎么当以个游戏逻辑开发人员,但是你作为一个游戏引擎开发人员,你不会C++能行吗?

    游戏开发不止有一个开发游戏这一领域的。

    为什么不认真读题!!

    -----------------Update-----------------

    先回答你的第一个问题,一年是不能精通C++的,但是能熟悉C++的,并且用C++做出一些Demo甚至一些游戏。但其实题主不是想问多长时间能学会游戏开发中的C++吧?楼主想问的是如何进入游戏开发这个圈子,所以我要反对一下 @王迅 的短答案了。

    不管怎么说,还是要欢迎你来到游戏编程的世界,游戏编程是编程中最小众的领域。你身边的同学可能有许多的人都会各种前台开发,后台开发或者ACM算法,但是做过游戏的人可以说用一个手掌就能数过来了。

    但是很巧合的是,我是个大三的学生,而且我现在做游戏开发,那么我的经验对你来说有些价值。

    然后我再尝试着回答第二个问题。游戏开发还需要学些什么?

    首先,题主要做的是学好C++,为什么这么说呢?因为不管是现在的图形引擎(如OpenGL)还是游戏制作引擎(如Cocos2d-x)都是把C++作为主力语言的。

    那么,我就先推荐几本C++的入门书籍吧:

    C++ Primer 中文版(第 5 版) (豆瓣)

    C++程序设计教程 (豆瓣)

    数据结构与算法分析 (豆瓣)

    Effective C++ (豆瓣)

    楼主可以按照顺序依次看下来,由于都是我看过的书,我可以完全保证这些书的质量!

    接下来,楼主可以去 Problems | LeetCode OJProgramming problems and Competitions :: HackerRank 这些网站刷一些算法题,毕竟光说不练肯定是不行的 =_=。

    接着,摆在题主面前的是两条不同的发展路线

    • Gameplay Programmer(游戏型程序员)
    • Graphics Programmer(图形程序员)
    Gameplay程序员适合游戏策划紧密合作的一种程序员,他们会编写游戏中的主要逻辑,为策划提供关卡编辑工具,第一时间测试并玩到最新的游戏。

    由于Gameplay主要集中于游戏逻辑的编写,在这一块,我的经验是最好从使用一个游戏引擎开始,考虑到你的C++和程序员背景,推荐你使用Cocos2d-x这个游戏引擎,下面是这个引擎的网址。

    Cocos2d-x: World’s #1 Open Source Game Development Platform

    游戏逻辑部分,你需要理解游戏中的场景管理,资源管理,状态机,AI和网络这些模块的编写。具体的操作可以查看我的这个答案:

    学Cocos2d-x,需要掌握多少C++知识?大概学多久可以做出一个游戏?

    另一种是Graphics Programmer,或者说是Engine Programmer,他们是给程序员写程序的程序员(有点绕口啊=O=)。这部分你需要学习的是OpenGL和ORGE等等

    首先,你要学习的是OpenGL,首先我们要看的当然是这个红宝书了!OpenGL编程指南(原书第7版) (豆瓣)

    然后,就是读一些OGRE的源码了,国内的许多“自研引擎”就是通过ORGE做出来的,所以,作为一个Graphics Programmer读这个引擎的源码是非常必要的

    最后呢?我们不管是当那种程序员,我们最终都是要做出项目的。

    如果你是图形程序员,那么最好的项目就是,自己做一个游戏引擎

    如果你是Gameplay Programmer,那么最好的项目j就是,自己做一个游戏项目

    比如说我最近做个一个Demo类型的游戏项目:MrNerverDie/Four · GitHub

    那么,题主你准备好加入游戏程序员的行列了吗?=w=

    【伍一峰的回答(30票)】:

    谢谢邀请:)

    楼上如 @kubisoft 和 @大饼 前辈都答得很好。

    这个问题有点像剑宗和气宗。

    游戏开发就是耍剑,耍剑耍得好看了,观众就会赏钱。

    学习气宗,虽然能让你握剑更加有力,耍上一天一夜也不喘气,还能夹带一些紫气,但对于耍剑来说,无关好不好看。精通了C++,然后呢?和游戏一点关系都没有。因为耍剑不单讲气,最重要是讲艺。

    因此,自然是剑宗更加有效更加贴切。游戏开发里面有很多field specific的知识和技能,虽相似,但和软件开发仍然不能一概而论。更别以为学好游戏开发的知识容易,其实路途同样艰难,只是难的地方不一样。

    那么游戏开发来说,剑宗和气宗是不是就一定不兼容呢?也不是。有时候,你需要一些特别的机制或者特别的效果,前人可能没有实现过,又无法从美术方面下手或者修改设计,就需要你有扎实的编程基础来实现它。像游戏引擎就是这样,想要更漂亮的画面、更好的运行效率、更方便的工作流程,才会推动引擎发展。但游戏都没做过,又怎知道现有技术不能支撑你所想所要呢?精通C++又解决了什么问题呢?

    举个例子,今年IGF学生组的最佳游戏,The Risk of Rain,我一看,那么精致的画面、出色的手感、完善的机制,绝对是不简单啊,一看开发者,竟是华盛顿大学机械专业和商学专业的两位年轻人开发的,用的还是GameMaker。

    从此我豁然开朗,游戏开发就是耍剑,耍得好看才有饭吃,哪怕你华山掌门人。

    ------------------Update 1------------------

    这个问题能引起那么多不同意见,很有意思。

    重新浏览了一遍大家的答案,主要有两种见解。

    一方是正好是我说的剑宗,主张一开始就以游戏开发相关知识为主要学习方向;

    另一方是气宗,主张一开始以计算机底层知识为主要学习方向。

    而C++则是这一题目里两方主张的矛盾的外在表现。

    正如我答案的主体部分,我个人比较偏向剑宗。

    一个原因是我没有进过AAA的大公司,以往两次实习都是在独立游戏公司,他们的氛围都是以快速实现为主要目的。

    所以我也耳濡目染,将实现视为游戏开发当中最重要的东西。

    因此我较为主张初学游戏开发的话,也以实现为目的,比方说,选一款引擎,不断地制作游戏。在这一个过程当中,我们会不断地接触到新的知识:

    一开始,我们在Update里面写代码,我们接触到了Game Loop,

    我们创建角色图像,接触到Sprite的概念,

    我们想用键盘控制角色移动,我们接触到了Input System,

    我们想让角色跳跃,接触到了Physics Engine的概念,等等等等...

    现在我们对Game Loop有了了解,对Physics Engine有了了解,知道它们在游戏中的作用,那么对我们学习这些领域,是有莫大好处的。

    正如最近关于很火的“设计模式”问答,现在的观点主要是“你得遇到问题了,才真正懂得某一个模式的好处”。我觉得关于游戏开发的学习,也是这样的。

    当然,我不会说哪位在座哪位老师的意见是错的,因为游戏开发本身就是一个新生学科,甚至连学科也称不上,自然没有对的和错的路。

    【徐奕成的回答(22票)】:

    我觉得可以过来再更新一次了。

    /*****************************************以下内容可以跳过*****************************************/

    我说一下我做游戏的历程吧,二年级的时候(我出生于1991.11)我开始接触电脑,当时对电脑的画图工具很痴迷,为什么画图工具能够做出这么好看的东西。所以我对这些所见即所得的东西非常着迷,因为我觉得很容易就开发出来一个东西炫耀。

    后来四年级时候,我的父母有接触一个游戏叫《传奇》,我在他们没在家的时候偷偷创建了一个帐号,体验了十五分钟(没错小学生就是我),觉得游戏真的很吸引人,我是父母在我从小禁止玩游戏的,所以我没有接触过任何游戏,包括红白机,这应该也是很多人的童年。在那时候,我的梦想就是未来能够做游戏设计师,做一个全世界的人都喜欢的游戏。

    慢慢CCTV某一个频道有一个栏目是一个教授开始了解有一样东西叫做powerpoint 2000.我开始拉一些图片进来,做了一个小游戏,你没看错,是ppt做了一个小游戏,是类似大逃杀的游戏。点一下进一个地点,有了最原始的交互。

    从初一的时候,我知道了有一个东西叫做VB,我也尝试用VB写程序。同时开始学习一个编程语言叫C,那时候我果断抛弃了C,因为VB真的很容易做出一个窗口,然后写一个helloworld拿出去炫耀。

    兴趣是最好的老师,我爸妈说学好这些东西就可以做游戏了。我就开始认认真真学C语言,当时效率也很高,我现在一直觉得我在吃老本。。学C的基本概念,用控制台做一个打飞机游戏,做一个RPG游戏,类似于colossal_cave_adventure

    再到了高中,开始用VC++6来开发一些win32小游戏,我觉得把游戏做好是一种使命,那时候也知道了国内著名的工作室:西山居1995 完美时空 2004 琳琅天上2004.

    我的心愿就是加入他们,成为真正的游戏开发者。

    后来到大学,我学计算机图形学,数据结构,自学编译原理,汇编语言。才发现原本单纯的梦想发现是不可实现的,我不可能做出每个人都喜欢的游戏,就开始学习游戏引擎制作。如果你希望能够从事引擎开发,我推荐叶劲峰 @Milo Yip 大神的《游戏引擎架构》一书。

    直到现在,我如愿以偿,成为了居士,开发游戏引擎。这不是一年两年能决定的,如果你要做程序,真的要多积累了。

    /*****************************************以下内容可以跳过*****************************************/

    从始至终,我是抱着一种使命来学习,来努力,来做游戏的。当时面试的时候,面试官问我,你为什么要做游戏,我说:“我一生就为了做游戏,生活能够过得去就行。”我现在也觉得,我如果不做游戏,我还能做什么(我现在很局限了,眼界很窄)。

    我最近学校的课程是要用Objective-C开发游戏,我从来没有学过oc语言,但是我并不觉得他特别的难,相反,我觉得他很容易上手开发iOS应用,因为有C++的积累,我可能不知道具体的语法或者用法还有API,但是我可以通过C++来融会贯通。

    C++是一种潜移默化的东西,当你了解他之后,你学什么都会容易,觉得简单。

    所以,C++是重中之重!!!

    吐槽完毕。。只有20个赞,第一次这么认真回答的说。 T_T

    /*****************************************这是之前的回答*****************************************/

    我不请自来了,因为我发现在这里面回答的人都在回答:“我想做游戏开发,难吗?”,而不是回答“我想从事游戏开发,一年内能精通C++吗?”。无视题主的提问,实在忍不住。

    对于题主的提问,我比较赞同 @王选易 的答案 ,也许大家都是技术人员并且也在大学中学习游戏开发。

    首先我回答题主的问题,作为大二即将升大三的学生,由于你大一大二忙于社团活动。以致于你可能错过了大学中打基础的黄金时期,大三的一个学年里面,除去你的课程时间,能够继续深入学习C++的时间也许并不多。所以,一年内你说可以精通C++,我觉得不可能。

    我现在大三,从初一开始学习C++,对这些有一定的了解,也有一定的发言权。但是我从来不敢说我精通了C++。因为我的主管,他是15岁开始学习C语言,现在学习C++已经超过20年。但是他对于技术非常的谦逊,抱着学习的心态去学习技术,也没在我们面前提过他精通C++。即使他已经是国内行业的领军人物。

    说一下精通C++这个吧,其实精通这个词真的很大争议,至少在许多的社区都有人对这两个字吵的不亦乐乎,那么我来和你说一下熟悉的概念吧:

    我觉得熟悉C++,至少要能够做到这些:

    1、你完整阅读过C++ Primer 第五版之后的书,这本书可谓是C++程序员入门必读的书。(为什么我推荐第五版之后,因为第五版之后包涵的内容是C++11标准的内容,你现在重拾编程语言,那么推荐你看新的书)

    2、你能够对面向对象编程有明确的概念。因为现在许多程序员用着面向对象语言,却做着面向过程的事情。

    3、能够利用C++配合DirectX或者OpenGL来制作Windows小游戏。

    4、对数据结构有一定的认识,能够准确针对问题选择你的数据结构。

    5、其他内容一下子没想到这么多,等以后更新。

    至于精通,精通C++不仅仅是C++的语法,还有编译的原理,那么又涉及到编译原理,还有计算机的组成原理。调试的时候,当你用release的调试,你又需要汇编语言的知识,又涉及到汇编语言。再后来你需要设计比较大型的程序,你要对数据结构,和设计模式有一定的认识。

    再回答下一个问题:你希望从事游戏开发工作,做游戏其实不仅仅是看着最近火热,而是你要从一开始就对有游戏有接近疯狂的热爱,把做好一款游戏当做你的使命,你才有动力继续学习。因为程序学习起来非常枯燥。

    至于你最后的问题:

    你需要学习其他什么,我觉得其实你需要做游戏,不一定是C++,你可以选择另一个语言比如Objective-C开发iOS的游戏,或者学习C#,可以开发wp8或者xBox的游戏。

    如果你单纯是做游戏,语言并不是问题,问题是你对其他知识的了解程度和对游戏行业的热爱,为了工作而工作可能并不会让你充满满足感与激情。

    其他的知识:

    计算机图形学

    数据结构

    编译原理

    汇编语言

    英语

    数学

    至于苦逼软件的作者的回答,我反对,并且我认为这不是合适的答案。

    不是所有的人会为你“工作十几年游戏项目超过十年而买单。”

    ---------------------以下逐个写下来得罪人---------------------

    “想做游戏开发根本不需要精通C++,根本就是南辕北辙。”

    》游戏开发不需要精通C++,甚至说不需要会C++,但是你至少要熟悉任何一门开发语言,并且充分了解数据结构。这根本不是南辕北辙,而是取向问题。

    “挑一个引擎熟悉起来”

    》这是我看到最不负责任的回答,这位同学问的是未来的路,现在让一个学生直接选一个引擎,没有错,这样可以让他更容易找到小公司,但是会使用,不懂一个引擎的原理,在日新月异的今天,公司换了一个引擎,要重新去学习,如果掌握最基础的东西,那么无论任何引擎,都可以迅速上手。

    “游戏开发就是耍剑,耍得好看才有饭吃”

    》游戏开发实质就是程序员不仅要练剑,也要练气。

    ps:以上纯属个人观点。

    【vczh的回答(17票)】:

    @kubisoft 说得对,想做游戏开发根本就不需要精通c++,根本就是南辕北辙。不过理由我跟他不一样。就算你的志向是开发crysis这样的游戏,其实也只需要用到C++的一小部分就够了。C++各种范式是发明来解决所有问题的,游戏只是其中的冰山一角,你没必要精通,没必要学会C++的所有部分。

    怎么样才算是精通 C++?

    可以参考我的这个回答

    【知乎用户的回答(11票)】:

    /* update */

    俨然成了站队帖了。

    一句话,想做独立游戏,请看顶楼几位;想以游戏开发作为一份职业,请看我的和 @王选易的答案。

    ps,题主问的是怎么学C++,那么多人在那空树个靶子乱打是几个意思?

    ////////////////////////////////////////////////////

    /* update*/

    被点了好多反对+没有帮助么o(╯□╰)o

    之前手机上的,回答了题主第一个问题,现在试着回答下第二个问题。建议题主修改下问题,把精通改成掌握,免得问题被偏向题主不愿看到的方向,「精通C++」一直都是一个很无聊的槽点,吐槽的人和被吐槽的人都很无聊。

    翻译一下,可能这样问比较合适:

    如何用一年的时间在C++天赋上加点?

    如果说阅读一遍《C++ Primer》是根节点的话,接下来的天赋点只有这样两种类型:

    1. 继续阅读C++相关书籍

    整明白《C++ Primer》,对C++有一个感性的认识之后,你可以去看侯捷翻译/写的几本书比如Effective系列、《STL源码剖析》,甚至对于没什么人用的MFC,你也可以看下《MFC九(shen)浅(ru)一(qian)深(chu)》,看下上个世纪的业界的C++程序员都是怎么样来用C++这门语言的。然后,可以看看《Inside C++ Object Model》,深入理解下C++。然后,对C++已经有了一个理性的认识之后,就可以再拿回来《C++ Primer》,顺便再翻翻《Thinking In C++》,查查C++标准什么的,仔细琢磨琢磨自己究竟能用C++干什么。至于模板元、FP什么的,题主看完这些书自然会知道自己有没有兴趣接触的。

    2. 做项目

    题主说想从事游戏开发等工作,那我就大胆揣测一下,题主并不是想做一名独立开发者,而是打算以死程作为职业生涯的第一份职业。

    这样,做项目的话就需要多一点针对性。想要有快速产出结果的项目,你可以先用D3D写个小玩具,随便复刻一下你记忆中的FC游戏即可。想要接触OOP,那就找几个小伙伴,想办法参加个软件比赛,做个代码量至少上万的项目,语言不仅限于C++。这样你才能不会觉得书上那些OOP啊泛型啊都是扯的有的没的。做项目的时候写代码写累了,翻翻《设计模式》之类的书。没错,我没把读《设计模式》算作「阅读C++相关书籍」。

    ////////////////////////////////////////////////////

    不能精通。

    【Aaronluo的回答(8票)】:

    反对目前第一@Kubisoft的说法,题主还是学生,别用压榨it民工的想法来教导!题主可以从cocos2dx和unity3d开始学游戏开发,但是,如果想一直做编程,请别忘了必须同时修炼c++, 因为它可以给你认识到真正的编程,让你懂得更多计算机编程思想,以后就算不写c++也可以迅速了解别的语言,别的工具的~而不会变成仅仅依靠IDE工具,随便抄抄别人代码,完成山寨程序的It民工

    【WuJohnny的回答(6票)】:

    我觉得学习c语言会更合适一些。可以避开c++的语法陷阱,又能够快速地书写程序了解指针,内存管理,io以及字符串的操作真谛。

    通过6个月左右的c语言学习后,可以考虑学习一些面向对象的语言和lisp语系的语言,例如python和lua。这大概需要3个月左右的时间。这期间可以阅读一些优秀的代码,我推荐学习的源码有两个,一个是lua的源码,一个是vim的源码。这两者都能提高你对计算机底层系统对内存管理,以及字符串处理的理解。并且对函数指针有一个深刻的认识。

    最后3个月可以试试采用c和lua结合的方式去实现一个简单功能的程序。

    恭喜你,毕业了!你也许还不懂图形渲染,不那么理解gpu,不懂得网络通讯,多线程,操作系统和其他计算机科学知识。只是初略对cpu,内存和文件存储有所了解,但这已经不妨碍你成为一名合格的程序员甚至游戏程序员。由于你的选择,你避开了c++学习过程中的诸多陷阱,直接用一门简单的系统级语言c快速地理解了计算机程序的真谛。这比你学会使用c++更重要,也为你今后的发展铺下了坚实的基础。

    【JinHan的回答(2票)】:

    1年肯定无法“精通”,但是如果认真学能让你基本了解这玩意是个怎么回事,而且最关键的,能够帮助你进入游戏的行业。

    上面各种大神的回答,居然milo大神都炸出来了,虽然都很有道理但是我觉得答案依然因人而异。

    这个东西没有什么答案,而更加取决于你想做什么。

    你想成为一个程序员,还是更想成为一个游戏开发者,游戏设计师或者,或是只是喜欢游戏而想呆在游戏的圈子里。。。

    游戏是一个很大的产业,每个环节都是可以做到最大最强从而改变世界的,而且每个环节都是密不可分没有什么孰优孰劣的。

    上面不少回答角度是从资深程序员的角度来说的,但我个人认为开发一个好的游戏编程技术的重要性其实并不是最最重要的。美工,设定,故事背景,营销和项目管理方面都是非常重要的环节,相比之下程序的重要性有的时候并没有想象的那么重要。 这也是为什么很多人认为不懂编程也能做游戏的原因。有的游戏比如卡牌游戏,甚至不需要任何程序。

    并且另一方面,对于玩家来说,他们只知道这个游戏是不是好玩,爱不爱玩,对于用的什么引擎,

    你c++写的多厉害根本都是没有直接影响的。比如说minecraft这样的游戏也没有用到高大上的引擎,dota这样风靡世界的游戏当初也是用的魔兽争霸编辑器那个自带的脚本编辑器完成的。

    另外涉及到游戏引擎的方面,也并不是如某些人所说,直接用别人的引擎的人就没有任何技术含量的。

    第一,为自己的游戏开发专用的游戏引擎其实也并没有那么困难,只是涉及到的知识和需要的编程技术基础比较高,而且通常没有绝对的必要性,所以做的人不多,就好像你想盖房子会自己去造吊车吗。所以以上说国内游戏开发不好是因为没有好的吊车其实是不对的。

    第二,往往大家把游戏引擎和好的游戏画面联系在一起,但其实好的游戏画面并不由引擎决定,就好像photoshop是一个创建图片的工具,但是有的人能用ps创造出惊人的作品,而有的人只能胡乱的涂鸦,同样的工具而最后产生的效果也可能是完全不同的。现在无论什么游戏引擎大部分都是基于当前已有的dx或者opengl图形渲染技术,就算某个引擎能够同时渲染更多的多边形,也不能代表其画面效果好,因为这些其实是取决于使用引擎的艺术家和技术美工的。当然如果一个游戏引擎的编辑工具非常的aritst friendly,对于画面的提升帮助是很大的。(于是问题便从开发游戏引擎变成了开发游戏引擎编辑工具)

    第三,如何巧妙的利用游戏引擎也是一个非常有技术的事情,比如dota用的魔兽地图编辑器,弱到连让一个单位眩晕固定的秒数的功能都没有,所有的眩晕都是要靠创建一个隐藏的单位向敌人丢出一个隐藏的风暴之锤来实现的,即便如此,别人还是做出了一个非常成功的游戏。这样巧妙的利用一个引擎的各种功能,从而达到自己的设计目的,也是非常有技术含量的一件事情。在我眼里他们这些游戏程序员的工作并没有这些引擎程序员的工作低级,歧视他们的技术含量是可笑的。

    另一方面,技术大部分的时候是因为需求而生的,比如我的游戏需要一个特殊的效果从而能够过表现某种艺术效果,但目前的市面上的引擎没有这样的功能(比如我想要我的游戏里任何东西都和果冻一样,并且有物理的效果), 那么这个时候熟练C++编程能力就变得非常的重要,因为涉及到修改原引擎功能的二次开发往往是使用c++的,并且对于各种优化的要求相当的高。(当然如果做不到,那么巧妙的修改设计方案避开这是永远存在的解决的办法,当然结果也是这将使得游戏变得平庸)

    但是总的来说,花一年时间尽可能深入的学习c++是十分必要的,即使你今后不使用c++作为自己的编程工具。因为c++是目前大部分编程语言的基础,了解这些细节对于今后快速掌握另一种语言也是非常有益的,我c++水平不是大神,但我也能做到在从来没有看过任何java/c#的书籍的情况下看懂大段的java/C#代码并且自己写出一些常用的功能。

    如果真的想从事游戏行业,在学习c++之外更重要的是,你需要尽早开始着手做一个你想做的游戏,无论多差先做出原形来,无论用什么样的办法多落后的技术,在中间你还会学到无数编程之外的东西。编程这个东西,一旦编程技术达到一定的水平,剩下的在编程语言之外的思想才是更重要的,就好像有的人写作的词汇特别的美,语法特别的对,但是内容空洞无力的话也是没有任何价值的。

    【赵丙峰的回答(2票)】:

    如果“精通”的含义是了解C++所有的方方面面,甚至编译器实现细节。那么肯定不会有这样人的。并不是你不能成为这样的人,而是完全没有必要。这个意义上讲,我从来不推荐阅读《深入C++对象模型》这样的书。这并不能使你建立真正的面向对象的概念,反而容易误导你这样才是实现面向对象概念的唯一方法(可能是最有效的一种而已)。

    如果把“精通”定义为可以熟练地使用C++来构造具有扩展性的框架或者应用,满足时间和容量上的要求。上面回答问题的有不少人应该可以达到。

    在如果把“精通”定义为使用基本的C++构造来克服程序实现中的种种必然或者偶然的复杂性,那么精通C++所需要理解的知识点并不是很多。最基本的,准确理解RAII概念并且可以有效使用之以及理解基于异常的错误管理是成为一个合格C++程序员的必要条件。楼上流出的几乎所有的书都会涉及这两个概念,但是深入介绍并且融会贯通的没有。当Google的的C++规范还没当作圣经膜拜的时候,可以理解大多数的C++程序员并不合格。

    并不是这些程序员不够努力。C++程序员是最努力的程序员之一,因为C++的书太多了。C++的面也太广了。这样导致的一个后果就是大量的时间被浪费了,同时形成了一个无法精通C++的“神话”。

    除非你是语言律师,你无需“精通”C++;

    除非你的编译器的实现者,你无需“精通”C++;

    除非你是编译器的测试者,你无需“精通”C++;

    除非你是语言规范的修订这,你无需“精通”C++;

    计算机世界最强大的武器就是抽象。你要精通的是使用C++的构造来模拟并且建立抽象。这里面涉及的更多是接口设计问题。

    涉及到接口,不能不提到类型。我们都知道C++是静态强类型的语言。但是这个强类型是不完全的。你能知道C++标准库里的很多代码都是为了修正这个不完全的强类型系统的辅助代码吗?C++的面向对象中有一个概念叫做多态。据说是在运行时决定以指针或者引用调用的函数具体是那个,但是你知道所有这些都在编译时就决定了吗?理解类型系统,并且熟悉其功用是进一步的要求。有了这个基础,算法和容器分离的STL设计是自然而然的结果。

    可组合性是组件的更高要求。这个深入了,你得到的是类似Monad的东西。C++的未来就是这个方向,因为这使得C++代码可以极好地横向扩展。

    能依次掌握,理解,并且运用上述概念,并且能把这些概念映射到C++之中,虽然不能说是精通C++,也可以说是稀缺的C++程序员。

    这样的程序员,有多少,要多少!

    【HuayongXu的回答(1票)】:

    首先说,不能,精通一门语言要由内而外,你必须知道你写的代码到底在机器中是怎样去运行的,在内存中是怎样的状态,生命周期怎么样,这样你写出来的代码才是高效可用的,而不仅仅是能跑通没bug。会用一门语言写代码仅仅是初级阶段,而精通是需要对代码架构和问题长期的积累,不可能简单的一年。

    另外,你的目标应该在游戏开发上,这个不知道和你必须精通c++有什么关系。现在的大公司开发游戏,一般都有专门的游戏引擎,甚至有专门的游戏开发语言,你精通c++也可能只是游戏开发的基础,游戏中最难的应该是游戏的设计。

    【shuangyang的回答(1票)】:

    我也是软件工程毕业的,我觉得,课本里的真重要,特别是操作系统和计算机原理,数据结构和算法,这几门课被选做考研项可不是白选的,基础不好,做什么都白搭,肺腑之言。其他要用什么,对应的看看文档也就会了。

    【WizardZhang的回答(1票)】:

    四个月就能熟练C++ 真的 但是精通C++ 真的很难

    我们老师经常跟我们说 连ppt这么简单的东西都是不可能精通的

    更别提C++这么傻大笨粗的东西了

    还有 以后去面试的时候 千万别说自己精通C++

    C++有一些很偏的语法规则 闹不好面试官就会故意考你这些。。

    ---------------------------------------

    然后游戏方向要看你喜欢写游戏还是游戏引擎

    或者你实习的那个公司让你写什么

    游戏引擎角度来讲 学好C++没问题 除此之外还要有一些图形学和底层的知识

    游戏的话 没人用C++吧 开发成本高 周期长 需要的人才又不容易找

    等你用C++写个游戏出来 编译一遍debug一遍 竞争对手估计都开发出5个了= =

    【王照顺的回答(3票)】:

    上面都是大神,作为一个即将大四的学生,我说一下自己的观点,什么事情都要讲究一个兴趣,兴趣来了写代码和写诗一样快乐,上面说的剑宗和气宗比较有意思,个人觉得不管学什么都应该由浅入深,底层要学好没有错,如果一上来就不管三七二十一让你去了解opengl的知识,估计学了个把月,然后你会问,这玩意能干嘛?估计你就萎了,编程生涯over。。恩,应该是这样,先简单了解一下游戏制作过程,比如说先熟悉一款游戏引擎,如cocos2d-x,然后简单开发一款小游戏,恩,然后大概知道游戏制作是怎么个回事,当然,这时候你可能只是处于调用一下人家api的情况,不过没关系,当你发现你自己写的游戏能在手机上跑了,兴趣来了,多写几款类型不同的游戏,恩,大概像那么回事了,然后开始不满足写游戏了,这时候你可能会想了解一下引擎的原理了,然后开始找资料,学opengl等各种知识,个人觉得不管学什么都要循序渐进,由浅入深,这样子才不会学什么都停留在表面,就好比如果你单单学一个cocos2dx如何使用,说白了哪天公司换个游戏引擎让你去写游戏,你发现又要重头学起,到时候就心有余而力不足了。

    顺便说一句,楼上有些人过于激动了,大神们指点一下可以,不过指指点点就不好了。

    【陈清扬的回答(1票)】:

    Peter Norvig已经写过长文阐述了:

    十年学会程序设计。

    作者 Peter Norvig 是计算机科学家,Google 的研究总监。在本文中,Peter Norvig会告诉你:为什么急功近利地学习软件开发技术是没效果滴?

    为啥都想速成?

    随便逛一下书店,你会看到《7天学会Java》等诸如此类的N天甚至N小时学习Visual Basic、Windows、Internet的书。我用亚马逊网站的搜索功能,出版年份选1992年以后,书名关键词是:“天”、“自学”、“教你”,查到248个结果,前78个是计算机类图书,第79个是《30天学孟加拉语》。我用“天”换成“小时”,结果更惊人,有多达253本书,前77本是计算机图书,第78是《24小时自学语法句式》。在前200名中,96%是计算机的书。

    结论就是:要么人们急于学习电脑,要么计算机比其他东西学起来要异常简单。没有任何书是关于几天学习贝多芬或量子物理的,甚至连犬类装扮都没有。费雷森(Felleisen)等人在其著作《如何设计程序》中同意这个趋势,其中提到:“坏设计很简单,笨蛋才用21天学,尽管他们还是真傻。”

    让我们看看《三日学会C++》这个书名意味着什么:

    • 学习:三天内你可能没有时间写出有意义的程序,或者从中积累经验。你不可能有时间去跟职业编程者一起去理解在C++环境下的状况。简而言之,你没有充足的时间学很多。所以这本书只能说肤浅的知识。正如亚历山大·波普(Alexander Pope)所言:一知半解是很危险的。
    • C++:三天内你可能学会C++的句法(如果你已经了解其他的语言),但你还不会使用它。打个比方,假如你是个Basic程序员,你可能写出Basic风格的C++程序,而无法理解C++的真实好处。那要点是什么?艾伦·佩里斯(Alan Perlis)曾经说过:“一门不能影响你编程观点的语言不足学的。”有可能你学了一点点C++(或者诸如Javascript、Flex之类),因为你需要和现成的工具接口以完成手头的任务。这种情况下,你不是在学习如何编程,只是在学习如何完成任务。
    • 三日:不幸地是,这远远不够,下一部分会详细讲。
    如何用十年掌握编程

    研究人员(Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973))得出结论:想要在诸多领域达到职业水平需要十年,比如国际象棋,作曲,电报操作,绘画,弹钢琴,游泳,网球以及神经心理学和拓扑学的研究。关键是精心练习,只是一遍一遍地重复是不够的,必须挑战恰好超越你能限的事情,尝试并思考你的表现,并自我矫正。周而复始。这并无捷径!

    4岁的音乐奇才莫扎特用了13年才能创作世界级的音乐。另外,披头士乐队似乎在1964年的埃德·苏利文( Ed Sullivan show)演出中一炮而红,但是他们自从1957年就在利物浦和汉堡的酒吧演出,在取得广泛关注后,第一部重量级作品《佩珀军士》(Sgt. Peppers)是在1967年发行。马尔科姆·格拉德威尔(Malcolm Gladwell)撰文描述了一项针对柏林音乐学院学生的研究,他们被分为尖子,中等和不足三类,并被问到他们练琴的情况:

    所有三组中的人,开始学琴的年龄大概相差无几,五岁左右。在刚开始的几年,所有人练习量也差不多,一周两三个小时。自八岁开始,实质性变化就有了。那些精英学生开始比其他人练习更多:九岁的时候一周六个小时,十二岁的时候一周八个小时,十四岁的时候一周十六个小时,一直到二十岁的时候一周要超过三十小时。截止到二十岁,在他们的生涯里已经有总计一万小时练琴。仅仅表现可以的那部分学生加起来是八千小时,那些未来的音乐老师有四千小时。

    所以,更确切地说,一万小时,而非十年,是个神奇之数。

    萨缪尔·约翰逊(Samuel Johnson, 1709-1784)认为还需更长时间:“卓越乃一生之追求,而非其它”。

    乔叟(Chaucer, 1340-1400)抱怨道"the lyf so short, the craft so long to lerne." (生之有限,学也无涯)。

    希波克拉底(Hippocrates, c. 400BC)因这句话被世人所知:"ars longa, vita brevis"(译注:拉丁语,意为“艺无尽,生有涯”),更长的版本是 "Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile",翻译成英文就是 "Life is short, (the) craft long, opportunity fleeting, experiment treacherous, judgment difficult." (生有涯,艺无尽,机遇瞬逝,践行误导,决断不易)。

    我的编程成功秘笈是:

    • 首先要对编程感兴趣,能从编程中得到乐趣。一定要让它足够有趣,因为你要保持你的兴趣长达十年。
    • 与别的程序员交流;阅读别人的代码——这比看任何书或参加培训课都重要。
    • 实践。最好的学习乃实践。俗话说:“编程的至高境界一定要通过充分的实践才能达到,而个人的能力可通过不懈努力获得显著提升。” (p. 366) “最有效率的学习需要明确的目标,适当的难度,知识回馈,并容许重复或修正错误。” (p. 20-21) 《实践认知:每日的思维、数学及文化》(Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life) 在这方面可做参考。
    • 如果你愿意,花四年学习大学课程(或者再加上读研)。这将给你赢得某些工作机会,并给予你在该领域的深层见解。但如果你不喜欢学校的学习,你同样可以在工作中获得相似的经验。无论如何,单靠书本是远远不够的。“学习计算机科学不会让你成为编程专家,如同学习绘画和色彩理论不会让你成为画家一样”。这是埃里克·雷蒙德(Eric Raymond)说的,他是《新黑客字典》(The New Hacker's Dictionary)的作者。我雇用过的最优秀程序员,只有高中文凭。但他开发过许多伟大软件,有自己的新闻组,通过公司认股赚的钱就让他买下了自己的夜店。
    • 和其他程序员一起参与工程项目。在某些项目中担当最优秀程序员,在另一些项目中充当最差劲程序员。充当领头羊的时候,你要测试你领导一项工程的能力,并用你的视野来激发他人;如果在项目组中垫底,就应该学习其它牛人在做些啥,以及他们不喜欢做的(看他们把哪些活让给你做)。
    • 继续别人的工程项目。去理解先前程序员写的程序。学习如何理解并解决先前程序员没有考虑到的问题。思考你的程序该如何设计以便让之后的程序员更容易维护。
    • 至少学6种程序语言。其中包括一种支持类抽象的(Java和C++),一种支持函数抽象的(如Lisp或ML),一种支持语义抽象的(Lisp),一种支援声明规范的(如Prolog或C++模板),还有一种支援协程的(Icon或Scheme),另外一种支持并发的(Sisal)。
    • 记住,在“计算机科学”里有“计算机”一词。理解计算机执行你的代码的时候花费的时间。比如:从内存中取一个字(考虑有无缓存未命中情形),连续从磁盘读字,或者在磁盘中定位。
    • 参加语言标准化工作。这可能是有关 ANSI C++ 委员会,也可能是决定你编码风格是两格缩进或四格缩进。无论如何,你要知道其他人对语言的喜好程度,有时还要想想他们为什么喜欢这样。
    • 知道自己应该在何时脱身于语言标准化。

    所有上述这些,很难通过书本的学习来达到。我头一个孩子出生时,我读了所有的“如何做”(How To)系列的书籍,却依然对育婴毫无头绪。30个月后,我第二个孩子出生,我还需要温习一下那些书吗?绝对不!相反,我完全可以参照个人经验,而结果相当有效。这更让我确信:我的经验胜过那些专家们写的上千页文字。

    弗雷德·布鲁克斯(Fred Brooks)在《没有银弹》(No Silver Bullet)一书给出了寻找顶级设计师的三条建议:

    • 尽早系统地识别出顶级设计师。
    • 分配一个人作为其职业规划的导师。
    • 给予机遇让成长中的设计师互相磨砺。

    此处假定有部分人已经有成为伟大设计师的潜质,你所需的就是要诱导他们。艾伦·佩里斯(Alan Perlis)一针见血地指出:"假如人人都可以学雕刻,那就得教米开朗基罗如何不去干雕刻。对于伟大程序员,也是如此。”

    所以,简单地买一本Java书,你或许能找到些有用的东西,但绝不会让你在24小时内甚至24天抑或24月内,成为行家里手。

    【渐修竹的回答(0票)】:

    我也做了两年c++了,也不敢说精通,我们老大做了至少8年,也没敢说精通,我认识的很多大神,也都没敢说精通。事实上我认识的很多大神都很谦虚,我跟他们学到了很多,大家的简历上也都写着熟悉c++之类的字眼。上次公司招聘,来了个小伙子,工作两年,简历上写了精通c++,结果连公司的笔试都没通过。请原谅我答不对题,我只是单纯的看精通这个词不太舒服。。。

    【canneljiang的回答(0票)】:

    关键是如何理解“精通”

    我从大三开始,平均每天用一小时自己编码,到大三结束要找暑期实习时,编码水平比大部分同届同学高,于是顺利拿到实习机会以及以后也顺利拿到offer

    现在出来工作几年,虽然水平比毕业时高很多,但也依然觉得很多东西不会,很多人比自己强

    最后,我觉得对于大学生,如果有同学向你请教编码问题,有同学请你帮他做编程的作业,那也可以证明这个人比较强

    展开全文
  •  1、姓名、学校、专业、年纪(有的岗位还真的要看年龄)、应聘岗位  2、本硕期间学的东西,比如说本科主要研究什么,硕士期间主要研究什么?有什么项目经历?有什么成果?  3、本硕,主...

    总体问的很基础,但本人太菜,有一些没答上来,现在记忆里还有这么几个问题,分享给大家!

    一、自我介绍:没啥说的,使劲扯吧!

           不过我给一个大家我自己的提纲:

            1、姓名、学校、专业、年纪(有的岗位还真的要看年龄)、应聘岗位

            2、本硕期间学的东西,比如说本科主要研究什么,硕士期间主要研究什么?有什么项目经历?有什么成果?

            3、本硕,主要是本科期间你参加的学生会啊,社团啥的,最好有几个较大的活动。

            4、专业课外还喜欢学习什么。

            5、对网易的向往balabula,为什么选择这个岗位。

             最后来句:谢谢!

    二、主要根据你的简历开始问项目经历

             1、笔者研究生期间主要做5G的,他就让我先大致介绍所做过的项目。

             2、在这个项目内你主要做什么,有没有什么成果?

             3、学术上的一些问题:比如你是怎么选看论文的,是不是提升(仿真提升)越好的方法你越偏向。

            (本人答的否,因为不一定他的提升放在你的场景下就是最好的。)

             4、你所做的算法相比别人有什么提升,你的仿真结果为什么在一段范围内提升很大。

             5、仔细讲一下你对论文(项目)中某个点的理解。(问我的是:什么是均衡)

    三、代码,但是主要是根据你简历上来的

             1、C++ STL是什么,你用过吗?知道常用的数据结构吗?(这全是陷阱,如果你回答精通的,一般都得死)

             2、STL常用的容器是什么?你在项目中怎么用STL的?

             3、C++的内存分配方式,什么是malloc,free,new和delete。你在写代码的时候怎么用的?各有什么优缺点?

             (我回答的是用new用的多,malloc少,因为定义内存长度malloc麻烦)

             4、简单介绍向量vector

            (我回答的是这个部分挺多的,待我细细道来,什么顺序存储啊,ADT啊,还没说完就被打断了,感觉留下了不好的印象)

    四、线上编程

              1、输入一个序列,然后反向输出?

              (vector萌萌哒!)

               2、判断输入表达式括号是否匹配?

                (用栈来做,本人博客里总结了有,请点击https://blog.csdn.net/Lao_tan/article/details/81024064

    五、算法

               1、给你2个玻璃球,有一栋100层高的大楼,找到在哪一层不摔碎?

                (我犯二了,竟然分别说用二分查找和遍历,应该是结合体才对。泪奔啊!)

                2、寻找一棵树中相距最远的两个叶子结点

                3、黑盒测试:4个开关4盏灯,最少多少次可以查出哪个灯连接哪个开关?

    六、计算机网络

                 1、UDP和TCP区别,见本人博客。

                 2、HTTPS是什么?

                  (我说我不太清楚HTTPS,只是了解HTTP)

                  3、然后他就问我HTTP的请求有哪几种?各有什么用?

                   (不会啊,只能回答我是做传输层和物理层前端的,实在是不太了解)

     

    能回忆起来的就这么多了,前前后后问了快一个小时,感觉有些概念回答的不好,其他的听天由命吧。

     

    展开全文
  • 游戏策划之路 李波

    2018-04-02 12:22:42
    转自https://blog.csdn.net/csdn_gamedev/article/details/318601目录:第一章:游戏是什么前言1.1、游戏的来源和发展1.2、什么是电脑游戏第二章:游戏是如何被制作出来的2.1、制作游戏的几个部门2.2、游戏的制作...

    转自https://blog.csdn.net/csdn_gamedev/article/details/318601

    目录:

    第一章:游戏是什么

    前言

    1.1、游戏的来源和发展

    1.2、什么是电脑游戏

    第二章:游戏是如何被制作出来的

    2.1、制作游戏的几个部门

    2.2、游戏的制作过程

    2.2.1 立项

    2.2.2 大纲策划的进行

    2.2.3 游戏的正式制作

    2.2.4 配音、配乐

    2.2.5 检测、调试

    2.2.6 广告、市场

    2.2.7 生产、发售

    2.2.8 售后服务

    第三章:游戏的策划工作如何进行

    3.1、游戏的题材、类型和风格

    3.1.1 游戏的题材

    3.1.2 游戏的类型

    策略类三国游戏

    战棋类三国游戏

    角色扮演类三国游戏

    即时战略类三国游戏

    动作类三国游戏

    桌面类三国游戏

    3.1.3 游戏的风格

    3.1.4 小结

    3.2 游戏大纲的确定

    3.2.1 确定游戏由哪几部分组成

    3.2.2 按照划分好的部分各个进行纲领性的说明

    3.2.2.1 部队的操作:

    3.2.2.2 战斗部分的综述举例

    3.2.2.3 单挑部分的综述举例

    3.2.2.4 建设部分综述举例

    3.2.2.5 RPG 部分综述举例

    3.3、各个部分的细化工作

    3.3.1 兵种:

    3.3.2 武器道具:

    3.3.3 地图

    3.3.4 动画

    3.3.5 计谋

    3.3.6 情节

    3.3.7 界面

    3.4、游戏的测试和参数调整

    3.5、配乐和配音

    3.6、广告和市场

    第四章:游戏策划应该具备的基本素质

    4.1、对市场敏锐的洞察力

    4.2、要能够充分了解玩家的心理

    4.3、对游戏其他部门的工作有所了解

    4.4、有影视、美术、文学方面的根底

    4.5、能够虚心采纳别人的合理化建议

    4.6、对游戏制作有持续的极大热情

    结语

     

    第一章:游戏是什么

     

    前言

    曾几何时,世界上出现了电子游戏。在雅达利游戏机时代,我就面对着黑白画面开始了我最初的游戏接触。进入了任天堂时代后,出现了一大批优秀的游戏节目。当这种娱乐形式蓬勃发展时,就出现了以制作游戏为职业的一群人。当游戏跨入了中国的门槛,在神州大地上也顺理成章的出现了中国本土的游戏制作群。痴迷于游戏的我有幸成为了他们中的一员。
      作为一名中国游戏人(游戏制作人员的简称),我有着十分矛盾的心理--自豪的同时又深深感到自卑。自豪是因为我们是新中国自己的第一批游戏制作人员,在担负着开创新时代的艰巨使命;而自卑是因为与国外的同行比较起来,我们所制作出来的产品水平实在是太低了,低到了我们自己都不忍卒睹的地步……面对着国内市场上充斥的正版或盗版的国外游戏,心中总有些不是滋味。人家的东西做的就是好,不能怪玩家们崇洋,要怪就只能怪自己不争气。

    最不好受的时候是看到一些蓄意歪曲历史、混淆视听的国外游戏,比如日本的《提督的决断》--公然美化世界大战的战犯们;比如日本的《大战略》--玩家要进行的是指挥德国纳粹的军队去侵占其他国家的领土;比如微软的《帝国时代》--将日本列入文明古国之一,而没有中国。最令人气愤的是其中一关的任务是讲中国军队侵略了朝鲜,日本人宅心仁厚,出兵帮助朝鲜抵抗中国的侵略???!!!任务结束后,游戏制作者还感叹说:如果日本能够坚持下来,其进入中国大陆的时间可以提前好几个世纪!!这是什么话!!默然关上了计算机,胸中感到了锥心刺血的痛--因为中国游戏业的落后,我们就要忍受这样的侮辱?!

    游戏作为文化产品,其中必然带有文化倾向性,其中的文化色彩也更具隐蔽性,让你在娱乐的同时潜移默化的接受游戏制作者的观念。因而也就有可能成为某些别有用心的人所利用的文化侵略工具。看着外国漫画和卡通、玩着外国游戏长大的中国下一代,会不会受到其中不公正观点的影响?闭关锁国不可取,最好的办法是提高国内游戏产品的质量,进入世界市场,替我们发言。

    如何提高中国大陆的游戏制作水平?如何使国产游戏进入世界市场?如何能使中国的玩家们玩上我们自己出品的好游戏?要达成以上目标,最迫切的是提高国内游戏制作人员的水平,能够开设电子游戏制作课程,有利于游戏制作人员的成长。如果我从事游戏制作业两年多的经验对大家有帮助的话,我非常愿意与大家交流,与大家一起并肩为国产游戏的发展努力。

     

    要想成为一名游戏制作者,首先要弄清楚游戏的本质。

     

    1.1、游戏的来源和发展

    游戏在英文中的单词是Game,译意是比赛、竞赛、游戏,可以从词源上看出,游戏和比赛一脉相承。具我估计,游戏最初可能是由进行非对抗性的、友好的体力与技巧的比赛发展而来。当时的参与者在体力得到锻炼的同时,也得到了乐趣,如今天有些民族进行的叼羊活动,称比赛也可,称游戏也可。

    随着时代的进步,游戏从单纯的体力活动逐渐向体力与脑力结合的方向发展,甚至出现了一些纯粹的脑力活动。比如棋类和牌类的发明,大师们在进行电视直播时下的棋被称为比赛,咱们老百姓吃完饭在路灯下来的那两盘被称为游戏。人与人之间所进行的娱乐活动,游戏和比赛基本是一体的,只是根据场合与情况的不同而加以区分。

    进入科技时代以后,越来越多的高科技手段运用到了娱乐行业之中,最终能够以电脑的运做代替原来必须由人来承担的对手角色,这使得游戏原本含义中的对抗性大大降低--谁和没知觉的电脑一般见识,非要争个短长?除了象非要和电脑较真儿,比个高下的--诸如在深蓝上玩一会儿国际象棋游戏,最后铩羽而归的卡斯帕罗夫大师,为了对他的认真精神表示敬佩,我们依然把他所进行的活动称为比赛。抛开上述特殊情况不谈,游戏在科技时代,更多的是一种纯粹为了娱乐而进行的无明确目的性的活动,其最大的作用就是通过游戏过程,让参与者得到放松和乐趣。可以说,让参与者得到放松和乐趣才是游戏的本质所在。

    进入科技时代,随着人类科技水平的发展,游戏的形式也在逐渐的变化。在电视机普及到家庭以后,游戏通过电视游戏机进入了家庭,最初只是非常简单的形式,只是灰度画面和简单的声音;而后,可以达到256色画面和MIDI配乐,到今天,发展到真彩画面和CD音轨、人语配音的次世代游戏。

    在电视游戏向前发展的同时,随着家庭用电脑的发展,游戏又进入了电脑,与电视游戏的发展过程相同,电脑游戏也经历了从简单到复杂的过程,最终使电脑游戏成为能和电视游戏相抗衡的游戏娱乐方式。可以发现,人类实际上很注重享受,总是利用最新的科技来实现自己的娱乐,因此,娱乐业是非常有前途的行业。但是娱乐业也是风险非常大的行业,只能在和平的经济繁荣时期进行发展,如果没有社会环境的保障,娱乐业就没有土壤--谁会在饭没得吃的情况下玩电脑游戏?

    今后,游戏也不会裹足不前,它必然会继续进步。我个人觉得,在技术上,游戏会向体感化、人工智能化发展。体感化即出现虚拟实境游戏,使游戏者感觉完全处在一个真实的空间中,能够感受到现实生活中所能体会到的一切--包括视觉、听觉、嗅觉、触觉等。人工智能化即随着计算机技术的发展,使计算机模拟智能成为可能。届时,你在计算机中所遇到的一切NPC,都具有与人相媲美的智力水平--甚至有感情。如果将上述两项发展结合在一起,再加上国际互联网,就使全球性虚拟化社会的实现成为可能,使得MUD游戏能够有质的突破,从而使游戏更象是自己的另一种人生,关于这方面的科学幻想小说有很多,如果大家有兴趣,可以找来看一看。

     

    1.2、什么是电脑游戏

    如果要给电脑游戏下一个准确的定义,那么我觉得:以计算机为操作平台,通过人机互动形式实现的能够体现当前计算机技术较高水平的一种新形式的娱乐方式。这一定义会比较合适。

    首先,电脑游戏是必须依托于计算机操作平台的,不能在计算机上运行的游戏,肯定不会属于电脑游戏的范畴。至于现在大量出现的游戏机模拟器,原则上来讲,还是属于非电脑游戏的。

    其次,游戏必须具有高度的互动性。所谓互动性是指游戏者所进行的操作,在一定程度及一定范围上对计算机上运行的游戏有影响,游戏的进展过程根据游戏者的操作而发生改变,而且计算机能够根据游戏者的行为做出合理性的反应,从而促使游戏者对计算机也做出回应,进行人机交流。游戏在游戏者与计算机的交替推动下向前进行。游戏者是以游戏参与者的身份进入游戏的,游戏能够允许游戏者进行改动的范围越大,或者说给游戏者的发挥空间越大,游戏者就能得到越多的乐趣。同时,计算机的反应真实与合理也是吸引游戏者进行游戏的因素--没有人愿意和傻子讨论政治问题,大多数人只会愿意同水平相当的人下棋。

    最后,电脑游戏比较能够体现目前计算机技术的较高水平。一般当计算机更新换代的同时,计算机游戏也会相应的发生较大的变更。当计算机从486时代进入586时代时,原本流行的256色的游戏被真彩游戏所取代;当光驱成为计算机的标准配件后,原本用磁盘作为存贮介质的游戏也纷纷推出了光盘版--现在还有哪个游戏发行磁盘版;当3D加速卡逐渐流行起来时,就同时出现了很多必须要用3D加速卡才能运行的三维游戏;当计算机的DOS平台逐渐被WINDOWS95系列平台所更新时,DOS的游戏就逐渐走向没落……就我个人的从业经验来看,计算机厂商--尤其是硬件厂商十分注意硬件与游戏软件的配合。很多硬件厂商都主动找到游戏软件开发公司,要求为他们的下一代芯片制作相应的能体现芯片卓越性能的游戏。所以有很多游戏在开发时所制定的必须配置都是超前的,以便配合新一代芯片的发售。一般硬件厂商在出售硬件(比如3D卡和声卡)时所搭配的软件总会是游戏占大多数。所以在家用计算机技术方面,游戏是比较能够体现当前技术的较高水平的,也是最能发挥计算机硬件性能的--没有人见过3维界面的WORD或者是WPS吧?应用软件总要照顾到大多数计算机用户的利益,而电脑游戏则不然。

     

    第二章:游戏是如何被制作出来的

     

    2.1、制作游戏的几个部门

    一般来讲,游戏的制作有三个大的单位部门,分别是策划部门、程序部门和美术部门。这三个部门在游戏开发的过程中分别承担不同的工作。策划部门主要担任游戏的整体规划工作,一如建筑工程中施工前要有建筑蓝图一样,策划的工作就是用程序和美工能够理解的方式对游戏的整体模式进行叙述。游戏中的所有部分都属于策划的工作范围之内。关于程序部门和美术部门的工作在我同事的文章中有论述,在本文中不再加以赘述。但如果你想成为一名成功的策划人员,最好还是对你同伴们的工作有所了解,这是做游戏策划的基本素质之一。

     

    2.2、游戏的制作过程

    游戏的制作过程可以用流水线来形容。大致分为以下几个步骤:

    2.2.1 立项

    在制作游戏之前,策划们首先要确定一点:你到底想要制作一个什么样的游戏?而要制作一个游戏并不是闭门造车,一个策划说了就算数的简单事情。制作一款游戏受到多方面的限制:

    市场:你想做的游戏是不是具备市场潜力?在市场上推出以后会不会被大家 所接受?是否能够取得良好的市场回报(即销售数量)?

    技术:你想做的游戏从程序上和美术上是不是完全能够实现?如果不能实现,是不是能够有折中的办法?

    资金:你是不是有足够的资金能够支持你进行游戏的完整开发过程?要知道,做游戏光有热情是不够的,还要有必要的开发设备和开发环境。而且后期的广告投入也是一笔不小的数目。

    周期:你所想的游戏的开发周期是否长短合适?能否在开发结束时正好赶上游戏的销售旺季?一般来讲,学生的寒暑假期间都属于游戏的销售旺季。

    产品:你所想的游戏在其同类产品中是否有新颖的设计?是否能有吸引玩家的地方?如果在游戏设计上达不到革新,是否能够在美术及程序方面加以补足?如果同类型的游戏市场上已经有了很多,那么最好是你的游戏有不同于其他游戏的卖点,这样成功才更有把握。

    以上各个问题都是要经过开发组全体成员反复进行讨论才能够确定下来的。如果你在一个游戏公司中任职,那么这种讨论往往是以会议的形式来进行的。参与会议者有公司的老总(资金提供者)、市场部成员(进行市场前景分析)、广告部成员(对游戏的宣传进行规划)、游戏开发人员(策划、程序、美工),大家一起集思广益,共同探讨一个可行的方案。如果对上述全部问题都能够有肯定的答案的话,那么可以说,这个项目基本是可行的。但是即便项目获得了通过,在进行过程中也可能会有种种不可预知的因素导致意外情况的发生,所以项目能够成立,只是游戏制作的刚开始。

    在项目确立了以后,下一步要进行的就是进行游戏的大纲策划工作。

     

    2.2.2 大纲策划的进行

    游戏大纲关系到游戏的整体面貌,当大纲策划案定稿以后,没有特别特殊的情况,是不允许进行更改的。程序和美术工作人员将按照你所构思的游戏形式来架构整个游戏,因此,在制定策划案时一定要做到慎重和尽量考虑成熟。

    关于如何进行这方面的工作,在下文中有详细的叙述。

     

    2.2.3 游戏的正式制作

    当游戏大纲策划案完成并讨论通过后,游戏就由三方面同时开始进行制作了。在这一阶段,策划的主要任务是在大纲的基础上对游戏的所有细节进行完善,将游戏大纲逐步填充为完整的游戏策划案。根据不同的游戏种类,所要进行细化的部分也不尽相同。

    在正式制作的过程中,策划一定要同程序人员及美术人员进行及时的交流,了解程序和美工的工作进展以及是否有难以克服的困难,并且根据现实情况有目的的变更自己的工作计划或设计思想。三方面的配合在游戏正式制作过程中是最重要的。

     

    2.2.4 配音、配乐

    在程序和美术工作进行的差不多要结束的时候,就要进行配音和配乐的工作了。音乐和音效是游戏的重要组成部分,能够起到很好的烘托游戏气氛的作用,不可轻视。

     

    2.2.5 检测、调试

    游戏刚制作完成,肯定在程序上会有很多的错误,就是通常所说的“BUG”,严重情况下会导致游戏完全没有办法进行下去。同样,策划的设计也会有不完善的地方,主要在游戏的参数部分。参数部分的不合理,会导致影响游戏的可玩性。所以此时策划的主要工作就是检测程序上的漏洞和通过试玩,调整游戏的各个部分参数使之基本平衡。

     

    2.2.6 广告、市场

    实际上,在游戏进入正式制作阶段的时候,广告部门和市场部门就已经开始运做了。广告部门的任务使有计划、有目的、按阶段的在各个媒体上透露有关开发的消息,使玩家的注意力逐渐集中到在开发的游戏上,并产生期待心理。最后在游戏进入调试阶段的时候,就可以在媒体上刊登比较明显的广告了。而市场部门的任务是联系零售和捆绑销售业务,为游戏的销售打好基础。

     

    2.2.7 生产、发售

    以上步骤都完成后,就可以与光盘生产厂家联系,进行光盘的压制工作。然后按照已经疏通好的销售渠道,将游戏推向市场。

     

    2.2.8 售后服务

    将游戏只是卖出去还不算完,正版游戏和盗版游戏最大的不同就是有完善的售后服务。售后服务主要是解答玩家的疑问,解决玩家所遇到的困难。而且还有一个重要任务就是听取玩家反馈回来的意见,为自己的下一个游戏做参考。

    通过以上的步骤,才能完整的制作出一款可以上市的好游戏。

     

    第三章:游戏的策划工作如何进行

     

    现在大家基本上已经知道游戏制作的大体过程了,那么在这个过程中,游戏策划起到了那些作用呢?要进行什么样的工作?工作时又要注意那些事情呢?

     

    3.1、游戏的题材、类型和风格

    在一个游戏开始制作之前,这三项是首先要确定下来的。

     

    3.1.1 游戏的题材

    游戏的题材是指游戏的将要讲述一个什么时代、什么世界观下发生的故事。

    目前主要的及常见的游戏题材有以下几种:

    从时间上分:

    ·古典题材:发生年代在距离现代比较长的时间,例如《三国志》系列;

    ·近代题材:发生年代距离现在不是很远,例如《地雷战》、《装甲将军》;

    ·现代题材:发生在和我们同一个时代的故事,例如《心跳回忆》;

    ·近未来题材:发生年代距离现在不是很远的将来,例如《C&C》;

    ·未来题材:发生在遥远的将来,例如《星球大战》。

    从内容上分:

    ·战争题材:例如《装甲将军》;

    ·爱情题材:例如《心跳回忆》;

    ·幻想题材:超越常识范围的世界。例如《FF7》、《黏土世界》;

    ·科学幻想题材:例如《星际争霸》;

    ·现实题材:例如《模拟城市》、《模拟医院》;

    ·恐怖题材:例如《学校之怪谈》。

    游戏题材的确立关系到游戏有一个什么样时代观、世界观和善恶标准,也直接关系到游戏的表现形式和中心设计思想。比如在一款以古典战争题材为背景的游戏中,时代一般是在十九世纪以前,武器以冷兵器为主,对于游戏策划来讲,他所设计的兵器中就不能出现超越当时时代的东西。那么在美术的设计上同样也要体现出这一点来。如果是在幻想题材为背景的游戏中,题材对策划的限制就要少得多了,甚至任何东西和任何事情都可能出现--大家看过鸟山明的漫画没有?企鹅村就是一个那样的世界。

     

    3.1.2 游戏的类型

    游戏的类型是指游戏以什么样的形式来进行。目前的游戏形式常见的有以下几种:

    ·策略类游戏:例如《三国志》系列

    ·模拟类游戏:例如《模拟城市》

    ·战棋类游戏:例如《炎龙骑士团》

    ·育成类游戏:例如《美少女梦工厂》

    ·体育类游戏:例如《FIFA98》系列

    ·即时战略类游戏:例如《C&C》、《魔兽争霸》

    ·桌上类游戏:例如《大富翁》系列、《围棋》

    ·角色扮演类游戏:例如《仙剑奇侠传》

    ·模拟驾驶类游戏:例如《F-117》、《长弓阿帕奇》

    ·射击类游戏:例如《雷电》系列

    ·冒险类游戏:例如《MYST

    ·动作类游戏:例如《水管马立奥》

    ·益智类游戏:例如《俄罗斯方块》

    ·DOOMTOO类游戏:例如《DOOM》系列

    ·MUD类游戏:架构在国际互联网上的多用户在线游戏。例如《侠客行》

    ·混合类游戏:混合了以上游戏类型两种或两种以上的新形式游戏。常见的是很多S-RPGR-SLG。例如《三国英杰传》

    ·其他类游戏:还有一些游戏是比较难以总结出类型的,只好划归在其他类型中。例如《游戏工厂》、《RPG工厂》,它们是用来制作游戏的游戏,又不能说是一个完整的游戏引擎。而且由于数量较少,没有形成足够的规模可以成为一类游戏。

    游戏类型规定了游戏的进行方式。不同的游戏类型有各自的特点、优点和缺点,对于策划的要求也不相同。比如同是以三国为题材制作游戏,采用不同的游戏类型,使游戏有着不同的感觉。下面将举例简单分析一下:

     

    策略类三国游戏

    日本光荣公司所推出的《三国志》系列,采用了策略类游戏的表现形式。

    在游戏中,游戏者可以选择扮演任意一名君主完成统一中原的大业,可以选择曹操、刘备、孙权这样的著名君主;也可以选择象刘表、张鲁等二流君主作为主人公;甚至可以杜撰一名新君主,起上自己的名字,来亲身体验一下君临天下的感觉。

    进入游戏后,会有一块属于自己的地盘。如果选择了曹操、孙权等人,可能出现在繁华的中原或富庶的江南;如果是新君主,那么只能在地图的一隅占据一座小城。不管从那里出现,首要任务是发展经济。将自己的国家治理得井井有条,人民安居乐业,官吏各司其职,军队兵强马壮。当然,在治理自己国家的时候,其他君主也不会闲着。他们也会治理国家,同时会在你兵力薄弱的时候派遣部队来攻占你的城池。这就需要你有比较高的治国技巧,或者你和周边国家结成同盟,这可是需要付出钱、粮、马匹等代价的;或者你集中发展军备,让其他人不敢轻捋虎须,不过万一军力与国力失衡,你的建设事业就会由于资金不足而停滞不前,两种办法均有风险。

    当你完成了征兵、部队训练、军队调动等备战工作,就可以选择适当的周边国家进攻了。不过你也可以想办法降低进攻的难度,比如拉拢对方的武将、挑拨别的国家先进攻以削弱防御实力、在对手城池里放火或者纠集自己的盟国一起出兵,这样当你出兵时就轻松多了。在你顺利的拿下敌人的城池时,等待你的又将是内政的整饬和军备的扩张……这样周而复始,直到你统一中原。

    以标准战略形式来表现三国,最大的好处在于能充分体现战争、政治与经济的关系。较为清晰的表现出政治、经济与战争之间相辅相成而又互相克制的关系。在游戏中还出现了诸多大家所熟悉的三国人物,将历史人物与历史事件及历史进程联系到了一起,让游戏者操纵三国时代的英雄创造一系列的辉煌。以武将为基本描述点;历史事件与进程为叙述线;整个三国时期的局势做为面,做到重点突出、线索连贯、全面铺开,将点、线、面三者结合起来叙述,从军政结合的角度完美的表现三国时期的历史。此类游戏给游戏者的发挥余地较大,你可以任意拟定自己国家的战略。不过在给予了游戏者最大自由的同时,三国时期的历史也一次又一次的被改写。在你收降了敌人的将领之后,曹丕打曹操、关羽战刘备这样父子交兵、兄弟相残人间惨剧都有可能上演,这在历史上肯定是不可能发生的。

    以游戏来表现三国会将历史面貌做一定的改变,也是游戏本身的性质所决定的。同时,游戏的互动性又是其他艺术形式所不能具备的优点。游戏者玩游戏时,将自己代入到三国时期的参与感;在指挥军队作战时的运筹帷幄;在制订政治方针时的谨思慎行;在完成统一中原大业时的高度成就感……这一切都是在阅读小说、观赏戏剧、观看电视连续剧时所不能体会到的。

     

    战棋类三国游戏

    战棋类的三国游戏,现在比较典型的要算是日本光荣公司的《三国英杰传》。

    战棋类游戏通常以分关制来划分游戏的章节。比如在《三国英杰传1》中,将刘备一生所经历的大大小小几十场战斗改编为了几十关任务,从镇压农民起义征讨黄巾军开始,战吕布、抗曹操、烧赤壁、取西蜀、夺汉中、败彝陵……此后还有虚构的任务诸如攻许昌等等,最后是刘备复兴汉王朝的欢乐大结局,颇有民国年间出版的《反三国志演义》的神韵。

    采用分关制战棋来制作三国游戏,容易做到脉络清晰,将三国时期的发展完全展现在玩家面前。在战棋游戏中,没有了政治和经济对战争的影响,游戏者所需要做的只是如何巧妙的运用游戏开始所配属给自己的有限兵力,来配合计策、道具来更多的消灭敌人、更好的保存自己。战术上的考虑占据了游戏者的全部精力。在战棋游戏中,游戏者扮演的是一名军事家,而不象在战略游戏中同时扮演政治家与军事家的角色。

    在战棋类游戏中,由于偏重点在战斗方面,所以战场的画面制作得非常精巧细致,武将之间的作战动作、计策的使用效果也非常华丽,以出色的画面来刻画战场和人物。画面的精巧虽然能够突出武将的作用,但对于体现大兵团作战就有了局限。一般的战棋游戏都是以武将为作战单位,很少带领士兵,即使有士兵的存在,也无法表现古代战争的壮阔场面。简而言之,战棋类游戏的战斗画面很容易做到华丽,但很难做到壮观。这一缺点同策略类的游戏类似,但从表现上来讲,比策略类游戏还是强一些。

    分关制的设计对于游戏设计者来讲,可以较容易的设定游戏的难度,也可以较容易的设定游戏的人工智能。但对于游戏者来讲,由于地图唯一、兵力配置唯一、初始状态唯一,就不可避免的造成游戏过程的单调。所以如果战棋游戏没有多分支、多结局,就很难让游戏者再玩第二遍。可是如果有了分支和多结局,对于历史就有进行了改变。其实又有谁甘心充当刘备这样的悲剧英雄的角色呢?驰骋疆场、纵横中原,最后败于一儒生手中,彝陵一把大火,烧得七十五万大军灰飞烟灭,只剩数百人逃回白帝城,临终托孤让人慨叹。如果你有机会让刘备重振雄风,视东吴如草芥、战曹操如捻蚁,你不想尝试吗?

     

    角色扮演类三国游戏

    角色扮演类三国游戏在三国游戏中并不是主流,目前主要有《吞食天地》系列。

    RPG游戏有电子小说的美称。在RPG游戏中,一般是以某一名人物作为主人公,以这名人物的生平为主线,所有故事都围绕这名主角展开,对于主人公的事迹描述可以说是到了极其详尽的地步。主人公要孤身只影独走中原,解决一系列的事件,有时会有同伴的加入,大家齐心合力,共同奋斗。RPG游戏有相当明确的游戏主线索和非常充实的故事内容。如果设计得当,可以做到小中见大,做到通过游戏中主角的遭遇来勾勒出当时的历史轮廓和时代特征。

    由于《三国演义》主要是以政治局势的描述为主,个人的刻画为辅,主要体现在特定的历史时期内,特定的历史事件对历史人物所造成的影响,从而表现人物的个性;而角色扮演类三国游戏恰恰反其道而行,以个人的刻画为主,通过描写主角个人的遭遇,来体现当时的历史背景。这样对于游戏的设计来讲,难度是相当大的。在史料不足以充实满一个游戏时,就需要游戏设计人员的发挥和杜撰,其难度和工作量不亚于罗贯中用《三国志》改编《三国演义》。只有非常深的设计功力才能做到以小见大,在描写人物的同时让游戏者感触到历史时代对人物的施加的影响。如果设计得当还好,虚构不影响整个的游戏内容和主角的生平,但如果设计不当,很容易造成脱离原著、与当时的历史相悖。比如在《赤壁之战》中,开始场景是刘备的家,刘备的母亲对刘备说:儿啊,你也不小了,该出去成就一番事业了。于是刘备就离开家,踏上了统一中原的征途,然后一出门就碰上了关羽和张飞,三人就此结义……这叫歪批三国?似乎不够确切;叫天马行空?又太美化了;叫……恕我才疏学浅,实在想不出合适的词语来评价这种设计方式。

     

    即时战略类三国游戏

    目前此类的三国游戏比较成功的是北京前导公司制作的《三国》系列,目前已出两部,即《官渡》和《赤壁》。

    即时战略游戏一般是集资源采集、基地建设、部队生产与军事作战为一体的游戏方式。它给游戏者的最大感觉就是紧张与充实。试想一场战役玩起来不到一个小时,游戏者必须在短短的时间内,完成上述的所有步骤。即要发展内政,又要排兵布阵,还要防御敌人的进攻,往往顾此失彼。即时战略最重要的是行动的速度,在游戏者行动的同时计算机也在行动,游戏者如果犹豫不决,在他所耽误的每一分钟里,计算机都在壮大自己的力量,为进攻做准备。游戏者动作越慢,失败的可能性就越大。游戏者必须具备洞悉全局的敏锐观察力、当机立断的决断力、合理规划发展的控制力以及有时还需要一些直觉。总之,一旦玩即时战略游戏,就要完全将注意力集中到战场上,稍一疏忽就可能导致作战失利。

    即时战略还能够体现古代战争场面中的大兵团作战,表现士兵与士兵之间刀剑相击的厮杀,可以营造出紧张激烈的战斗氛围。这一点是其他游戏形式所无法办到的。耳边回响着兵刃相撞的铿锵、战场上的人喊马嘶、火焰燃烧木材爆裂的劈啪声,眼前是刀光剑影、流矢横飞、士兵们浴血奋战……一切都是战场的真实再现。但这需要游戏美术设计的努力工作,目前来讲,没有一部游戏能非常完美的做到体现古代战场的壮观,只能做到略具风貌而已。

     

    动作类三国游戏

    动作类三国游戏可以说是只为体现三国时期武将的武勇而制作的。无论是对战类的格斗三国或是过关类的动作三国,主角都是三国时期著名的武将,如西蜀五虎将等等。他们以单独作战的形式,使用自己的武器和绝招来完成自己的使命。此类游戏对抗性较强,对游戏者只要求有较快的反应与熟练操纵键盘的能力,能够敏捷的对计算机的动作做出正确的反应。没有什么故事性与策略性,只要一直的战斗下去就可以了。

     

    桌面类三国游戏

    桌面类三国游戏绝对是小品级的游戏。全部以掷色子碰运气来决定游戏的胜负,类似《大富翁》或强手棋的玩法,只不过将阿土仔钱夫人换成了刘备、曹操而已。人物的形象设计完全采用卡通形象,通篇的台词与事件都充满了诙谐、幽默、搞笑的成分,可以说是消遣休闲、老少咸宜的游戏。作为娱乐是可以的,但是历史性就荡然无存了。

     

    从上面的例子可以看出,同一个题材,可以应用于不同类型的游戏上。游戏策划要根据题材的种类、目前的制作能力来选择恰当的游戏类型来表述题材。而且最重要的一点是:绝不要被目前所现有的游戏类型所束缚,要敢于在传统游戏类型上加以创新和变革。

    当然,创新和变革不能是盲目的,不能为了创新而创新、为了变革而变革。在进行创新之前,先要考虑好这样的创新是否对游戏的可玩性有帮助;是否在程序上和美工上只要花费较小的代价就可以取得明显的效果;玩家们对这种创新是否会乐于接受;这样的创新对于体现游戏的精髓是否是必要的和有益的;是否对于表现游戏的题材有所帮助……创新和变革要建立在深思熟虑、反复思考的基础上,不能盲目进行。盲目进行的创新和变革对游戏是有害的。

    从目前的趋势来看,游戏逐渐向混合类型的方向发展着。越来越多的游戏离开了典型游戏类型的范围,在原有的游戏类型上融入了其他类型游戏的因素。

    在电脑及次世代游戏机上,明显可以看出混合模式游戏将占据主流的趋势。近年来,混合类型的游戏所占比例逐年升高,种类也逐渐增加。最初的游戏混合类型几乎没有几种,但到目前,可以发现差不多在所有的游戏模式之间都存在交叉现象,比如最近所推出的游戏中,有射击+恋爱育成、战棋+恋爱育成、动作+解迷、RPG+育成、SPG+模拟经营等等,不胜枚举,还有象以前就存在的SRPGARPG等。游戏模式的混合,可以改进单一游戏模式的单调性,增加游戏的可玩度,提高玩家对游戏的兴趣。如果策划实在做不到创新和变革,那么可以在游戏类型的混合上动动脑筋。

     

    3.1.3 游戏的风格

    游戏的风格是一个很抽象的概念,它大体上取决于游戏的美术风格、色调的运用、策划的对话设计、过场动画的脚本创作等。游戏风格决定了游戏者在一种什么样的氛围中进行游戏过程。风格可以是多种多样的,但必须与题材和类型配合得当。比如一个严肃的题材,比如《鸦片战争》,就不宜于用轻松诙谐的卡通风格来表现。这将造成风格与题材的严重冲突。或者是一个适合幼儿的益智类游戏,就不可能用类似《雷神之槌》的那种阴暗的画风。

     

    3.1.4 小结

    以上题材、类型和风格三个方面是基本平等的关系。题材关系到游戏策划的方面多一些;类型关系到程序方面多一些;而风格则是美术工作来确定的。游戏在立项的时候,是应该将这三个方面综合起来进行考虑的。比如程序方面的实力弱一些,那么就不要做那些程序难度大的游戏类型--比如RPG、即时战略游戏;如果策划方面的实力比较弱,就避开需要策划进行大量工作的题材--比如幻想题材,需要非常优秀的原创脚本,而目前国内的游戏策划一般不具备写优秀脚本的实力(故事谁都会编,但问题是要让听的人投入感情);至于风格的确定,可以看美工具体擅长哪方面的创作。

    实际上游戏类型、风格与游戏策划的关系也很大。例如战棋游戏需要一个感人的故事做主线、要在系统上有所突破、要尽量多设计出武器、道具、职业种类等等--对于策划来讲也是不小的考验。至于游戏风格,对于一款搞笑风格的游戏,策划如果不具备幽默感,怎么写对话和脚本?所以在游戏制作中,无论什么题材、类型与风格的游戏,策划都绝不轻松。

     

    3.2 游戏大纲的确定

    如果现在你已经将游戏的题材、类型和风格确定了下来,那么你将真正进入游戏的实质性设计阶段--确定游戏的大纲。 游戏大纲将要对游戏的方方面面做一个总体化的设定和规划,将勾勒出游戏的大体雏形--如果把制作游戏比喻为盖房子的话,那么游戏大纲就是这所房子的建筑图纸,日后一切的工作都将在大纲所规定的范围内进行。所以游戏大纲对于一款游戏的制作来讲,是非常重要的,因此一定要尽量做到完善。下面将结合具体例子来进行讲解游戏大纲的确定过程,由于我们对即时战略比较熟悉(曾经开发过《三国演义--赤壁》),例子将采用三国题材的即时战略游戏类型来说明。

     

    3.2.1 确定游戏由哪几部分组成

    对于一款类似《C&C》的即时战略游戏,一般分为建设部分--进行建筑物的建造、作战单位的生产;战斗部分--进行部队的调动、攻击;单挑部分--进行武将一对一的战斗。如果要想加入更多的创新要素,从理论上来讲,我们可以再加入RPG部分--进行有限的对话、动画演示,推动情节的发展,还可以加入道具和装备系统;策略部分--将三国志系列的形式与即时战略融合在一起,形成嵌套关系。即战略部分凌驾于其他四部分之上。那么现在,就将游戏分为了五大部分,其关系如下图:

    3-1 游戏各部分关系图

     

    如上图所示,游戏由五部分构成──战略部分、建设部分、战斗部分、单挑部分及RPG部分。战略部分为最上层,在战略部分可以通过切入城市的办法进入建设部分;还可以通过调集部队进攻的办法进入战斗部分;通过部队的移动进入特殊地点的部分进入RPG情节部分。在建设部分可以通过对武将的操作进入RPG情节部分。在战斗部分可以通过对武将的操作进入单挑部分。这样在这五部分之间就充分建立起了联系,可以进行任意的切换。同时,也大体勾勒出了游戏的基本框架:以战略游戏为外壳,强调国家与国家之间的关系;以即时战略的战斗方式为发展手段;加入角色扮演成分体现历史人物的作用。

    注意:这里指的是理论,在实际制作过程中,游戏很难涵盖如此众多的内容,而且在容纳了如此众多的游戏内容之后,游戏将变得没有重点,使游戏者无所适从。

     

    3.2.2 按照划分好的部分各个进行纲领性的说明

    在划分好各个部分以后,就要对各个部分分别进行提纲性质的说明,将各个部分大体的包括的内容描述出来,也是将各个部分的形式描述给程序部门和美术部门看。

     

    战略部分的综述举例

    战略部分作用为表现任务关的最基本部分。战略地图的大小从1*1屏、1.5*1.5屏到2*2屏,表现方式为地图形式。在地图上有城市、河流、村庄、树林、山脉、稻田、湖泊、金矿、渡口、道路、特殊地点等等。其中树林、稻田、金矿作为资源点存在、城市作为建设生产地点存在。

    在战略地图上,没有黑阴影,只有索敌阴影。即游戏者在一开始就可以知道本任务关所有的地形,但对敌人部队位置的确定只能在敌人进入我方部队的索敌范围之内才能发现。

    在战略地图上,可以加入多种效果。如雨、雪、风等天候,雨雪效果要精细;天空中的浮云与飞鸟的动画;地形的动画如树木的随风摇摆、麦浪翻滚、湖泊波光粼粼;以及时间的推移,即将有清晨、正午、黄昏、夜晚的四种时间变化。如果有可能,在湖泊、河流上加上天空的倒影。

    在战略地图上,游戏者主要的操作是控制部队、切入城市进行建设、切入资源点进行采集资源的操作等。

    在上述描述中,你可以看到战略部分的大体外观表现了,同时也能够通过描述,在脑海中先有一个战略部分的大致印象。下面要接着描述在战略部分中控制部队、切入城市进行建设、切入资源点进行采集资源的操作。

     

    3.2.2.1 部队的操作:

    移动:一支部队由五十个作战单位以及一名武将组成,在战略地图上以图标形式存在。移动速度与本部队的兵种组成有关,骑兵为主的部队移动起来比步兵为主的部队速度要快;在不同的地形上移动速度也不同,穿越树林的速度比在道路上移动的速度要慢。如果遭遇敌人部队,切入战斗部分。根据敌人的不同状态而有不同的战场情况。比如敌人如果是埋伏的状态,那么切入战斗部分时,我军部队将没有排好阵形。
      ⒉ 计策:在战略地图上,文官将领可以使用计策,对敌人的部队进行打击或干扰其行动。不同的文官会使用的计策会有所区别。计策的成功率和破坏力将受到武将智力与等级的影响。计策有以下几种:
      ⑴ 火计:在地图上形成火焰地带,烧伤敌人的部队。火计将受到地形、天气的影响。在合适的地形上才可以使用火计,在雨、雪天气将无法使用本计策。
      ⑵ 加速:提高部队的移动速度,而且不影响部队移动时的属性。
      ⑶ 部队及武将生命力恢复:可以使武将及受伤士兵的生命力恢复。
      ⑷ 落石:使用落石杀伤敌人的有生力量。受到地形的限制,必须在我军处于高地地形而敌人处于平地时才可以使用。
      ⑸ 落雷:特殊的计策,只有少数武将会使用。使用时,将会在战略地图上出现聚集的乌云,然后空中向地面劈下闪电,可以杀伤敌人的部队及武将。威力强大。画面效果华丽,效果显著。
      ⑹ 火龙:特殊的计策,只有少数武将会使用。使用使,在战略地图上出现一条火焰的龙,从地图上呈直线穿过,沿途的适宜地形均会燃烧。同样受到天气的限制。
      ⑺ 水攻:用于使用在靠近水域的敌人部队上。
      ⑻ 疑兵:制造自己部队的替身,在战略地图上制造假目标用于迷惑敌人。
      ⑼ 假令:用于敌人部队上,可以起到让敌人暂时失去行动能力或做出不合理的行动,比如在行军时中了假令,将改变行军方向。
      ⑽ 远视:可以使自己部队的索敌范围加大,同时可以发现埋伏状态的敌人。
      ⒊ 埋伏:在地图上合适的地形上,比如树林中和丘陵上,我军部队可以埋伏下来。在埋伏的过程中,可以切入埋伏地点进行建设。修建陷阱、鹿砦等工事性建筑。部队如果被敌人发现,只要不离开埋伏地点,工事依然有效;但如果主动结束埋伏过程,离开埋伏地点,所修建的工事性建筑将全部消失。所消耗的资源不与退回。具体操作见下文的建设部分
      ⒋ 扎营:在地图上合适的地形上,比如平原和道路上,我军部队可以进行扎营的操作。在扎营的地点,可以切入进行修建陷阱、鹿砦、箭楼等工事性建筑及防御性建筑,但无法修建生产性建筑。部队在扎营期间,士兵和将领损耗的生命力将恢复,将领体力值恢复的速度加快。部队如果离开扎营地点,即算做拔营,扎营所耗费的资源退回百分之七十。具体操作见下文的建设部分
      ⒌ 道具:所有将领身上都带有道具。在战略地图上可以使用。道具分以下几种:
      ⑴ 恢复部队生命力类:
      ⑵ 恢复武将生命力类:
      ⑶ 恢复武将体力类:
      ⑷ 攻击类:
      ⑸ 加速类:使己方部队速度提高。
      ⑹ 索敌类:可以在战略地图上暂时起到照明的作用,用于搜索敌人部队,可以发现埋伏状态的敌人。
      ⒍ 物资采集:资源采集部队所特有的指令,用于资源的采集,当部队物资采集满以后,此命令将不再出现。
      ⒎ 物资回运:资源采集部队所特有的指令,用于资源的运送。当部队没有运载物资时,此命令将不出现。
      ⒏ 阵形:选取部队在作战时的阵形,影响部队在战斗中各个作战单元的位置。
      ⒐ 登陆:针对搭载陆军部队的登陆舰队的专用命令。
      ⒑ 入城/出城
      (1) 进入或撤出城市。
      (2) 切入城市、扎营和埋伏地点: 在战略地图上可以切入城市、扎营地点和埋伏地点进行建筑物的建造。具体操作及建筑物的种类见建设部分
      (3) 切入资源点: 在战略地图上可以切入资源点进行资源的采集和建筑物的建造。具体操作见建设部分

      现在,战略部分的大致描述就完成了。至于里面的很多没有详细说明的部分,是会在以后的策划工作中进行的,现在先不用去详细的叙述。战略部分叙述完成后,再进行其余部分的叙述。

    3.2.2.2 战斗部分的综述举例

      根据已经确定的游戏各个部分的关系图,当双方部队相遇时;己方部队攻击敌人城市、资源点、扎营地及遭遇埋伏军队时;对方部队攻击我方城市、资源点、扎营地及遭遇埋伏部队时会进入战斗部分。战斗部分在战斗地图上以即时战略的形式进行。
      战斗地图大小初订为4*4屏一种。战术地图上的图素与战略地图上的图素是两套,而且战术地图上的图素要做到在真实的基础上的细致、漂亮。在战斗地图上没有任何阴影。战斗地图的图素种类受到战略地图的限制,比如在战略地图上是下雪的天气,那么在当时发生的所有的战斗地图的图素就全部为雪景。战斗地图的产生方式见下文。
      部队单位在移动时,在雨雪天气时,要在地上留下脚印。在浅水区行动时要有水纹。
      发射类武器的弹药要走抛物线,有提前量和误伤的设计。
      著名将领有自己的形象,普通将领则用通用形象。形象分武将与文官两种。两种将领在应用上有区别。武将有武将技,以攻击性为主,在战斗及单挑时使用;谋士有计谋,以恢复、攻击、破坏、提高属性、减低敌人属性及其他方面为主,在战略及战斗使用。
      将领有经验值,通过积累经验值可以提升等级,从而提高能力以及技法。能力也可以通过使用道具来提升。
      将领可以通过装备来提高自身的攻击力、防御力及移动速度。
      将领存在体力值和生命值,士兵攻击武将先降低体力值,后降生命值,当体力值降低为0时,将领攻击力为0且开始降低生命值。 将领如果生命力为零,该将领所率领的部队即认为是被全歼。该部队图标从战略地图上消失。
      (1) 进入战斗部分的方式:
      根据在战略地图上的不同情况,切入战斗部分将有不同的情况。
      ⒈ 部队与部队的接触
      ⑴ 双方部队全部是通常的行军状态相遇:根据遭遇点战略地图图素的性质,随机生成以该种地形图素为主的图标。比如是在战略地图的树林中相遇,那么随机生成的战斗地图就应该是以树木的图素为主。具体的战斗地图如果在算法上无法做到顺利的随机演算生成,那么可以事先用地图编辑器做出以不同地形搭配的战斗地图各15张左右,在发生战斗时随机挑选。根据程序的编程程度而定。
      双方部队根据遭遇的初始位置关系而确定,分为上下左右的四种对称的出现方式。比如在战略地图上相遇时我军部队在敌人部队的左方,那么在切入战斗画面时,我军部队将在战斗地图的左边列阵,敌人在右边列阵。其他情况亦然。
      双方出现时均已列好阵势。
      ⑵ 敌人部队为普通行军,我军为埋伏:战斗地图不是随机演算而成,而是读出埋伏部队所设计的战场。包括游戏者所堆放的草堆、所挖的陷阱要出现在原先放置的位置上。双方部队将出现在固定的相应位置上,比如敌人在地图中央,我军在地图的固定一侧。这就要求在埋伏时要比较技巧的放置陷阱和草堆,做到敌人进入战场后,陷阱与草堆都能发挥作用。如果敌人的出现位置不理想,游戏者要能将敌引至陷阱处,需要较高的战术技巧。
      敌人部队出现时没有排好阵形,我军部队排好阵形。
      ⒉ 敌人进攻我方部队资源点或城市
      战斗地图不是随机演算而成,而是读出所设计的战场。包括游戏者所建造的建筑物格局、防御工事的位置。所堆放的草堆、所挖的陷阱要出现在原先放置的位置上。双方的位置应该是我军部队出现在战斗地图的中央,敌人出现在战斗地图的四边。双方均列好阵形迎战。
      ⒊ 由于RPG情节引发的战斗
      在游戏中,有可能在游戏进行中由于故事情节的需要而发生特定的战斗。这种战斗由于是故事情节所引发,是一种特殊类型的战斗,参加武将特定、部队特定、战斗地图特定……所有的因素都是固定的。只要游戏者在游戏中满足了战斗发生的条件就会发生,所以具体的战斗安排全部是特定的,与普通战斗不同。
      (2) 游戏者在战斗地图上的操作
      游戏者在战斗地图上可以进行以下操作:
      ⒈ 对整支部队
      ⑴ 行军:使整支部队保持阵形移动到指定的位置。
      ⑵ 攻击:让整支部队攻击指定的目标。
      ⑶ 阵形:转变部队的阵形。
      ⑷ 警戒移动:使整支部队保持阵形移动到指定的位置。但在移动过程中如果攻击范围内出现敌人,部队将开始攻击。
      ⑸ 突击:整支部队散开队形,攻击向离自己最近的敌人部队,相当于托管。
      ⑹ 结阵:所有部队以武将为中心重新集结成阵形。
      ⑺ 停止:所有部队停止动作,原地停下。
      ⑻ 呼叫:呼叫增援部队。增援部队必须在战略地图上离战斗发生地点距离不超过三格。
      ⑼ 其他:暂时不与添加。 
      ⒉ 对选定的作战单位
      ⑴ 行军:将选定的作战单位移动到指定位置。
      ⑵ 攻击:命令选定的作战单位攻击特定的敌人部队。
      ⑶ 警戒移动:使指定的作战单位移动到指定的位置。但在移动过程中如果攻击范围内出现敌人,部队将开始攻击。
      ⑷ 突击:所有指定的作战单位攻击向离自己最近的敌人部队,相当于托管。
      ⑸ 停止:所有指定的作战单位停止动作,原地停下。
      ⑹ 解散:使指定的作战单位脱离将领带领,成为散兵。
      ⑺ 加入:使指定的作战单位脱离原将领带领,加入到另一将领的麾下。
      ⑻ 其他:暂时不与添加。
      ⒊ 对将领
      ⑴ 移动:命令将领移动到指定位置。
      ⑵ 攻击:命令将领攻击指定的敌人部队。
      ⑶ 警戒移动:使指定的作战单位移动到指定的位置。但在移动过程中如果攻击范围内出现敌人,将领将开始攻击。
      ⑷ 停止:将领停止当前动作,在原地停止。
      ⑸ 计策:将领可以使用以下计策:
        ① 攻击性计策:
         火计:一般的计策。
         落雷:特殊计策,少数文官会使。
         旋风:特殊计策,少数文官会使。
         落石:特殊计策,少数文官会使。
         特殊文官技:每个著名文官自己所特有的计策,绝不雷同。
         特殊武将技:每个著名武将自己所特有的绝招,绝不雷同。
        ② 属性类计策:
         加速:使自己部队的速度提高。
         减速:使敌人部队的速度降低。
         护盾:使自己部队的防御力提高。
         激励:使自己部队的攻击力提高。
         特殊文官技:每个著名文官自己所特有的计策,绝不雷同。
        ③ 特殊类计策:
         逃跑:全军立即脱离战场。
         单挑:向敌人将领提出单挑,没有距离限制,但有成功机率。
        ④ 恢复类计策:
         恢复生命力:恢复受伤士兵或自己的生命力。
      ⑹ 撤退:当将领退到战场边缘时,才会出现这一命令,可以使将领自己脱离战场。但士兵会丧失攻击能力,游戏者只能操纵他们向战场边缘移动。当士兵移动到边缘时,即认为是脱离战斗,回到将领身边。当战场上我方所有士兵或被消灭或脱离战场,该场战斗结束。
      ⑺ 道具:将领在战斗地图上可以使用随身携带的道具,道具有以下几种:
        ① 恢复生命力类:
        ② 恢复武将体力类:
        ③ 攻击类:攻击敌人。
        ④ 属性类:改变我军或敌人部队的属性。
      对战斗部分的描述,确定了战斗的方式。在描述的过程中,很多地方实际上规定了程序员和美工们要做的工作,你能够从中分辨出来吗?试着找一找,有相当多的部分是在为整个的工作在进行规划和描述。

    3.2.2.3 单挑部分的综述举例

    在战斗部分当双方武将进入两格的距离以内,将自动切入单挑部分;单挑部分也可以直接由RPG部分引发。两者表现形式相同。
      单挑部分以正上方俯视30度画面视角表现,敌我武将左右排开。单挑画面大小约为1*1.5屏。画面效果做到华丽精细。单挑场景的背景效果要有树木等图素,地上的草丛要有动感,能够有风吹动的动画。
      单挑部分同样以即时战斗方式进行。画面上有双方将领的生命力(血槽)、体力(能量槽)、时间槽。其中时间槽是不断从零到满渐渐增长的,分为红、黄、绿、闪光四个阶段。游戏者在不同的阶段发动攻击,分别对应将领的动作为不能动作、普通攻击、全力一击和武将技(含道具)。当一方将领有所动作时,时间槽即暂停增长,到将领动作完毕后再继续增长。当将领行动后,该武将的时间槽即回零,从头开始增长。使用绝招会消耗将领体力。
      击倒对方武将的最后一击会放慢动画播放速度,造成类似慢动作的效果。如果是用绝迹击倒对方,还会有闪光效果出现以加强画面震撼力。
      双方将领在分别在画面两边,在攻击时会有相应的攻击动作。比如在普通攻击时,将领会催马向前,对对方进行攻击。受攻击一方会有相应的动作,比如防御、闪避和直接命中的动画。防御使用时间槽,会使伤害减半;闪避不使用时间槽,消耗体力,而且成功有机率,能够使对方攻击完全无效;直接命中不消耗任何时间或体力,但完全承受对方攻击。伤害的程度、闪避的成功率根据双方将领的武力、防御力、移动力和使用的攻击方式来计算。
      游戏者在单挑部分可以对将领进行以下操纵:
      (1) 不能行动状态:当时间槽为红色时,游戏者不能对将领进行任何操作。这项设计是为了避免游戏者不停的攻击而使时间槽完全停止增长或增长速度极为缓慢,从而导致计算机无法行动而设立的。
      (2) 普通攻击:当时间槽为黄色时,游戏者可以进行普通攻击。普通攻击的伤害力不高,但由于速度较快,比较不容易闪避。
      (3) 全力一击:当时间槽为绿色时,游戏者可以进行全力一击。全力一击的伤害力比普通攻击要高,但相对来讲,闪避的机率也较高。
      (4) 武将技(绝招):在时间槽闪光阶段,游戏者可以使用武将技。著名武将有属于自己的绝招,普通武将有通用武将技。绝招的伤害力相当大,且很难闪避,但要消耗掉相当的体力,有些武将技甚至要付出消耗生命力的代价。文官在单挑中无法使用任何计策或绝招。
      (5) 道具:在时间槽闪光阶段,游戏者可以使用道具。道具种类有以下几种:
      ⒈ 攻击性道具:对对方将领造成伤害。不同的道具有不同的伤害力和闪避机率。
      ⒉ 属性类道具:对自己或敌人的将领造成影响。比如攻击力在三回合内提高;防御力提高;时间槽增长速度加快;降低敌人将领属性;使敌人将领时间槽增长速度变慢等等。
      ⒊ 恢复类道具:对自己使用,可以恢复生命力、体力或两者均恢复。
      ⒋ 特殊类道具:产生特殊的作用。比如立即撤出单挑。
      (6) 撤退:在时间槽闪光阶段,可以撤退。撤出对自己不利的单挑。有成功机率的计算。
      单挑部分的设计采用了现在比较流行的RPG中即时战斗的方式。这种战斗方式具有节奏紧凑、紧张激烈的效果,用于表现二马错镫,刀戟相交的古代武将之间的较量有恰如其分的作用。

    3.2.2.4 建设部分综述举例

      在战略地图上可以随时点击城市和渡口;资源点和部队扎营地;部队埋伏地点切入建设画面。三种地点的能够建设的建筑物不太相同,下文中将分开阐述。
      在游戏中,建筑物的建造和修复将采用类似《命令与征服》的菜单直接建造方式,放弃《魔兽争霸2》和《赤壁》中以工人建造的办法。用菜单建造建筑比较方便快捷,而且画面表现起来会简单素净一些。
      游戏者在建设部分可以进行作战单位的训练;建筑物的建造;对部队进行有限的操作;触发游戏的RPG情节,进入RPG部分,比如购买道具和装备,与特殊人物对话,与普通NPC对话等等。
      (1) 关于建筑物
      建筑物的分类:建筑物分为四类。
      ⒈ 生产性建筑:承担作战单位的训练、武器的升级等。其种类有:
      ⑴ 主帅帐(4*4):初级建筑。训练工人部队。
      ⑵ 兵营(3*3):初级建筑。训练士兵。
      ⑶ 木材场(3*3):初级建筑。收集木材、研究弓兵武器。
      ⑷ 马厩(3*3):二级建筑。训练骑兵、骑弓兵的必要建筑。
      ⑸ 特殊训练营(3*3):二级建筑。训练特殊兵种的必要建筑。
      ⑹ 工匠所(3*3):三级建筑。开发研制特殊兵种的建筑。诸如连弩、火箭车、等等。
      ⑺ 水寨(3*3):初级建筑。训练水军的建筑。
      ⑻ 粮仓(3*3):初级建筑,用于收集和存储粮草。
      ⑼ 其他:暂时不与添加。
      ⒉ 防御性建筑:防御性建筑承担防御功能。
      ⑴ 箭楼(2*2):初级建筑,承担防御功能。
      ⑵ 其他:暂时不与添加。
      ⒊ 工事性建筑:工事性建筑可以起到辅助防御或进攻的作用。
      ⑴ 陷阱(1*1):当敌人部队经过时,陷阱会塌陷,将敌人的作战单位消灭。对于武将起到先降低体力,当武将体力为零时,开始降低武将生命力。在武将生命力不为零时,如果掉入陷阱,能够跃出。陷阱只能被发现特殊的计策或道具发现,或被特殊的道具破除。任何兵种对陷阱都毫无办法。
      ⑵ 鹿砦(1*1):起到路障的作用,使敌人部队不能通过。鹿砦可以被作战单位用攻击的办法破坏。
      ⑶ 桥梁(2*2):横架于水面之上。陆军部队可以通过桥梁跨越水面。同时,桥梁可以起到阻拦对方水军的作用。桥梁可以被部队用攻击的办法破坏。
      ⑷ 草堆(2*2):堆放在地面上的草垛。可以用计策或火属性的攻击引燃。火在草堆上燃烧的时间比较长,而且容易蔓延。
      以上建筑说明:
      所有建筑物建造分三个阶段,损毁也分三个阶段,损毁时要有较详细的动画交代,小股火焰从建筑物不同的位置上冒出,如果能有燃烧的烟出现最好。
      所有建筑物如果能有动画,比如旗帜的飘动、灯光的明暗变化等,将提高画面的生动程度。
      建筑物分三个等级。在开始就能建造的建筑为初级建筑;必须在其他一些建筑物建造后才能建造的建筑为二级建筑;在所有建筑建造完成以后才能建造的建筑为三级建筑。
      ⒋ 功能性建筑:功能性建筑在游戏中承担特殊的功能,主要是RPG的部分。比如道具的购买和交换;武器的购买、装备和交换;触发特定的RPG情节等等。其种类有以下几种:
      ⑴ 道具屋(3*3):将领进入道具屋可以购买道具、出售道具、与同处在同一地域内的武将交换道具。有时可以触发情节。
      ⑵ 情报屋(3*3):将领进入情报屋可以通过花费金钱来购买当前任务关的有关情报。包括敌人的军队部署、将领情报、资源状况、敌人的部队动向等等。有时可以触发情节。
      ⑶ 武器屋(3*3):将领进入武器屋可以购买武器装备、与同在一地域的将领交换武器装备。武器装备有武器、防具和马匹。有时可以触发情节。
      武器分为剑(刘备、普通文官用)、刀、枪、羽扇(诸葛亮专用)。每种武器有不同的种类和作用。
      防具分为武将用的铠甲和文官用的长袍。每种防具有不同种类和作用。
      马匹武将和文官通用。不同种类的马匹对移动力的影响不同。
      ⑷ 演武场(3*3):游戏者在演武场中可以通过交纳费用的办法,使将领与在同一地域的将领以单挑的方式获取经验值以提高等级。有时可以触发情节。
      ⑸ 特殊建筑(尺寸不定):触发RPG情节,提供游戏线索。比如在刘备娶亲” 一关中,乔国老的家即属于此类建筑。
      ⑸ 民居/军营(2*2):触发RPG 情节,提供游戏线索。
      ⑹ 其他:暂时不与添加。
      功能性建筑说明:
      功能性建筑为每关开始给定,无法建造、修复与破坏。
      前四种建筑一般只存在于城市之中,很少出现在其他地方。后两种建筑有可 能在任何地点出现。
      功能性建筑在不同的地区要有不同的外型,但要有统一的标志。比如在荆州、成都、建业的武器屋的造型要有区别,但它们的标志全部是剑与盾交叉的图案(举例而已)。
      将领进入功能性建筑以后,外部时钟停止。
      城墙和城门算是特殊地形。在任务关开始时给定,不可修建,可以被损毁,可以修复。
      在城市、渡口的建造:在城市和渡口中,可以训练出作战单位。在其他建设地点则不行。但在渡口中不能建造生产性建筑。只能建造防御性及工事性建筑。在城市中可以建造任何可以建造的建筑。
      在资源点和部队扎营地的建造:在资源点和部队的扎营地,只能建造防御性及工事性建筑。
      在部队埋伏地点的建造:在部队的埋伏地点,只能建造工事性建筑。
      (2) 关于部队 部队的生产和组建
      ⒈ 部队的种类
      部队分八大类,各自又分几种。
      ⑴ 步兵:
        ① 藤牌手:
        针对敌人的弓兵而产生的兵种,手持的盾牌可以很好的遮住自己身体的重要部分,防止弓箭的伤害。但对于骑兵那种高速凶猛的冲击,盾牌就没有任何突出的作用了。
        ② 长枪手:
        长枪手所持的武器对于骑兵来讲是颇具威胁的。八尺长的长枪比骑兵所使用的大刀有效杀伤距离要长得多。通常在骑兵冲到自己之前,长枪就贯穿了他们的身体。不过长枪手由于没有任何防御性装备,在弓箭手的准确射杀下,他们就显得没有任何威胁。
      ⑵ 弓箭手
        ① 弓兵:
        作为基本的弓箭手,他们在各个方面的表现都显得比较均衡。如果能够部署到恰当的位置、针对敌人恰当的兵种,就能够起到预期的作战效果。
        ② 连弩兵:
        由诸葛亮所设计的连弩所装备起来的兵种,为西蜀的特有部队。连弩射击速度比普通弓箭要快上很多,不过由于射速的提高,使射程变得不尽人意,而且由于连弩的笨重,使士兵们不得不在行动时扛着他们的武器,也使行军速度降低了不少。虽然如此,在其射程内,同等数量的连弩兵齐射的威力可以抵得上两倍数量于自己的弓兵。
        ③ 骑弓兵:
        普通的弓兵配属坐骑就成为了骑弓兵。由于配属了坐骑,使行军速度大大加快,成为快速打击力量的重要组成部分。但也由于坐骑的原因,使得不仅在远距离上对藤牌手的杀伤力不强,而且在近距离内也无法抵挡长枪手的戳刺。
      ⑶ 骑兵
        ① 骑兵:
        骑兵是进攻部队最常见的组成兵种,他们快速的行动能力、凶猛的攻击力量都使他们通常在一场战斗中起到至关重要的作用。虽然在与长枪手部队对战时,他们的威力不容易发挥,但对于其他兵种,他们的力量足以使对手屈服。
        ② 铁甲骑兵:
        将骑兵的战马批上铁甲,就成为了铁甲骑兵。显而易见,铁甲骑兵的防御力比普通骑兵要高,但厚重的铁甲同样也造成了战马的负担,使他们在行动速度上比不过不批铁甲的同伴们。
      ⑷ 远程武器
        ① 投石车:
        远程武器的最基本种类。依靠人力将巨大的石头投掷出去,对建筑物、城墙以及士兵都有极大的威胁,数辆投石车同时发射,就能对敌人造成毁灭性的打击。不过由于行动笨拙、射速很慢,而且对于敌人的近战毫无还手能力,所以一般只在攻坚战中使用,在野战中很少用到。
        ② 神火飞鸦:
        特殊的远程武器,能够利用机簧的力量发射可以依靠惯性滑翔的鸟状火焰弹。射程比投石车要远,火焰弹在落地之后可以爆炸燃烧,对建筑物的破坏力虽然不如石头强,但爆炸后迸裂开的火焰对士兵威胁较大,能够使爆炸点周围的士兵受伤。不过火焰弹的装填比较费时,极大的影响了发射速度。
        ③ 火箭车:
        利用巨大的弓弩一次可以依次发射九支火箭的弓箭车。火箭对于建筑物尤其是石头城墙威胁很小,但火箭落到地上以后可以在地面上持续燃烧一段时间,造成一片火海,对穿越火焰的士兵造成伤害。火箭的飞行距离比普通的弓箭稍远一些,不过也很有限。
      ⑸ 水军
        ① 运输舰:
        在作战的地形中两军之间如果有大片的水域将双方隔开,尤其是当敌人的基地远离岸边,在战舰的射程之外时,就需要我军部队登陆作战。运输舰就是起到运输部队登陆的作用,没有任何武装,移动速度也不快,但却是不可缺少的水军部队。
        ② 战舰:
        战舰是水战的主要作战部队,起到打击敌人水上有生力量,掩护我军登陆舰队以及在一定程度上摧毁敌人近岸建筑物的作用。
        ③ 楼船:
        东吴的特有水上兵种,庞大的舰体、高大的舰桥楼层建筑、凶猛的火力……充分体现了东吴水军在水战中所占据的优势。不过移动速度慢、射击速度慢、尤其是造价高昂是其致命的弱点。一般在舰队中是作为指挥舰出现,配合战舰作战,很少有大规模的楼船集结成舰队。
      ⑹ 特殊兵种
        ① 侦察兵:
        没有攻击力、移动速度极高、视野广阔的侦察部队,不仅在地面上可以畅行无阻,在水面上也可以不搭乘登陆舰而使用自身携带的皮筏通过。无法与作战部队混编,也无法归属将领指挥,他们是一种特殊的部队,一直是以个人为单位完成自己的侦察任务,将敌人的兵力部署、基地情况探察清楚是他们的最大作用。
      ⑺ 生产兵种
        ① 工人:
        稍具攻击力的部队,他们的任务主要是从事资源的采集和运送工作。他们可以与作战部队混编。
      ⑻ 其他
        ① 平民:
        他们是时代的牺牲品,只是被动而且不幸的被卷入了战争的旋涡。作为战场上的无辜参与者,面对全副武装的军队,他们毫无还手的力量,只能被侵入者的军队残杀。不过对于西蜀军队这样的仁义之师,他们反而成为了被保护的对象。
        ② 特殊人物:
        一些对作战有帮助的神秘人物。通常在到达某个特殊地点或完成某个特殊任务后出现。能够对完成当前的作战任务有所帮助。

      ⒉ 部队的生产
      不同的建筑物训练不同的兵种。在兵营中训练所有的步兵、弓兵和骑兵。在特殊训练营中训练特殊兵种和远程兵种。在水寨训练水军部队。
      各个作战单位在训练出来以后,会在生产自己的建筑物周围出现待命。没有武将带领的作战单位只能进行移动的操作,没有攻击性行为。
      在点击建筑物进行建筑的时候,可以进行自动生产作战单位。数量从一到九。每在生产图标上点击一次,增加一个自动建造的数目。
      ⒊ 部队的组建
      对于未组建成部队的散兵,可以将他们加入到一名将领的麾下,组成有战斗力的部队。
      将领的选择必须是与散兵共同出现在同一地域的将领,不允许跨地域组建部队。而且此将领所原先所率领的作战单位数必须不足满值。
      ⒋ 部队的操纵
      游戏者在建设部分可以对部队进行简单的操纵。
      ⑴ 移动:
      ⑵ 强制攻击:强迫部队对目标进行攻击。
      ⑶ 阵形:
      ⑷ 解散:将部队的部分或全部作战单位解散,使其成为散兵。即便部队的全部作战单位都解散,将领也不消失,依然出现在屏幕上,依然作为一支部队,只是没有士兵而已。
      ⑸ 加入:将部队的部分或全部作战单位加入到另一名将领的麾下,脱离原来的将领指挥。
      ⑹ 出城:将部队移动出当前地域,使它在当前建设地图上消失。
      ⑺ 其他:暂时不与添加。

      关于资源的采集与运送
      资源的采集与运送全部有工人来承担。工人可以与战斗兵种混编,但一支部队采集资源的速度和负载资源的数量受到工人数量的影响。
      游戏有三种资源:金矿、树木和粮草。在战略地图上的表现形式为资源点。游戏者可以切入资源点进行建设,可以直接手动操纵工人进行资源的开采,也可以在战略地图上将资源采集的过程交给计算机。比如一支资源采集部队能负载的资源满值是5000,那么在战略图上可以看见在资源采集部队的上面有一条代表资源满值度的槽。当采集部队进行采集工作时,游戏者可以看见槽在渐渐长满,当到达满值时,部队将资源运送回资源收集地。如果直接切入资源点进行手工操作,游戏者可以指挥工人们砍树、收割粮草的位置等等,在收集到满值时,将出现提示信息,部队将运送资源回资源收集地。如果游戏者在手动采集到一半时切出到战略地图,计算机将继续以后的工作。
      资源运输以工人推送车辆表示。如果在资源运输过程中遇到敌人部队,资源运输车被击毁多少,则认为资源被敌人抢走相应的数量,加入到敌人的资源数中。所以当资源运送部队遇敌时,如果该部队的战斗兵种不足以抵挡敌人的进攻,那么将领首先要撤出战斗,然后尽量多的把运输车撤出战斗地图。
      其他说明
      一 建设部分的建筑物建设与士兵的训练在切出至战略图上时继续进行,但人员的移动全部停止,在游戏者从战略图中切换回来时保持原样。
      二 在建设部分时,外部时钟不停,部队继续移动。所以在游戏者搞建设时,部队、资源点、城市会遭到敌人部队的进攻。当受到进攻时,立即切入战斗部分。在战斗部分,外部活动一律停止,包括部队训练、建筑物建设、部队移动、建筑物修复等等,活动的只是当前战场。
      三 游戏者所进行的建设活动,将完全反映在战斗地图中。比如当敌人部队进攻我方城市时,所出现的战斗地图中的建筑格局完全是游戏者所建设的设计。同样,对于其他可建造地点的所有相应建筑如箭楼、陷阱等也完全同游戏者所摆放的一致。
      在建设部分中,对兵种、建筑物、资源等进行了分类和描述。对于即时战略游戏,兵种与兵种之间、兵种与建筑物之间、兵种与武将之间都应该有相互的联系,如在速度、射程、威力等方面有相互克制或相互补充的功能。这些性能在兵种、建筑物参数中应该有所体现。在大纲的部分中,只要做到兵种、建筑物的种类齐全就可以了--远程武器、防御建筑物、快速兵种。这里指的是一般的即时战略游戏的模式,一般的即时战略游戏的克制关系脱不出以下几种--兵种与兵种之间的相互克制、兵种与防御性建筑(箭楼炮塔一类)之间的相互克制以及法术对兵种、法术与法术之间的相互克制(法术在这里是个泛称,凡消耗Mana或能量的技巧,我将其笼统的称之为法术)有些即时战略游戏是没有这种相互关系的,作为补充,它们的设计必然在其他方面上有所突破和革新,在这里不做讨论。读者可以自己设想一下,用什么样的设计方案可以作为克制关系的替代。

    3.2.2.5 RPG 部分综述举例

      RPG部分在游戏中占据了不小的比重。主要进行交代剧情、刻画人物、提供游戏线索、影响游戏进程、提供游戏分支路线的作用。
      (1) 人物
      在建筑物中出现,承担建筑物功能(比如店老板)、交代剧情、活跃气氛或引发特殊情节和线索。
      ⒈ 道具屋负责人:两种形象。
      ⒉ 武器屋负责人:两种形象。
      ⒊ 演武场负责人:两种形象。
      ⒋ 情报屋负责人:两种形象。
      ⒌ 居民:老人、老妇、中年男子、中年女子、男青年、少妇、男孩、女孩、兵士,各类人有不同的身份。特殊人物根据各关不同而有所变动。登场武将根据每关不同有所改变。
      ⒍ 补充说明:有些人物(尤其是登场武将)要有表情改变。表情可以有一般、喜悦、大笑、哀伤、生气、受伤等。根据不同的人物及剧情需要而单独设计。
      人物性格:在对话、表情、动作以及武将技等设定方面,体现人物的各自性格,比如刘备的仁、关羽的义、张飞的猛、赵云的勇以及诸葛亮的智等等。
      (2) 对话
      在建筑物中的每个人都有自己的台词,次要人物为一至二句,主要人物根据不同剧情需要设计。
      在战略地图中、战斗地图中、建设部分中、单挑部分中都会有对话的出现。
      (3) 事件 游戏中会出现不同的事件。事件由不同的条件触发。
      ⒈ 时间触发:比如在任务关进行的第几天,敌人出现援军。
      ⒉ 地点触发:比如在我方部队到达地图上某一点,将会触发一定的事件。
      ⒊ 选择触发:游戏者对游戏中出现的选项做出的选择,将带来不同的后果。比如游戏者对游戏中出现的对话选择不同的回答。
      ⒋ 人物触发:用特定的将领接触特定的人物。
      ⒌ 行动触发:游戏者操纵将领以一定行动顺序行动,触发事件。
      ⒍ 道具触发:游戏者得到特殊的道具,使用将触发事件。
      ⒎ 综合触发:综合了以上几种条件的触发形式。
      (4) 情节过场动画
      游戏中有大量的情节过场动画。起到交代剧情、铺垫情节等不可缺少的作用。情节过场动画将采用类似影视的多镜头、多角度的画面设计,充分做到精细和生动。
      为了体现游戏中三国武将个人特色,RPG部分显得至关重要。在上文说过,三国游戏如果能突出刻画人物,体现武将在历史中的作用,将历史人物与历史事件有机的结合在一起。以武将为基本描述点;历史事件与进程为叙述线;整个三国时期的局势做为面,做到重点突出、线索连贯、全面铺开,将点、线、面三者结合起来叙述,就可以从军政结合的角度完美的表现三国时期的历史。而且《三国演义》本身对人物的刻画也是非常成功的。在《三国演义》中,罗贯中老先生使用七分史实,三分虚构的行文方式,在不掩盖历史大事件的同时,巧妙的运用虚构的手法一一勾勒出三国中所有的英雄的脸谱,突出了个性。使他们不仅作为平面人物存在,而且变得有血有肉,呼之欲出。关羽的义、张飞的猛、赵云的勇、刘备的仁、曹操的奸、诸葛亮的智……无一不变得让人难以忘怀。这也正是《三国演义》的魅力所在。如果能够在游戏中将这一特性表现出来,相信能让游戏增色不少。
      注意:在游戏大纲的确定期间,游戏策划要经常与程序部门、美术部门讨论该大纲各个部分的设计是否可行。比如在表现雨雪效果时,从程序上讲,是要在画面上加一层画面卷轴,这样就增加了程序的难度,而且加卷轴对计算机的资源也进行了占用,会使游戏的运行速度受影响。对于美工方面则是加大了他们的工作量--在原有的场景上面,还要进行雪景的渲染。这时策划就要进行衡量:雨雪效果是否值得付出这样的代价来实现,实现了以后究竟能够提高多少游戏的可玩性。雨雪效果还是程序、美工都能实现的,如果有些游戏设计使程序和美工根本实现不了,那就更不用考虑了。

    3.3、各个部分的细化工作

    在游戏大纲得到所有部门一致通过后,游戏就该进入全面制作的阶段了。 这时,策划的任务是在游戏大纲所描述的基础上,对游戏的各个部分进行细致的填充工作。这些工作针对游戏来讲,是比较烦琐和琐碎的工作,也是体现策划能力的地方。
      还是以上述游戏为例子,根据大纲的设计,在游戏设计中要进行细化的方面有以下这些:

    3.3.1 兵种:

    对于已经设计好种类的兵种来说,现在的主要工作是进行兵种参数的设置工作。而兵种的参数设定,直接影响的游戏的进行过程。
      兵种的参数种类有
      归属:决定此兵种是否是由一家君主所独有,还是三方君主都可以制造。
      生命力:决定此兵种的血格,间接影响到此兵种的制造时间。
      攻击力:此兵种的对敌人的伤害能力。
      防御力:此兵种对敌人攻击的抵抗能力。
      附加攻击力:对付相克兵种的提升攻击力。
      附加防御力:受到相克兵种的攻击是提升的防御力 产生建筑:由哪所建筑所生产出来。
      射程:攻击范围有多大。
      移动速度:在地图上进行行军时的速度。
      攻击速度:进行攻击时的攻击频率。
      需要资源数:需要耗费多少资源才能够生产出来,间接影响到生产速度。
      对于美工的工作,还要总结出士兵的各种状态,以便美工进行设计。比如步兵的动画一共有11种:八个方向的行军动画、攻击动画、死亡动画、站立动画。

    3.3.2 武器道具:

    根据已经设定好的武器道具种类,进行武器道具的参数设置工作。
      武器的参数种类有
      名称:武器要有一个合理的名称才能让游戏者接受,而且能够体现武器的等级 和价值。
      种类:这种武器属于那一类的武器,什么武将可以装备。
      攻击力:装备上此武器后,能够提高多少攻击力。
      防御力:装备上此武器后,能够提高多少防御力。
      特殊作用:是否还具备特殊的作用,比如使敌人中毒等。
      价格:用多少钱可以购买得到。
      道具的参数种类有
      名称:体现道具的作用和等级。比如小还丹是恢复体力的,而大还丹的作用比小还丹要强。
      使用方式:是使用还是佩带才能使道具发挥作用。
      提升攻击力:是否能够提升攻击力,能够提升多少。
      提升防御力:是否能够提升防御力,能够提升多少。
      恢复生命力:是否能够恢复生命力,能够恢复多少。
      伤害力:能够给敌人多少伤害。
      特殊作用:是否有其他作用。比如让敌人中毒或关系到情节的发展。
      作用范围:能够影响到多少对象,是单人的还是多人的。
      价格:用多少钱可以买到。
      备注:一些特殊的事情,比如这种道具有是否能重复使用。

    3.3.3 地图

    游戏的所有行动全部是在地图上进行的,对于地图,要规定的项目有:
      地形的种类:有多少种地形。每种地形的是否可以通行。
      地图的样子:地图上各种地形的分布,作战双方建筑的布局,资源的分布,双方初始兵力的对比--最好能够用简图的形式表现出来。
      在游戏中,地图有图素的概念,即地图是由小单位的图片拼成的,这样可以极大程度上减少美工的工作量。大家注意一下《魔兽争霸2》和《红色警报》的地图编辑器,使用的就是图素拼接的方式。 地图设计举例--基本是魔兽争霸的地图方式:
      地图设计举例--基本是魔兽争霸的地图方式:
      地形图素分为两种大类型。一种以草原风光为主,主要色调为草绿色,以草地为主,没有较大面积石山,有较大面积的水。另一种以山区风光为主,主要色调较草原地区为暗,有较大面积石山,没有大面积的水。山石为带缓坡悬崖类,即从缓坡的方向可以登上,从悬崖方向不可攀登,要注意到高度的透视效果。
      在草原类地形中,地形图素分为草地、土地、深水、浅水、竹林、山石、稻田、竹桩、稻茬。草地为基本图素,为可建筑地形。其它图素上不可建筑。草地及土地图素要有四种左右的变化,比如草的长短、碎石等不同的变化。 在山地类地形中,地形图素分为砂岩、砾石、深水、浅水、树木、山石、稻田、树桩、稻茬。砂岩为基本图素,为可建筑地形。其它图素上不可建筑。砂岩及砾石图素要有四种左右的变化,比如砾石的分布及形状等不同的变化。树木的图素与竹林要有差别。
      在两大类型的地形基础上,改变调色板的颜色,做出雪景。
      在两大类型的地形基础上,改变调色板的颜色,做出晨昏变化。

    3-2 地图简图的绘制

     

    地图简图不要求多高明的绘画技巧--对地图进行润色是美工的工作,策划的任务是规定地图的样子。

    3.3.4 动画

    动画是游戏必不可少的组成部分,起到交代剧情、烘托气氛的作用。好的动画脚本应该是能够让游戏者在情绪上受到感染。比如《仙剑奇侠传》中的几个过场动画,一些欧美游戏的片头、结局等等。然而写出好的动画脚本非常的难,要求策划具有一定的镜头感觉和写电影脚本的能力。 下面是我为关羽之死写的一个动画脚本,并不成熟,只是作为例子而已。
      关羽之死
    (音乐起)[近镜头]一群东吴兵围住关羽,关羽的马倒下,被东吴兵擒获。
      (切、马蹄声)[以较低的视角展示一片平原,]突然从迎面冲出一匹马,转瞬间冲过镜头,[镜头随即向后转180度],坐骑向画面纵深奔去。[镜头随即提高为远斜俯视],关索在一片广阔的原野向成都急奔,远方是一轮夕阳,坐骑后拖着一溜烟尘。
      (切)关羽被士兵押入东吴的大殿,东吴群臣议论纷纷,孙权得意的坐在大殿的龙椅上。孙权挥了挥手,刽子手走出,簇拥着关羽向外走去。
      (马蹄声、切)关索奔入成都城区,马突然倒下,关索摔倒,头盔飞出,徒步向宫殿跑去。
      (切)关羽通过人群的夹道向刑台走去。(慢动作)
      (切)成都大殿内景,群臣汇集,突然大殿的门打开,关索冲入,向刘备跪下
      (切)关羽在刑台上,刽子手站在关羽身后。关羽缓缓环视着周围,然后慢慢低头。[镜头切换为关羽的主观视角]从面前的人群注视到地上的影子,刽子手的影子缓缓举刀,突然落下。一声锣响,镜头突然倾斜,然后变成一片血红。
      (切)成都大殿中刘备站起,大叫
    二弟,扑翻龙岸,倒下。众人围上。
      游戏中,这样的剧本有很多,如果策划本人不具备剧本写作的经验和实力,还是请教专业人士比较好,或者与美工多进行交流。

    3.3.5 计谋

    计谋包括武将使用的必杀技和文官使用的计策,两者不尽相同。 对于计谋的描述应该由两方面组成,一方面是计谋画面效果的描述--方便美工进行绘制,一方面是其参数设定--方便程序进行设置。
      见下文的例子:
      锁喉枪 使枪武将的最基本的技法。
      战场上使用:武器带光晕围绕自己身体周围盘旋一周,攻击围在自己身体周围的敌人士兵。用于身陷重围时使用。
      单挑中使用:接近敌人武将时,武器带光晕击出,威力比重击要大。
      断魂枪 使枪武将的中级技法。
      战场上使用:枪挥出一个弧形的光波,呈直线飞出,贯穿整个战场。杀伤在飞行路线上的敌人。遇到建筑物和障碍时爆炸消失。
      单挑中使用:在原位挥枪发出一个弧形的光波,呈直线飞向敌人武将。
      断魂连环枪 使枪武将的高级技法。
      战场上使用:枪挥出三个弧形的光波,平行呈直线飞出,贯穿整个战场。杀伤在飞行路线上的敌人。遇到建筑物和障碍时爆炸消失。
      单挑中使用:在原位挥枪发出三个弧形的光波,呈直线飞向敌人武将。
      豹突奔袭 马超的高级技法。
      战场上使用:挥出豹子形状的光波,呈直线飞出。杀伤5格宽的直线飞行范围内的敌人。遇到建筑物和障碍时爆炸消失。
      单挑时使用:挥出豹子形的光波,向敌人武将奔跑冲去。
      煌华斩:夏侯渊的高级技法。
      战场上使用:挥刀飞出球状光波,在空中分裂成25个,射向目标点的5*5范围。
      单挑中使用:挥刀飞出球状光波,在空中分裂成9个,略微分出前后顺序击中敌人武将。

    编号

    名称

    单挑攻击力

    战场攻击范围

    战场攻击力

    体力

    使用条件

    武将

    1

    锁喉枪

    50

    1*8

    40

    50

    LV1

    普通

    2

    断魂枪

    75

    1*直线

    60

    75

    LV5

    普通

    3

    断魂连环枪

    100

    3*直线

    80

    100

    LV10

    普通

    4

    豹突奔袭

    150

    5*直线

    120

    150

    LV20

    马超

    5

    煌华斩

    150

    远点5*5

    120

    150

    LV20

    夏侯渊


      将文字描述与表格结合起来,才是计谋的完整设计。

    3.3.6 情节

    情节是RPG部分的重点,牵扯到很多的问题,比如游戏的分支、事件的触发等。
      情节包括故事流程和对话。表示除了用详细的文字进行说明之外,对故事流程还要有清楚明晰的流程图来表示,便于程序员进行编程。
      举例而言:对于刘备去东吴招亲,我们可以做如下安排。
      刘备娶亲的过程实际也是东吴政治集团与西蜀政治集团斗智斗力的过程。如何能够使刘备在重重危机之中不仅要娶到孙尚香,完成政治联姻;而且还要能够毫发无损的回到荆州。这对刘备集团是至关重要的事情,对于操纵刘备的游戏者来讲,如何解决一系列难题,使刘备能够如愿以偿,也是对游戏者的最大挑战。
      游戏脚本节选:东吴招亲:吕范求见部分刘备与诸葛亮对话
      [画面]
       :刘备官邸 时间:中午
       :房屋内景。地上铺着简单的装饰性地毯,墙上挂着几幅字画和刘备的双股剑。屋子靠内的地方铺陈着一张方毯,方毯上有一张条案,条案后摆放着一张虎距山峰的屏风。
       :刘备、诸葛亮、吕范、小童
      (刘备与诸葛亮坐在条案旁)
      刘 备:(眉头紧锁)东吴数次遣使索讨荆州,纵是前番立下文书,又由子敬作保,恐只是一时权宜之计,若其再来索讨,如之奈何?
      诸葛亮:主公请放宽心,东吴再遣使来讨时,亮自有良策应对。
      (门开,小童入,跪禀)
      小 童:报--!东吴使者吕范自江东而来,有要事求见主公。
      刘 备:(惊,向小童立起)什么?
      诸葛亮:(刘备转向诸葛亮)(诸葛亮笑)此乃周瑜之计,必为荆州之故。亮只在屏风后潜听。但有甚说话,主公都应承了。留来人在馆驿中安歇,别做商议。
      刘 备:(转向小童)请东吴来使进见。
      小 童:是!
      (小童躬身退出,诸葛亮起立,走入屏风后{能看见身影}

    3-3 分支图

     

    由于原来的游戏流程叙述太长,而且与现在的理论联系不是很大,所以只是节选举例而已,使大家能够明白游戏情节部分的制作内容就可以了。
      除去游戏中情节必须的大段对话以外,还有一些起到补充作用的对话,比如在街道上和NPC进行无关紧要的对话。这样的对话一般不用过于细致的制作,但是如果有精力,最好能够下一些工夫。比如在对话中交代游戏背景故事、体现当时当地的风土人情、告诉游戏者一些游戏的提示等。

    3.3.7 界面

    界面部分就屏幕上各个图象文字的有机构成。好的界面直观、清晰明了、有亲切感、便于游戏者操作。界面一般由菜单、图标组成。对于界面的设计,一定要将游戏中所有的功能在菜单上完全显示出来,因为游戏者要通过对的操作来进行游戏,所以界面的设计文档一定要尽量全面。
      游戏菜单一览(部分)
       开始菜单
       (一) 开始游戏
       (二) 读取进度:
          出现进度列表,共6栏。还有确定取消键。
       (三) 训练任务
          进入游戏训练模式,进行游戏基本操作的训练。
       (四) 动画重放
          出现游戏中所有动画片段的名称。游戏者可以选取游戏中所有的CG片段进行回顾。只有在游戏者进行过相关内容的游戏后才可以选取相应的动画。否则该选项为不能选取状态。
       (五) 退出游戏
       战略层界面
       (一)没有点取任何单元时,屏幕上应有当前关的资料。
       ⒈ 金、木、粮的数目;
       ⒉ 当前的天气状况:包括风、雨、雪、晴等;
       ⒊ 主菜单按钮。
        ⑴ 存贮进度:6栏,确定、取消
        ⑵ 读取进度:6栏,确定、取消
        ⑶ 系统选单:调节游戏速度;音乐、音效音量;屏幕亮度等相关系统选项。
        ⑷ 该任务关任务说明:
        ⑸ 返回游戏
        ⑹ 退出游戏
       ⒋ 查询按钮
        ⑴ 部队情况按钮
        将领名称、当前状况(行军、埋伏……)、部队人数。 
        点击部队可以直接切入到该部队画面。
        如果部队在城中,就切入到城中。
        如果部队在地图上,就切入以该部队为中心的地图
        如果部队在资源点,切入到资源点 如果部队埋伏,切入到埋伏地点。
        ⑵ 资源点状况按钮
        资源点类别、资源数。
        点击资源点可以直接切入到资源点中。
        ⑶ 武将状况按钮
        武将的姓名、等级、武力、智力、详细情况按钮--出现武将头像、等级、经验值、武力、智力、生命力、体力、装备、道具、小传。
        点击武将可以切入到武将所在位置。
        ⑷ 返回按钮
       (二)点取资源点
       ⒈ 显示资源点资源数
       ⒉ 命令按钮
        ⑴ 进入资源点
        ⑵ 命令部队停止采集,撤退。
       (三)点取渡口
       ⒈ 显示渡口状态
       ⒉ 命令按钮
        ⑴ 进入渡口进行建设
        ⑵ 命令水军部队出渡口--显示水军列表。
       (四)点取作战部队
       ⒈ 显示部队状况
       包括武将头像、姓名、等级、经验值、武力、智力、生命力、体力、部队人数
       ⒉ 命令按钮
        ⑴ 行军:
        ⑵ 攻击:
        ⑶ 停止:
        ⑷ 埋伏:
        ⑸ 计策:各个武将的计策种类不一样。
         ① 火计:
         ② 加速:
         ③ 部队及武将生命力恢复:
         ④ 落石:
         ⑤ 落雷:
         ⑥ 火龙:
         ⑦ 水攻:
         ⑧ 疑兵:
         ⑨ 假令:
         ⑩ 远视:
        ⑹ 道具:出现武将自己携带的道具选单
        ⑺ 扎营:
        ⑻ 阵形:9个阵。
       (五)点取敌人的所有地点
       ⒈ 显示地点状况
       (六)点取视野内敌人部队
       ⒈ 显示敌人部队状况
       包括武将头像、等级、经验值、武力、智力、生命力、体力、部队人数。
       战斗战场层界面
       (一) 没有点取任何单元时
       ⒈ 显示作战基本资料。
       包括武将头像、姓名、等级、经验值、武力、智力、生命力、体力、装备、部队人数。
       ⒉ 命令按钮:
       武将切换:可以在我方武将之间互相切换。(在出现增援部队以后)
       (二)点取武将(代表整支部队)
       ⒈ 显示资料 包括武将头像、姓名、等级、经验值、武力、智力、生命力、体力、装备、部队人数。
       ⒉ 命令按钮
        ⑴ 行军:使整支部队保持阵形移动到指定的位置。
        ⑵ 攻击:让整支部队攻击指定的目标。
        ⑶ 阵形:转变部队的阵形。
        ⑷ 警戒移动:使整支部队保持阵形移动到指定的位置。但在移动过程中如果攻击范围内出现敌人,部队将开始攻击。
        ⑸ 突击:整支部队散开队形,攻击向离自己最近的敌人部队,相当于托管。
        ⑹ 结阵:所有部队以武将为中心重新集结成阵形。
        ⑺ 停止:所有部队停止动作,原地停下。
        ⑻ 呼叫:呼叫增援部队。增援部队必须在战略地图上离战斗发生地点距离不超过三格。
       (三)点取建筑(如果战场中有建筑的话)
       ⒈ 显示资料
       包括建筑名称、牢固度、射程、攻击力等。
       (四)点取敌人武将
       ⒈ 显示资料
       包括包括武将头像、等级、经验值、武力、智力、生命力、体力、部队人数。
       (五)点取敌人作战单位
       ⒈ 显示资料
       单位的攻击力、防御力、射程、生命力……
       建设战场层界面
       (一) 未点击任何单元时
       ⒈ 显示基本资料: 资源数
       ⒉ 命令按钮:
        ⑴ 建设主帅帐(4*4):初级建筑。
        ⑵ 建设兵营(3*3):初级建筑。
        ⑶ 建设木材场(3*3):初级建筑。
        ⑷ 建设马厩(3*3):二级建筑。
        ⑸ 建设特殊训练营(3*3):二级建筑。
        ⑹ 建设工匠所(3*3):三级建筑。
        ⑺ 建设水寨(3*3):初级建筑。
        ⑻ 建设粮仓(3*3):初级建筑。
        ⑼ 建设箭楼(2*2):初级建筑。
        ⑽ 建设陷阱(1*1):
        ⑾ 建设鹿砦(1*1):
        ⑿ 建设桥梁(2*2):
        ⒀ 建设草堆(2*2):
       (二) 点击主帅帐
       ⒈ 显示资料
       包括攻击力、防御力、射程、牢固度等
       ⒉ 命令图标:
        ⑴ 生产工人
       (三)点击兵营
       ⒈ 显示资料
       ⒉ 命令图标
        ⑴ 生产藤牌手
        ⑵ 生产长枪手
        ⑶ 生产弓箭手
        ⑷ 生产骑兵
        ⑸ 生产重骑兵
        ⑹ 生产投石车
       (四)点取武将(代表整支部队)
       ⒈ 显示资料
       包括武将头像、姓名、等级、经验值、武力、智力、生命力、体力、装备、部队人数。
       ⒉ 命令按钮
        ⑴ 行军:使整支部队保持阵形移动到指定的位置。
        ⑵ 攻击:让整支部队攻击指定的目标。
        ⑶ 阵形:转变部队的阵形。
        ⑷ 警戒移动:使整支部队保持阵形移动到指定的位置。但在移动过程中如果攻击范围内出现敌人,部队将开始攻击。
        ⑸ 突击:整支部队散开队形,攻击向离自己最近的敌人部队,相当于托管。
        ⑹ 结阵:所有部队以武将为中心重新集结成阵形。
        ⑺ 停止:所有部队停止动作,原地停下。
       场景层界面
       (一)进入道具屋
       ⒈ 道具列表:名称、作用、价格……
       ⒉ 命令按钮:
        ⑴ 购买:
        ⑵ 出售:
        ⑶ 道具传递:
        ⑷ 退出:
       (二)进入武器屋
       ⒈ 武器列表:
       ⒉ 命令按钮:
        ⑴ 购买:
        ⑵ 出售:
        ⑶ 武器传递:
        ⑷ 退出:
       单挑层界面
       (一)时间槽:红、黄、绿、闪光
       (二)道具按钮:
       (三)攻击按钮:
       (四)武将技按钮:
       (五)撤退按钮:
       其他
       (一)选择话框
       (二)对话确定
       (三)胜利画面:
       (四)失败画面:
       (五)读盘画面:
      以上菜单设计文档并不完全,只是举个大概的例子而已。在设计界面的时候还要注意尽量摆脱传统的文字菜单模式,多采用图象化菜单。
       建筑物
      建筑物的设计主要是在规定建筑物功能、设定建筑物参数、设定建筑物之间相互关系上。大家如果玩过《C&C》或《魔兽争霸2》的话,应该还记得它们并不是上来就把所有你能建造的建筑全部都显示出来,而是随着游戏的进行,当你建造了一些基本建筑后,一些高级的建筑才允许你修建。这就是建筑物之间的相互关系。而建筑物的参数决定了建筑物的建造时间等必要属性。

      属性列表(节选)

    名称

    牢固度

    防御力

    攻击力

    射程

    占地

    建造条件

    帅帐

    1500

    5

    0

     

    400

    1200

    4*4

     

    马厩

    1000

    5

    0

     

    300

    1000

    3*3

    兵营

    工匠所

    1000

    5

    0

     

    400

    800

    3*3

    马厩

    兵营

    800

    5

    0

     

    300

    800

    3*3

     

    箭楼

    500

    5

    40

    20

    250

    500

    2*2

     


       武将
      武将是游戏的灵魂,所有事件、故事都是围绕着武将展开的,所有的战斗都是由武将来带领的。对于武将的详细设计是武将的参数、根据情节中武将出现的需求归纳武将的表情肖像种类等。

      武将参数设计举例(节选)

    编号

    武将名

    智力

    武力

    类型

    形象

    头像

    武器

    1

    刘备

    85

    90

    武将

    1

    2

    关羽

    88

    140

    武将

    2

    3

    张飞

    45

    145

    武将

    3

    4

    赵云

    95

    150

    武将

    3

    5

    马超

    60

    145

    武将

    3

    6

    黄忠

    80

    135

    武将

    4

    7

    诸葛亮

    150

    80

    谋士

    1

    8

    庞统

    145

    40

    谋士

     

    1

    9

    魏延

    70

    135

    武将

     

    2

    10

    马岱

    65

    120

    武将

     

     

    2

    11

    糜竺

    70

    30

    谋士

     

     

    1

    12

    刘封

    50

    70

    武将

     

     

    3

    13

    马良

    100

    36

    谋士

     

     

    1

    14

    马谡

    80

    80

    谋士

     

     

    1

    15

    李恢

    90

    50

    谋士

     

     

    1

    16

    关平

    70

    100

    武将

     

    2

    17

    周仓

    40

    100

    武将

     

    2


      武将表情统计举例(节选)

    编号

    武将名

    头像种类

    1

    刘备

    喜悦、愤怒、惊讶

    2

    关羽

    喜悦、愤怒、惊讶

    3

    张飞

    喜悦、愤怒、惊讶

    16

    刘封

    惊讶


       阵型
      阵型是中国古代作战的一种艺术,因此在体现中国古代战争的游戏中通常要用到,可以说是体现了中国古代战争的精髓。
      五行梅花阵
      此阵型为三级阵.十五名士兵按1,6,11;2,7,12… …的号码分为五组.1,6,11;2,7,12;3,8,13;位置的近程攻击力1.2,远程攻击力0.9,近程防御力1.3,远程防御力0.9.其余位置远程攻击力1.2,近程攻击力0.9,远程防御力1.3,近程防御力0.9.

    3-4 阵型的设计图

     

    兵种顺序:
      骑兵:161127123813、其它
      步兵:161127123813、其它
      弓兵:其它、161127123813
      车兵:其它、161127123813
      云梯:其它、161127123813
      大舰:其它、161127123813
      小舰:其它、161127123813
      登陆舰:161127123813、其它

      上图是《三国演义--赤壁》中阵型的设计图。在设计上,将15名士兵围绕主将(A的位置)排成规则的形状,每名士兵站的位置直接影响到他的攻击力和防御力,阵型之间的参数还有相互克制的联系。对于士兵们的自动排阵,还给出了其优先的站位,便于他发挥自己的作用。此外,由于阵型有8个方向,程序还要需要其他方向阵型坐标的转换关系,这也需要策划写明。

      十一 智能
      智能即大家所说的“AI”,指计算机能够模拟人的智能对游戏者的操作进行反应。在即时战略游戏中,这是非常重要的一个组成部分。即时战略游戏的趣味性很大程度上取决于计算机的反应是否合理,因此一定要对这部分高度的重视。人工智能的设定是先由策划给出总结好的游戏中所有可能出现的情况以及计算机应有的反应,再由程序员进行归纳,然后用程序实现。
      在《赤壁》中,策略分三个层次--本能策略、将领策略、君主策略。君主策略指挥将领策略、将领策略指挥本能策略。下面举出本能策略的文档做例子:
      赤壁部队本能策略
       共同准则
    所有部队执行行动的顺序如下:首先是控制者所下的命令应马上执行;其次是当自身受到攻击时的反击反应(不同部队有不同的反应);第三为当本组队其他成员或处于自身视野中的己方建筑受到攻击时应采取的支援反应(不同部队有不同的反应);第四为当敌人处于攻击距离内应做出的攻击反应(有反击能力的敌人优先,具体顺序见下文)。
      举例来讲,当一支步兵作为一组队的成员之一,他首先应执行的是控制者所下的命令(无论这命令是下达给组队或他个人),如移动、攻击、阵型等;只有当他执行完控制者所下的命令后,如受到敌人的攻击才可以采取反击行为;只有当他执行完控制者所下的命令且自身未受到敌人的攻击时,当本组队其他成员或处于自身视野中的己方建筑受到攻击时,他才应采取支援反应;只有在前三种情况都未发生时,他才可以对攻击距离内的敌人进行攻击行动。
       兵种行动规则
    (一)工人
      1:在执行移动命令时:除接受新命令外无论遇到什么情况,都应继续执行命令。
      2:在执行生产性命令(木材、金钱、铁矿、修复)时:
       1)受到新命令,应马上执行。
       2)受到敌人攻击,应停止正在进行的行动采取躲避行动。躲避后,原地待命。
       3)资源如开采完(包括修复),则在原地待命。
      3:原地待命中:
       1)受到新命令,应马上执行。
       2)未受到命令而受到攻击,采取躲避行动。
      (二) 步兵
      1:在执行命令时,除接受新命令以外,应一直执行。比如攻击,就要把目标完全摧毁。如敌人躲避,在未接到新命令之前应
    天涯追杀,直到将目标杀死。执行命令完毕后,在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应采取支援 攻击。如敌人躲避,应一直追杀。
       4) 未受到新命令且本组队成员全未受到攻击,而自身视野内有建筑受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       5) 上述情况全未发生时,对出现在自身攻击距离内的敌人自动进行攻击,但不追击。
      3:支援组队成员中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
      4:支援建筑中:
       1)受到新命令,应马上执行。
       2) 未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
       3) 未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应停止支援建筑而采取支援队员攻击。如敌人躲避,应一直追杀。
      5:自动攻击中:发生上述任何情况,都应停止自动攻击而采取反应。
      (三)骑兵
      1:在执行命令时,除接受新命令以外,应一直执行。比如攻击,就要把目标完 全摧毁。如敌人躲避,在未接到新命令之前应
    天涯追杀,直到将目标杀死。执行命令完毕后,在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应采取支援 攻击。如敌人躲避,应一直追杀。
       4)未受到新命令且本组队成员全未受到攻击,而自身视野内有建筑受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       5)上述情况全未发生时,对出现在自身攻击距离内的敌人自动进行攻击,但不追击。
      3:支援组队成员中:
       1)受到新命令,应马上执行。
       2) 未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
      4:支援建筑中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应 一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应停止支援建筑而采取支援队员攻击。如敌人躲避,应一直追杀。
      5:自动攻击中:发生上述任何情况,都应停止自动攻击而采取反应。
      (四)弓兵
      1:在执行命令时,除接受新命令以外,应一直执行。比如攻击,就要把目标完全摧毁。如敌人躲避,在未接到新命令之前应
    天涯追杀,直到将目标杀死。执行命令完毕后,在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应采取支援 攻击。如敌人躲避,应一直追杀。
       4)未受到新命令且本组队成员全未受到攻击,而自身视野内有建筑受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       5)上述情况全未发生时,对出现在自身攻击距离内的敌人自动进行攻击,但不 追击。
      3:支援组队成员中:
       1)受到新命令,应马上执行。
       2) 未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
      4:支援建筑中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应 一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应停止支援建筑而采取支援队员攻击。如敌人躲避,应一直追杀。
      5:自动攻击中:发生上述任何情况,都应停止自动攻击而采取反应。
      (五)车兵
      1:在执行命令时,除接受新命令以外,应一直执行。比如攻击,就要把目标完 全摧毁。如敌人躲避,在未接到新命令之前应
    天涯追杀,直到将目标杀 死。执行命令完毕后,在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       4)未受到新命令且本组队成员全未受到攻击,而自身视野内有建筑受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       5)上述情况全未发生时,对出现在自身攻击距离内的敌人自动进行攻击,但不追击。
      3:支援组队成员中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
      4:支援建筑中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应 一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应停止支援建筑而采取支援队员攻击。如敌人躲避,应一直追杀。
      5:自动攻击中:发生上述任何情况,都应停止自动攻击而采取反应。
      (六)舰船
      1:在执行命令时,除接受新命令以外,应一直执行。比如攻击,就要把目标完全摧毁。如敌人躲避,在未接到新命令之前应
    天涯追杀,直到将目标杀 死。执行命令完毕后,在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应采取支援 攻击。如敌人躲避,应一直追杀。
       4)未受到新命令且本组队成员全未受到攻击,而自身视野内有建筑受到攻击,应采取支援攻击。如敌人躲避,应一直追杀。
       5)上述情况全未发生时,对出现在自身攻击距离内的敌人自动进行攻击,但不追击。
      3:支援组队成员中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
      4:支援建筑中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应停止支援向敌人反击。如敌人躲避,应一直追杀。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应停止支援建筑而采取支援队员攻击。如敌人躲避,应一直追杀。
      5:自动攻击中:发生上述任何情况,都应停止自动攻击而采取反应。
      (七)平民 受攻击应躲避。
      (八)云梯
      1:在执行命令时,除接受新命令以外,应一直执行。执行完毕后在原地待命。
      2:在原地待命中:
       1)受到新命令,应马上执行。
       2)未受到新命令,而自身受到攻击,应躲避。
       3)未受到新命令且自身未受到攻击,而本组队其他队员受到攻击,应执行原命令。
       自动攻击顺序
      对于在攻击距离内的目标,应按敌士兵──敌箭楼──敌工人──敌大本营──敌其他建筑的顺序来自动攻击。
      对于弓兵和车兵,在敌士兵中应先攻击距离近的。在距离一样的情况下才按以下顺序攻击:骑兵──车兵──步兵──弓兵(武将兵种按骑兵计)。
      对于步兵和骑兵,由于攻击距离为1,则直接按上述兵种顺序攻击。
      如敌人同兵种且距离一样,则首先攻击敌人体力低者。如敌人同兵种且距离还有体力都一样,那就随机攻击其中一个。
       主动攻击顺序
    当控制者指挥部队去攻击敌武将时,本组队不应只攻击敌武将一人,而是连敌武将所率的组队一起攻击。
      对于步兵、骑兵,当他们接到攻击命令向敌武将前进时,在前进途中如有敌武将所率组队的成员进入攻击范围,则应立即对其开始攻击。将其杀死后才可继续向敌武将前进。
      对于弓兵和车兵,当他们接到攻击命令向敌武将前进时,在前进途中如有敌武将所率组队的成员进入攻击范围,则应立即对其开始攻击。将其杀死后才可继续向敌武将前进。当他们接到攻击命令时敌武将已经在攻击范围之内,与此同时,攻击范围内还有敌武将所率组队的成员,则应先攻击距离近的,在距离一样的情况下才按以下顺序攻击:骑兵
    ──车兵──步兵──弓兵。
      君主AI和将领AI过于复杂,有兴趣者可以自行查阅相关文档,在此不再举例了。

      十二 说明书及帮助
      在游戏基本完成时,为了帮助用户迅速方便的掌握游戏方法和规则,游戏策划还要进行游戏说明书和帮助文档的撰写工作。具体文档请参阅说明书的文档部分--直接找一份《赤壁》的说明书来翻阅一下也可以。要注意的一点是:说明书的内容一定要涵盖整个游戏,而且要做到简单易懂,周详细致。策划者要知道游戏者在接触你的游戏之前,实际上对此游戏是一无所知的,而且可能许多游戏者是第一次接触该类型的游戏甚至是第一次接触游戏,所以一定要将游戏方方面面的内容详细地进行说明,不能有觉得这是大家都知道的问题,不用进行说明了的想法。

    3.4、游戏的测试和参数调整

    在美术工作和程序工作基本进行到尾声的时候,策划就该开始进行游戏的测试和参数调整工作了。
      () 游戏的测试工作
      任何一款游戏在制作过程中都会有BUGS,无论是出名的大公司还是小公司,而且游戏结构越复杂可能出现BUG的情况就越多。BUG的出现可能是由于程序员的程序编制,也可能是由于策划的设计问题,或者是因为美工的一时疏忽--不管是因为什么原因,策划在进行测试工作时,要尽量把这些问题全部解决--不能留到上市以后让游戏者去发现。可是尽管做了大量的测试工作,有时难免还会有一些BUGS没有消掉,造成游戏上市以后出现问题,这时就需要发行游戏的补丁程序--PATCH
      游戏测试在发现BUGS以后,要及时和程序以及美工进行反馈,由他们进行修改工作,修改完成后,再进行测试,确定问题得到了解决。如此反复进行,直到没有明显的问题为止。
      在进行测试时,游戏策划不能按照自己原先设计的思路来进行游戏,由于游戏是自己设计的,所以很容易的就会按照正确的行进路线进行,但是游戏者在不知到你游戏思路的情况下,不会按部就班的完全按照你的设计思路来进行游戏,在这种情况下极其容易发生问题--尤其是在RPG游戏中。比如你设计游戏者应该从旅馆出发,找到智者寻求帮助,然后去山洞击败大魔王。如果游戏者先去山洞与大魔王战斗,然后再去找智者,这就做就脱离了你的设计思路。所以首先从设计上要完全封死游戏者这样做的可能--他不见智者就不让他进山洞,这样严格的规定了游戏者前进的路线。如果你当初在设计上没有设计周全,而且在测试时又是一直按照你自己的设计思路在进行的话,就会产生问题--轻者造成游戏的进程不合情理(游戏者在杀了魔王以后见智者,智者要求他再杀一次);严重些造成游戏难以进行下去;最严重会导致游戏死机。所以策划在进行测试时,一定要跳出自己的思路,站在一个玩家的角度来进行游戏。
      如果有条件的话,还是多找一些玩家,协助进行测试工作比较稳妥。
      (游戏的参数调整工作
      上文已经说过,在即时战略游戏中,兵种与兵种之间、兵种与建筑物之间、计策与兵种之间、计策与计策之间都存在着平衡关系。而这种平衡关系主要靠参数来进行调整。参数部分的不合理,会导致影响游戏的可玩性。
      举个很简单的例子--步兵攻击力为5,造价为100金;骑兵攻击力为10,造价200--这样的设定就比较合理。如果骑兵攻击力30,造价50金,这样的价廉物美,就不合理了。而且参数不是就两项这么简单,具体到游戏中,还有移动速度、生命力、建造时间等等其他因素的制约。一般可以有一个兵种的参数作为标准,其他所有兵种的参数在与它做比较的基础上设定,这样容易做到合理。
      还有其他的平衡关系--远程兵种、进程兵种与防御性建筑之间的相互克制;兵种与兵种之间的相互克制。拿《魔兽争霸2》来举例:敌人的步兵在进攻时,如果你的基地有箭楼,就可以非常有效的抑制住敌人的攻势,两个箭楼大概可以抵挡敌人6个步兵;但是敌人只要出动一辆投石车,就可以在箭楼的射程之外,毫发无损地将箭楼全部拆光;这时如果你也有步兵,只要有两个,就可以接近投石车,将敌人的投石车劈碎。所以一般在进攻时,都是组织起混编部队--用投石车进攻敌人的箭楼,以步兵在投石车周围做掩护,在敌人的箭楼全部倒塌之后,步兵再冲入敌人的基地进行冲锋。这样在战略战术上就有了变化。从游戏的设计角度来讲,如果有基地防御性建筑,将可以造成远程攻击兵种-炮塔-近程攻击兵种之间犹如石头、剪子、布的三角型相互克制关系。即远程攻击兵种可以利用射程上的优势使基地防御建筑没有还手之力;基地防御建筑可以发挥强大的火力和可修复性使近程攻击部队难以靠近;而近程攻击部队打移动缓慢、射速极低的远程攻击部队不费吹灰之力。这样就有一个兵种之间的作战配合与搭配问题。如果游戏者能做到战术合理,就可以用极小的代价换取最大的胜利;如果指挥失当,就会以极大的代价换取一败涂地。
      如果没有了基地防御建筑而全部用部队进行防御,就使游戏者每次进攻敌人的基地只有采用强攻战术。虽然游戏中兵种之间也可能会有有互相克制的关系,但在即时战略游戏中,不能象战棋游戏中那样非常方便的指挥自己的优势兵种攻击敌人的劣势兵种,使得每次试图运用战术的结果都是变成一场大火拼。比双方人数、比装备优劣,就是不比进攻战术。
      至于兵种之间的相互克制关系,在《魔兽争霸2》中,体现在陆、海、空三军之间的互相制约。龙能够不受地形限制的进行移动,也可以攻击毫无还手之力的剑士和重巡洋舰,但是陆军中的弓箭手和海军中的炮舰都可以对龙进行攻击,而且龙的造价非常昂贵;海军中的重巡洋舰威力强大,但是移动速度慢,而且潜艇和龙能够使它毫无还手之力,为了保护自己,它一般要在空军的掩护下行动;陆军的食人魔行动速度快,攻击力强,但是对空军和海军根本造不成威胁……如果能够使兵种之间合理的有相互克制又相辅相成的话,这款战略游戏就接近成功了

    3.5、配乐和配音

    不要小看配乐和配音的工作,在游戏中它们也是关系到游戏成败的因素之一。
      一曲与场景、画面配合得恰如其分的音乐,可以使游戏增色不少。大家看过《仙剑奇侠传》的片头吗?在悠扬清幽的乐曲声中,一队仙鹤在缓缓地飞入一片莽莽青山,使人有如登仙境的感觉;在《Street Fighter》系列中,每一名斗士都有符合自己民族背景的音乐,时而舒缓时而激昂,甚至在音乐厅进行了一场《街头霸王》系列音乐的音乐会,由著名交响乐团进行演奏。
      而配音,可以使游戏中人物的个性更为鲜明突出。在日本,专门有一批人是专门为动画片和游戏做配音工作的,叫做声优,他们塑造了很多栩栩如生、极具个性的游戏人物。就连在《魔兽争霸2》中,不同的士兵的声音也是不一样的,而且时不时的还有些出人意料的话。比如双头食人魔,游戏中你一点它,它就打个嗝,然后两个头就互相推卸:是他干的。”“不,是他干的。或者--”的一声放个屁,然后两个头就共同得意的呵呵笑了起来--非常的有意思。
      策划的工作一方面是要将游戏中所有要出现的音乐和音效全部统计出种类和数量来,便于配乐和配音的工作人员进行工作;另一方面要从风格和效果上对配乐和配音的质量进行审核,确保配乐和配音与游戏的整体风格一致。

    3.6、广告和市场

    在这一部分工作中,基本就没有游戏策划的工作了。充其量是配合广告部门和市场部门进行一下宣传工作,做一些文字上的宣传和介绍。主要的工作精力应该放在下一部游戏的思考和立项工作上。
      以上就是游戏策划在一部游戏中应该做的工作。

      :了解部分我用楷体注明。

     

    第四章:游戏策划应该具备的基本素质

     

    综上所述,游戏策划实际上是一个需要相当素质的职业,它工作中所包含的内容是极其庞杂的。做为一名好的游戏策划或者说是合格的游戏策划,我认为他至少应该具备以下的素质:

     

    4.1、对市场敏锐的洞察力

    游戏是一种特殊的商品。虽然它具有艺术性、娱乐性和高科技性,被称为第九艺术,但究其本质,它终归是要推向市场,成为商品进行流通的。而公司投资进行游戏开发的目的,也不是单纯的为了弘扬民族文化和为国产软件业做贡献 — 最大的目的是要通过出售游戏,回收资金并获取利润、提高企业的知名度,也只有这样,企业才能够进入良性循环。作为个人来讲,你也肯定不会希望只制作了一款游戏,然后因为收不回成本,而导致公司亏损倒闭或对游戏制作失去兴趣而停止游戏的继续开发工作。所以,一定要把游戏的制作与市场因素紧密的连接在一起。

    在进行设计游戏之前,一定要考虑你所设计的游戏是针对那些年龄层的玩家;考虑针对那些水平的玩家;考虑你的游戏需要多高的计算机配置,这种配置是否符合当前的消费水平;考虑这种类型的游戏是否有流行的可能;考虑这款游戏是否能够有一些有利于市场的因素--比如用金庸小说来改编游戏,由于金庸小说的读者群庞大,就使游戏在先天上占据了优势;你的游戏能否有和硬件厂商合作进行开发的可能--但是与硬件厂商合作,就意味着你的游戏一般会脱离当前流行的机器配置,而采用比较超前的硬件需求。

    而且,游戏策划一定要关注当前国际游戏市场上倍受好评的游戏,尤其是采用了新构思的游戏或者是新类型的游戏。比如国外市场在《C&C》推出以后,犹如雨后春笋般在半年之内突然出现了许多类似的即时战略游戏。有人将这种现象解释为国外游戏制作公司的创意匮乏,我倒觉得不然。国外公司一窝蜂的上马即时战略游戏是他们把握好了市场脉搏的体现。一款新类型游戏的推出,如果成功,肯定会带来巨大的市场效应。而始创公司又不可能如果成功,肯定会带来巨大的市场效应。而始创公司又不可能在短短时间内推出后续产品,这就留下了一个市场空白。面对大批喜欢这种游戏类型而又难以见到新游戏的爱好者,如果赶紧推出同类产品,就能够抢占市场。跟风跟得紧,跟得巧,同样会收到市场的回报。第一个拿花比喻女人的是天才,第二个是蠢材。可女人就喜欢被比喻成花,你用土豆或莴笋比喻一下试试?当然,即时战略游戏泛滥成目前的程度,就是问题了。就象目前国内的VCD品牌大战,市场饱和以后就烽烟四起。于是即时战略就演变成鸡屎战略游戏,再不求突破,肯定最后剩下的赢家会是大公司--BLIZZARDWEST WOOD等等。现在SSI公司没再出即时战略吧?见好就收才对。只有微软这样财大气粗的才敢硬碰硬和BLIZZARDWEST WOOD生拼,还有就是一些试图创出名堂的小公司在进行押宝性的开发。

     

    4.2、要能够充分了解玩家的心理

    游戏是要让玩家来玩的,玩家对你的游戏接受与否,决定了你的游戏的成功或失败。所以游戏策划在进行游戏的设计工作时,一定要把玩家的心态作为一项重要的因素来进行考虑。在你所设计的游戏中,什么是玩家乐于接受的,什么是玩家难以接受的,你要心中有数。比如在传统的RPG游戏中,没完没了踩地雷似的战斗、让人转得晕头转向的迷宫都是经常受到玩家指责的游戏设计方式。如果你作为游戏设计者,依然不顾及到玩家的意见,而继续在自己所设计的游戏中采用游戏者难以接受的游戏设计方式,那么你所设计的游戏的成功可能性就会大大降低。

    在国外的一些公司,当他们的游戏在设计阶段,就会将部分设计方案向社会公开,征求广大玩家对其设计放案的意见,并根据大部分玩家的统一意见修改游戏设计方案。比如日本一家公司,前一段时间就公开了女主人公的不同设计方案,让玩家们投票选举出最符合自己审美观的一种。实际上这种做法也是游戏广告手法的一种,借此扩大游戏的影响,提高游戏的受关注程度。

     

    4.3、对游戏其他部门的工作有所了解

    什么样的游戏才能算是好游戏?评价一个游戏好坏的标准是什么?制作人员们常把一个词挂在嘴边上:游戏性。一个游戏好不好,极大程度上取决于其游戏性的好坏。

    再细致讨论起来,游戏性又是什么?这时答案就不那么统一了。一般来讲,大家都会将游戏性和策划的工作联系在一起,认为策划决定了游戏性。这种观点不完全对。游戏性并不仅仅只是指游戏系统的好坏。我个人认为所谓游戏性,是一个游戏在各个方面表现的总体综合值,其中包括了游戏策划、游戏脚本、程序、美工、音乐、音效等等。一款出色的游戏往往在各个方面都有不俗的表现。

    如果将一个游戏比喻成一个人,那么美术将是这个人的外表;程序相当于这个人的身体机能;策划相当于这个人的内涵。首先我们先假设生活中的一个场面。在一个聚会上,你环顾四周,突然,一个穿着适宜、容貌漂亮的女孩(女读者把女孩换成一个高大英俊的男孩好了)映入了你的眼帘。你立即被她所吸引,决定结识她。你向她走过去,进行了幽默文雅的自我介绍。她一双大眼睛注视着你,被你的话表示感兴趣。含着笑和你开始了交谈。随着交谈的不断深入,你发现她不仅是单身、外貌漂亮,而且还心地善良、善解人意、和你有着共同的爱好……在这个愉快的聚会结束时,你发现你居然已经悄悄爱上了这个女孩……(有些象廉价爱情小说的情节)大家难以理解这个例子吗?那么下面换个方式再叙述一遍:在一个软件商店中,许多电脑在不停的演示着各种游戏。你环顾四周,突然,一个屏幕上的画面映入了你的眼帘。你立即被那种亮丽细腻、出色的光影效果所吸引,决定试玩一下。你向计算机走过去,开始了试玩。操作感出奇的流畅、速度简直象在奔腾2上运行四则运算,而且根本没有Bug的出现。随着游戏进程的不断深入,你发现这款游戏故事情节曲折、系统新颖……在试玩结束时,你发现你已经掏出钱包,准备买这款游戏了……(这是我们通常买游戏的过程)

    对比一下上面两个例子,现在大家明白了么?

    游戏最能体现自己特点的地方是策划,如同一个人有着自己的思想一样。大家想一下,当我们遇到一个陌生人的时候,首先给你留下印象的是什么?肯定是外表。如同一个衣冠整洁、容貌漂亮的人容易给人留下好印象一样,一款美工精细、画面靓丽的游戏也很容易吸引游戏者的目光。接下来进行的相互沟通,就是游戏中程序所起的作用--你的操作能够完全被电脑忠实的执行,并且有出色的反应,游戏才能顺利的进行下去。如果程序不完美呢?操作起来生涩、AI 笨拙、甚至常常死机,就如同你不懂阿拉伯语,却又试图同一名只会说阿拉伯语的人打电话一样,最后的结果就是颓废的挂上电话,终止交流。前两者都能够顺利实现的话,你才能了解一个人的内心,也就是说,你才能领略游戏的内涵部分。所以说,游戏的内涵是最能体现游戏特点的,同时又是最难让游戏者接触得到的。内涵的表现极大程度上依赖于美术和程序。

    如果在生活中,你遇到一个衣着邋遢、面目可憎的人,而且还拙于言语表达,出现在你面前,说他是震古烁今的大思想家,你信吗?不把他当疯子才怪!就算这个人的话是真的,你能和他一见如故、愉快的交往吗?反过来讲,一个容貌漂亮、声音如黄鹂鸣柳的女孩,尽管可能脑袋里是一桶糨糊(我谁也没影射,我说我自己呢),但依然会有很多人环绕着她。同理,对于游戏,只要画面精美、程序流畅,就能够吸引大部分的游戏者--内涵倒是次要的。就如同前一阵子即时战略一窝蜂的大混战,模式都基本一个样,最后年度最佳即时战略游戏的桂冠让《帝国时代》所夺走--其突出的优点充其量是美术好而已。

    所以,游戏设计思想的表达是建立在程序部门和美术部门的工作基础之上的。游戏设计者的设计方案一定要在程序和美工的制作能力范围之内,这一点在上文已经反复表述过了。你设计的方案如果根本制作不出来,那等于是没有设计一样。因此,游戏策划必须要对程序部门和美术部门的工作流程、工作步骤、目前制作能力有一定程度上的了解,才能按照实际的情况量体裁衣,进行游戏方案设计。如果你对一项设计没有把握,那么你最好多与程序和美工交流。

     

    4.4、有影视、美术、文学方面的根底

    实际上这一点只有目前在中国大陆的游戏策划才需要有这样的素质。因为在大陆,游戏制作业属于刚刚起步的状况,关于游戏策划部分的工作分工极为不明确。象在国外的大型游戏制作公司,游戏策划是作为一个部门存在的,其中又分为很多分部门,各自负责自己的工作:有游戏策划部,负责游戏总体的系统;有美术设计部,负责游戏中美术风格、原创方面的设计;有脚本设计部,负责游戏中所有动画部分的脚本和所有事件的设计;有对话设计部,负责设计游戏中人物的对话;有人物设计部,负责设计出具有魅力的主人公和配角形象……然而在国内,这些工作全部是由游戏策划一个人来负责的--充其量是两个人。所以要求游戏策划在各个方面都要有一定的造诣。从游戏的设计角度讲,这样的情况是不合理的,毕竟游戏策划不可能是全才,但是从个人角度来看,这样的情况对于游戏策划的能力培养和锻炼是极其有利的。

    在国外公司,一名策划人员一般只负责自己的那部分工作,总是在从事着同样的工种。比如一名对话设计的人员,他每天的工作就是写对话,绞尽脑汁的想出精彩的对话出来,至于游戏的其他部分,他是想都不用想的,也不需要他去想--另外有专人负责。造成的结果就是他的专业技能得到了充分的发挥,但是同时对他个人的发展也造成了阻碍。在国内,由于游戏策划对游戏的每一个设计部分都要亲自动手,很快就会成长为一名综合性人才了。

     

    4.5、能够虚心采纳别人的合理化建议

    有一件事情是作为游戏策划一定要避免的,那就是刚愎自用,不能听取他人的意见。有很多游戏设计的新颖思路都是大家在一起相互交流所得到的,靠策划一个人去想,毕竟会有所疏漏和不足。

    游戏策划做为一部游戏的总设计者,理所当然的拥有对游戏设计思想的最终决定权,当遇到游戏设计上的分歧时,游戏策划有最后定案的权利。但这并不意味着游戏策划就有完全不听取别人意见,一意孤行的权利。相反,正是由于策划有最终决定权,所以他才更有必要多听取别人的意见,从中筛选出最优秀的一个。只要是对游戏有利的建议,又不影响游戏的整体结构风格以及在制作允许范围之内,策划就有义务要采纳。如果有特殊原因不能采纳的,一定要有充分的能够成立的理由。记住一点:多与别人交流总是没有坏处的。

     

    4.6、对游戏制作有持续的极大热情

    许多没有制作过游戏的人总认为做游戏是一项很有趣、很好玩的工作,也许制作游戏可以满足你心中的梦想,但过程绝不有趣、好玩和轻松。实际上,做游戏的过程是相当枯燥和劳累的。在制作的过程中,总要遇到这样或那样的问题和挫折,而当游戏上市之后,又要受到玩家们的批评--国内的玩家们见惯了那些由国外一流厂商所开发的一流产品,对于国内公司所制作的游戏,很可能会不屑一顾,而且会批评多于赞美。这对于游戏制作者来说,是非常沮丧的。

    面对种种困难和挫折,你是否还能够有足够的热情去继续进行游戏的开发工作呢?是否能够有足够的勇气和毅力将热情持续下去呢?如果你的答案是否定的,那么你还是对加入游戏制作行列再多考虑一下的好。国产游戏业的发展不是在近期内能够追赶上国外游戏制作业水平的,这需要所有游戏制作者们持续不断的共同努力。国产游戏发展的过程,也是国产游戏制作者们积累经验、提高水平、磨练自己的过程,仅凭一时的兴趣,是不可能完成这一过程的。所以对于游戏制作者来说,对游戏制作能够持续保持极大的热情,是必须的心理素质之一。

     

    结语

    我从事游戏制作行业几年多的经验基本就介绍完了。可以说,我也是刚开始对游戏策划的工作有感觉。如果我的经验对大家有帮助,我会非常高兴。同时,我也欢迎大家和我多做交流。

    看了以上的文字,你想成为一名游戏制作者了吗?如果你已经有了肯定的答案,那么,朋友,欢迎你加入我们的行列!让我们一起努力。

    展开全文
  • 游戏开发公司中的一种职称,主要职责是负责游戏项目的设计以及管理等策划工作。  通常游戏策划在大部分公司都会有其更详尽的分工,如下:  游戏主策划:又称为游戏策划主管。游戏项目的整体策划者,主要工作...

    面试扫盲篇:策划的分类

      游戏策划,又称为游戏企划、游戏设计师。是游戏开发公司中的一种职称,主要职责是负责游戏项目的设计以及管理等策划工作。

      通常游戏策划在大部分公司都会有其更详尽的分工,如下:

      游戏主策划:又称为游戏策划主管。游戏项目的整体策划者,主要工作职责在于设计游戏的整体概念以及日常工作中的管理和协调。同时负责指导策划组以下的成员进行游戏设计工作。

      游戏系统策划:又称为游戏规则设计师。一般主要负责游戏的一些系统规则的编写,系统策划和程序设计者的工作比较紧密。

      游戏数值策划:又称为游戏平衡性设计师。一般主要负责游戏平衡性方面的规则和系统的设计,包括AI、关卡等,除了剧情方面以外的内容都需要数值 策划负责游戏数值策划的日常工作和数据打的交道比较多,如你在游戏中所见的武器伤害值、HP值,甚至包括战斗的公式等等都由数值策划所设计。

      游戏关卡策划:又称为游戏关卡设计师。主要负责游戏场景的设计以及任务流程、关卡难度的设计,其工作包罗万象,包括场景中的怪物分布、AI设计以及游戏中的陷阱等等都会涉及。简单来说,关卡策划就是游戏世界的主要创造者之一。

      游戏剧情策划:又称为游戏文案策划。一般负责游戏的背景以及任务对话等内容的设计。游戏的剧情策划不仅仅只是自己埋头写游戏剧情而已,而且还要与关卡策划者配合好设计游戏关卡的工作。

      游戏脚本策划:主要负责游戏中脚本程序的编写,类同于程序员但又不同于程序员,因为会负责游戏概念上的一些设计工作。通常是游戏设计的执行者。

     

      面试的时候请填写好所要面试的职位,这让人更觉得你有针对性和专业性。

    面试准备篇:秣马厉兵

      简历起名:

      简历名称问题:有部分朋友,用WORD做的简历,简历名就起个“个人简历”。这种简历,太平凡了,太容易被忽略,最起码要起个“某某甲的个人简 历”使自己的简历能够稍为带有自己的个人特色,要不然,丢在一大堆简历里,谁会细看,你可以站在HR的角度去想想这个问题就知道为什么了。所以,简历起名 很重要。这也是考验策划的广告宣传语的撰写能力。所谓第一眼。筷子里拔旗杆。

      策划需要个性。表达能力也是一种个性,独特能力的体现。

      邮箱简历的撰写方式:举个简单的例子吧。

      在HR的邮箱中有20封应聘简历,而,有10封命名为:“个人简历”,5封命名为“某某甲的个人简历”,2封命名为“应聘贵公司游戏策划”,1 封命名为“某某甲应聘XX公司XX游戏职位”,还有其它名字过长的。如果你是HR,你会先查看哪一封呢?如果是我,我想应该会先看那个只有一个唯一命名且 应聘职位清晰的简历。这样方便HR对你的简历进行更好的整理分类,同时,HR能感觉到你的简历是对该公司的尊重,因为,你应聘中有带他们公司的名字。而 且,简历名称,长短合适,适宜查看,并且,点击面积也比一般的短命名简历大一些。又不容易让HR感到反感。当然,你也可以把应聘标题写的稍为个性点,但 是,是要在具备简历基本要求的基础上拓展。

      应聘不只是你与公司的问题,同时也是你与其它竞争者的问题。

      策划案:

      也收到一些应聘者写的策划案,不过大多是那种没深度,没广度,没创新的。但是,实际上每个部分都不完整,于是,我会好心提醒他们,可以尝试着写 一些完整的小系统。比一个完整的策划案更好。这种大的策划案,实际价值不大,而且,HR是没有那么多时间详细察看的。浪费彼此的精力。

      还有部分,感觉就是有人可能会把公司的东西策划案拿出来应聘的,对于这种,我不知道怎么说,但是我一般不会用这样的人的,策划案怎么说都算是公 司机密,这样的人有没有诚信,谁都知道!或者拿一个系统案,什么《交易系统》,《组队系统》等,对于这种,我心里是很矛盾的,因为,这种东西似乎太普遍 了,好多地方都有,谁知道是你自己写的还是直接拿别人的系统,所以这个也基本会降低应聘的成功率。同时,也从侧面反应了,对于应聘的不认真。

      相反,我倒觉得,做为新人来说,你的优势是创新,写一些新的系统,或者刨析一些比较经典的系统,不但提高应聘机率,同时也可以学习到一些新的知 识。因为这样新的系统,是独一无二的,那是真正能证明你的思维价值的东西。有人说,不知道系统该怎么写?(当然了,如果应聘其它类型的策划,也最好能有相 应的作品,文案-文学作品等,数值-游戏数值还原,关卡-魔兽地图?等等。)

      策划有一种能力叫做收集,如果你连这个都不会,怎么做策划?

    简历的撰写:

      简历的撰写,我认为也是同样重要的,你的简历排版,显示出你对于OFFICE工具的掌控能力。你的简历的详细程度,以及简历的深度,决定了你对 自己以前工作的总结能力和对自己的特长的认识能力,以及你对游戏行业相关职位的认识能力。笔者,在没有从事策划前,也是个小白,不过,有一段日子为了应聘 策划职位,让自己更适应职位。阅览了大量应聘的相关知识,刚自己的简历就修改了无数次,用了一个月的时间,朋友称我的简历已经算得上完美了。呵呵~当然, 可能有点夸张,但是,后来确实证实面试率非常高,上海的大小公司,基本都面试过了,除了久游因为面试地点有点不好找,时间过了迟到了就没去。

      做为策划来说,应聘或者面试也算是一种策划行为,任何地方都要表现出自己的策划能力。不只是在游戏行业。

      自我定位:

      在我是小白的日子里,也会经常泡在论坛,学习一些基本的常识,比如,策划分类,职位要求,游戏基础常识,行业公司的一些基本作息。这都是做为应 聘过程中不可缺少的一环。因为,做为策划来说,就要充分利用所有已知条件,提高成功率。你如果也尝试过针对每个公司写不同的简历,那么,你可能不会立马变 成策划,至少你学会了应聘的一些技巧。也学会了策划有的放矢的一种真谛。

      我看过不少简历,他自己都不知道自己能做什么,公司怎么可能给予你合理的职位,或者说重视你。至少,把你的简历,与你所要应聘的职位联系一下。 自我定位一下,哪里合适,哪里不合适需要怎么做?找到自己的优势,与相关职位尽量产生更多的交集。然后认清自己的不足,积极改正或者补足。不管应聘任何公 司都应该是这个理。

      我要说的是应聘首先是一种态度。那是你做事的态度,也是做人的态度。

      至于那种一年几连跳的,我都不知道该说些什么了!或者尝试成为第二个刘翔,虽然对于这种情况我也能理解,因为,行业的确很混乱,跳是正常的,可 是,我觉得,任何公司只要没有倒闭都是有可学习的东西的,而且,你跳到的下一家不一定就会比这一家好,因为,一般好公司人员流动会很少。你跨来跨去可能会 觉得好像每个栏杆都差不多。但是这样的简历却真的不好看。这种简历也是很容易被刷的。

      面试之忌讳篇:踏实为本

      经常会听到游戏圈中的一种声音:就是游戏圈水深、人杂、素质低。之中相当一部分事例是来自策划的。游戏业发展的初期,人才及其匮乏,美术和程序还可以招相关专业的毕业生,而策划的招聘则有些漫无头绪。

      六、七年前的游戏业,有的公司招聘策划要求写一篇游戏评论,还有公司考试要求写出尽可能多的游戏名称和游戏厂商名称,也有公司让策划画流程图, 更多公司只是凭借主管的好恶。于是乎,有的策划因自己中学时自制“陆战棋”而被录用,有的策划因能写诗词评书被录用,还有策划仅仅因为喜欢玩的游戏和公司 老总相同而被录用。现在看来很可笑,但这确实是当年的真实状况。

      录用策划的标准如此低下而随意,这在TI行业的其他领域是十分罕见的。因此,在这样一个环境中,想要招聘到真正有经验又有才学的策划,没有一双火眼金精是不行的。

      策划的水平看作品,经验看简历。这很简单,唯一要注意的就是鉴别出简历中的假冒伪劣和吹牛夸大的成分。请看下面的劣迹曝光。

      3年换过7家公司。有些策划的简历很精彩,年纪不大却饱经沧桑,换公司比换衣服还勤快,最长的工作也只有半年。问他他当然有各种非常合理的理 由,但请仔细看,是否有好几家工作经历都不超过3个月?答案很清楚了,在别家公司没有通过试用期的人,我们就不必浪费时间再试用一次了。不是这样?而是那 些公司都倒闭了?唉,真可怜,同情归同情,哪一家公司也不想录用一个公司杀手,或者真的是霉运当头的员工。

      3年做过7个项目。这一位倒是从一而终的好员工,一直在一家公司工作,简历也很好看,做过如此多的项目,相当令人惊讶,且慢,再小的项目也要花 上一年半载,这位难道会分身术?仔细看看这些项目的制作群表我们就能明白了,“测试”、“感谢”、“技术支持”,最重要的不过是个文编。敢情这位是个万金 油,哪儿缺人往哪儿上,虽然掺和过这么多项目,但是说白了就是打杂的。

      年纪轻轻的副总经理。这一位,四舍五入不到三十岁,又是研究生毕业,又是某公司副总(或总监或C某O,道理一样),到咱们这里屈就一个策划?咱 先别受宠若惊,先算算他岁数,往回推会发现他还是个三岁上小学神童,真是真人不露相,详细一问就明白了,敢情人家所谓的研究生是花几万块钱就能上的MBA 培训班,而且一般都还“在读”。也有铁嘴钢牙咬死自己就是神童,小学跳两级,中学跳三级,本科、研究生全部都是统招的。也好办,试金石就是问他高考那年作 文题目,这是笔者的独家绝招,屡试不爽,一般参加过高考的人都记得,网上也有相关资料,答不出来的多半就是说谎。然后再去他毕业学校网站或学生处问一下, 一般就不会错杀好人了。至于某公司呢,上搜索引擎查查,多半没有,或者已经倒闭,总之是死无对证。

      开发过某某游戏。不对啊,咱也不算孤陋寡闻,怎么就没听说过这个游戏?很简单,上网查查,如果没有或只有很少的相关消息,那只有请这位拿出产品 实物来,没有?不会吧?自己做的游戏自己都不留一个?下面真话就出来了,没出版。其实说白了,对于一个策划来说,没出版=没做完=没有制作经验,都是明白 人,大家心照不宣了。

      发表过大量游戏相关文章。没有相关经验的求职者最喜欢写这个。有些是真的,背着一书包报刊杂志来面试,有些是假的,拿两份打印作品来,问在哪里 发表的,一般都支支吾吾,在网站发表算好的,毕竟是电子媒体,可不少只是放在自己个人主页上,更有甚者,只是论坛里的帖子而已,勉强也算发表,但是含金量 可就大大不同了。

      某某著名游戏是我开发的。开发和开发还不一样,女主角和匪兵甲根本不是一个档次的。先看看游戏的片头、片尾、制作群,名字排前面的一般是比较重 要的。然后再查查游戏相关报道,有出现名字的一般是核心人物(当然也有公司高层),再来就是问问他具体负责什么,是否从头跟到尾,如果回答和之前的调查一 致,此人诚实可用,如果夸大其词,还是慎重考虑吧。

      游戏年龄超过N年。不少80年代出生的人,把这个N弄到15年以上,其实3岁就开始玩游戏的不是没有,但是把雅达利说成雅利达就差点意思了,说 不清红白机哪里红哪里白就更可疑,在苹果II上玩过游戏但是不记得是什么了更有点未老先衰。咱知道您是看过一点游戏发展史硬充江湖老前辈,但拜托多用点 功,把资料背熟了再来面试。

      玩过某某游戏。要说玩过《传奇》、《星际争霸》没什么可怀疑的,稍微玩过一两小时的游戏说成玩过也不算太离谱。但牛皮不能吹太大,玩过《最终幻 想》5-11代,《勇者斗恶龙》1-7代这种话最好掂量掂量再说,至少您也要玩过一两代吧?别看过几段动画读过一本攻略就说玩过。最终幻想N的战斗系统有 什么特色?勇者斗恶龙几代中可以坐马车?最终幻想N中最终BOSS是谁?勇者斗恶龙中给经验值最多的怪物是什么?汗了吧?这些可不是听听王菲的歌,看看飞 鸡毛跳舞的动画就能知道的。没玩过就是没玩过,不丢人,牛皮吹破了才丢人。

    面试姿态篇:保持一颗高贵的心。

      姿态一诚恳。我是一个应聘者,告诉自己和应聘的公司:我热爱游戏事业,我应聘贵公司是欣赏贵公司,希望为贵公司效力。

      姿态二派头。作为一名策划,应该有一个策划的样子。正所谓干哪行像哪行。在表述问题是不应是单纯的表述自己的观点。而是围绕着策划、公司、玩家3者的角度去思考和阐述问题。表述可以通俗,但是合理使用专用术语,会让你更有策划的派头。

      姿态三温和。不管应聘公司批评或是赞扬你,都要时刻保持冷静和温和,给人一种稳重感。即使是对方误解了你,也应该通过温和的方式向对方表达出你的看法。对于很多公司招聘者来说,不仅要看你做事,同时也要看你做人的方式。

      姿态四尊重。尊重对方尊重自己,尊重对方是在面试前对应聘公司的情况和产品特色进行了解,使面试的时候有针对性。同时让公司觉得你重视他们。尊 重自己,即使你很想进某个公司,但是不能对方提什么要求你都该答应,应该充分考虑自己的实际情况。适当提出些要求,让对方觉得自己是有些分量的。

      姿态五特色。你从事的是创意工作,所以要适当的表现出你创意性以及你与他人不同点。如果你有特色,那么就很容易让对方产生出好感以及留下深刻的印象。有了特色你的价值自然将显现。所有5种姿态中,这点特别重要。

      最后以我最喜欢的《马说》一文送给大家,希望仁者见仁智者见智。

      世有伯乐,然后有千里马。千里马常有,而伯乐不常有。故虽有名马,祗辱于奴隶人之手,骈死于槽枥之间,不以千里称也。

      马之千里者,一食或尽粟一石。食马者不知其能千里而食也。是马也,虽有千里之能,食不饱,力不足,才美不外见,且欲与常马等不可得,安求其能千里也?

      策之不以其道,食之不能尽其材,鸣之而不能通其意,执策而临之,曰:“天下无马!”呜呼!其真无马邪?其真不知马也!

      以上整理自互联网,姿态篇为本人自己写的心得。希望能给各位同仁一些启示和帮助。

    转载于:https://www.cnblogs.com/yangjin-55/archive/2012/11/25/2787445.html

    展开全文
  • 本节书摘来异步社区《Unity 3.x游戏开发实例》一书中的第2章,第2.1节,作者: 【加】Ryan Henson Creighton 译者: 师蓉 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。第2章 让我们从天空...

    本节书摘来异步社区《Unity 3.x游戏开发实例》一书中的第2章,第2.1节,作者: 【加】Ryan Henson Creighton 译者: 师蓉 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。
    第2章 让我们从天空开始
    Unity 3.x游戏开发实例
    你已经下载并获得了Unity的最新版本。你已经看到了其他人用该游戏引擎制作的一些示例,并快速地了解了界面。现在可以点击菜单上的File | New Project来清除AngryBots演示项目了。给新项目选择一个文件夹(可以把它称为“Intro”)后,Unity可能会完全关闭并重新启动。重启后就会出现一个3D平面。

    点击Scene视图顶部中间的landscape按钮来查看该平面(见图2.1)。它向各个方向无限延伸——好像在你所有的方位(你的两边、你的前面、你的后面、深入地下、直往云霄)上都是无限的。是时候制作游戏了,对吧?但是怎么开始?从哪里开始呢?


    2_1

    2.1 灵感

    创意正是我们所需要的。每个游戏都是从创意开始的,当你拿起一本关于Unity的书,你至少会有一个游戏创意,你头脑中会突然闪过一个灵感,并让你精神为之一振。如果你和我一样,头脑中确实有10 000多个游戏创意,它们争先恐后地嚷着“制作我!制作我!”你会推进哪个创意呢?

    一个游戏开发者是否成功并不取决于他拥有的创意数。拥有10个游戏创意的家伙和拥有500个创意的姑娘具有同等价值。他们都毫无价值!游戏开发者开发的是游戏。让你和成功失之交臂的并不是你拥有的创意数,也不是你中途放弃的项目数,而决定你是否成功的因素是你已经完成的游戏数。也就是说:完成的人才是赢家。不要担心现在还没完成;要担心的是要完成它。

    不管怎么说,这些压力可以让你把第一个游戏做好吧?在执导《泰坦尼克号》和《阿凡达》之前,詹姆斯•卡梅隆(James Cameron)在拍摄食人鱼的续集(一部关于食人鱼的零预算B级片)。总有一天你也会成为游戏界的卡梅隆。但是现在,我们应该从头做起。

    2.2 3D诱惑

    对你来说,成为一名成功的Unity游戏开发者的最大障碍就是完成一个项目。突破这一障碍至关重要的是盯着3D平面的创意阶段。正确创意的选择会增大成功的几率。错误创意的选择会让你彻底失败。然后你可能会回到学校,学习如何成为一名会计。以游戏开发开始、以会计生涯结束是最糟糕的情况。这是我们无论如何都要避免的。

    即使在你开始前,情况对你也是不利的。无尽的3D平面正在呼唤你、祈求你制作你无法完成的一个项目。你可能会开始想你玩过的其他3D游戏:完全开放的“沙盒”游戏,如《镇压》(Crackdown)或《侠盗车手》(Grand Theft Auto);拥有很多探险和有趣挑战的平台游戏,如《超级马里奥64》(Super Mario 64);大型角色扮演游戏,如《神鬼寓言》(Fable)或《辐射3》(Fallout 3)。所有的这些游戏都具有一些共同点:在一个基于物理的环境中移动的动画人物或第一人称摄像机;一个拥有地图、任务、非玩家角色和拾取道具的丰富多彩的3D世界(见图2.2);以及消耗数百万美元预算的百人团队。


    2_2

    你可能不是和最愿意帮助你制作游戏的99个最亲密、最富有的朋友一起阅读本书的。你需要忽略无限3D平面包含的无尽范围,并培养出能够全方位处理问题的创意和智谋;也就是说,从创意到成品。

    2.3 功能VS内容

    菜鸟游戏开发者会落入的另一个陷阱是:以证明项目仍然以不可能的方式来缩小他们的创意。例如,他们会说:“我不想把眼光放得太高,所以我要制作一款像《GT赛车》(Gran Turismo)这样的游戏,不过赛车的数量要少些”,或者“我想制作具有较少关卡的《暗黑破坏神》(Diablo)”,或者“我想制作具有较少种族和只有一半物品的《魔兽世界》(World of Warcraft)。”

    要了解这种方法如此危险的原因,就要更理解游戏是如何整合起来的。这里的两个问题是功能和内容。正常情况下,50关的游戏比5关的游戏具有更多内容。50关游戏的内容是5关游戏的10倍,但它们具有相同的功能:关卡。12种角色种族的角色扮演游戏比3种角色种族的游戏拥有更多内容,但是它们具有相同的功能:角色类。

    因此,虽然你可能会认识到为游戏创建附加内容、需要讨出更多努力,但是试着确认游戏要提供的功能数。游戏提供的每个功能都需要花费更多精力,有时创建20个不同的敌人比创建敌人功能更容易。

    2.4 没有任何功能的游戏

    我们了解选择一款具有更多功能、更少内容的游戏是多么危险、多么具有自我毁灭性。而且,因为有些功能的开发需要耗费大量时间,所以选择一款功能齐全的游戏,并删除一些功能以减小项目的规模也是很危险的。

    一个更好、更容易成功的方法是,从没有任何功能的游戏开始,一个个地添加功能。使用这种方法,你可以决定什么时候对玩家开放游戏,什么时候可以把你计划好的附加功能添加到后续版本中。这是一个可以让你拥有很多阶段性胜利和成果的好方法。

    2.5 机制VS主题

    可以帮助你完成游戏的一个技巧是认识到机制和主题之间的区别。游戏机制是关于它是如何运作的。最好的游戏包含一个简单易学、难以掌握的简单机制,而且它们具有让玩家继续玩下去的足够吸引力。《俄罗斯方块》(Tetris)的机制是将落下的方块移动并旋转到指定的位置,使它们排成一行或多行。很多高尔夫游戏的机制是通过左右移动控制器的摇杆,或者当“力度”(Power)和“精度”(Accuracy)值达到合适的水平时按下按钮,来模拟挥动高尔夫球棒。《打砖块》(Breakout)游戏的机制是来回移动球板,将球反弹到易碎的砖墙上去。

    游戏的主题是它的外观和声音。它是创建故事的动画场景。想象一款已经编写了追踪鼠标光标对象的游戏。屏幕上有你必须要避免的“坏”对象,也有你必须要收集的“好”对象。这就是游戏机制。游戏的主题实际上可以是任何东西。Player对象可以是收集“好”奶酪对象和避免“坏”老鼠对象的老鼠。或者它也可以是收集太空财富和避免黑洞的宇宙飞船。或者它也可以是收集动词和避免连接代词的钢笔。正如他们所说,“没有任何限制!”

    2.6 被困在自己的主题中

    从机制和主题分离获得的好处是可以摆脱电子游戏会议,开发你自己想要的任何内容。如果你认为,“我想制作一款空间主题的战略游戏”,并回想所有玩过的空间主题战略游戏,你可能就会想到4X游戏,如《人马座阿尔法星》(Alpha Centauri)或《猎户座之王》(Master of Orion)——它们都让你征服宇宙。它们都是你可能无法单独完成的大型游戏。所以出于理智,你开始缩小它们——“我只是要制作拥有较少星球的猎户座之王(Master of Orion)”,或“我只是要制作具有较少功能的人马座阿尔法星(Alpha Centauri)”。你现在已经在不知不觉中掉入了弄巧成拙的陷阱中。你的项目仍然很大。你最终放弃了所有的希望。几年后,你成了一名会计,常常会想如果当时成功了会怎么样呢。

    2.7 非凡的趣味性

    不要走模仿之路,要开始问自己太空主题和战略机制方面的问题。它们的趣味是什么?《猎户座之王》这类游戏的哪些点激起了你的兴趣?你喜欢开采星球上的资源和购买新物品吗?你享受发现新星球的快感吗?或者创建一个太空飞船舰队来征服敌人会让你兴奋吗?

    将你的游戏浓缩成一点——非凡的趣味性。为你的玩家创建一个快乐的体验,并坚持下去。这就是你的游戏。其他的都只是功能延伸而已。

    2.8 百分之一的灵感

    互联网充满了小而简单的免费游戏,它们很容易为我们提供非凡的趣味性。分析一些游戏,看看能学到什么。我们将确定每个示例的:

    核心游戏机制——非凡的趣味性;

    • 主题;
    • 功能集;
    • 可能的附加功能;
    • 备用主题创意。

    这些游戏需要Flash Player插件(你可能已经安装好了)。如果因为一些奇怪的原因,尚未在电脑中安装该插件,就需要安装它,打开http://get.adobe.com/flashplayer/ ,按照提示完成安装。

    2.9 《太空采矿机》

    XGen工作室(http://www.xgenstudios.com/play/motherload)制作的《太空采矿机》(Motherload)把一个复杂的4X游戏(如猎户座之王)分解成两个任务:资源开采和物品购买(见图2.3)。


    2_3

    核心机制:在有限的燃料下,使用箭头键(挖掘、飞行、避免长时间降落)来驾驶你的采矿车。游戏中只有一个“关卡”,它会在很长一段时间内占据你的屏幕。你的采矿车只能向下挖出矿石后,再返回地面卖掉这些货物并清理货仓。关键是要挖出并出售足够多的矿石来升级你的装备,这样才能挖得更深,携带更多战利品,在更长的降落中存活。初期的目标是积累可观的资金,但最终会发展成使你的战利品更有意义。该机制类似于一款更简单的游戏:《月球着陆器》(Lunar Lander),玩家必须在有限燃料的情况下,将宇宙飞船轻轻地降落在一个非滚动屏上。你既可以将《太空采矿机》看成是非常低调的《猎户座之王》(Master of Orion),也可以将它看成编造的《月球着陆器》(Lunar Lander)。

    主题:一个类似卡通的太空矿,上面覆盖着一层砂砾和污垢。玩家角色是一辆领先时代的采矿车。唯一的非玩家角色是人(或是他?)。

    功能集如下:

    • 车辆控制;
    • 车辆升级(包括车辆、地形优势和属性);
    • 商店;
    • 可挖掘的地形;
    • 滚动的情节或对话窗口;
    • 保存游戏;
    • 通用功能。

    通用

    稍后我们会讨论一下通用的游戏封装器。它们包括标题画面、说明画面、暂停画面、胜利或失败画面,这些都是游戏的重要组成部分。最好的部分在于,如果制作良好的话,你可以在新制作的游戏中重复利用它们。

    可能的附加功能:《太空采矿机》(Motherload)的后续功能可以包括以下几个。

    • 在不同款式车辆之间切换;
    • 在不同的星球上采矿;
    • 同时管理多辆车;

    像《超惑星战记》(Blaster Master)中那样,跑来跑去的小家伙角色模式。
    续集也可以只添加新内容:更多装备升级、更多矿石类型、更大的游戏场地、更多情节序列、更多音效和音乐曲目等。游戏评论员将它戏称为MOTS(more-of-the-same)续集。你现在可以将它称为“扩展包”来发布。

    扩展你的技能

    我们正在寻找方法,但是如果你制作了游戏的续集,至少要保证添加一个新功能。因为你仍然在学习Unity,要确保新功能的开发需要你还没有掌握的技巧。因此,你制作的每款游戏都能不断提高你的能力,直到你成为Unity大神为止。

    代,直到游戏制作完成。

    2.10 注意

    要特别注意游戏的平视显示器(Head-Up Display,HUD)。电子游戏HUD包括在游戏世界的上下文中通常没有意义的图形元素,但是它们给玩家提供了至关重要的信息。一个极好的例子是所有《塞尔达》(Zelda)游戏中的心脏,或所有格斗类游戏中的能量棒。《太空采矿机》(Motherload)HUD包括燃料消耗和钻头磨损棒形图。它可以显示动态钱币和深度记录。三个可点击的元素把玩家带入库存、选项和说明画面。最后,会出现一段文字,让玩家了解可以在可视游戏区边缘找到更多商店。

    Unity拥有创建游戏HUD的强大功能。在《太空采矿机》中看到的所有HUD项目类型(图形条、动态(可变)文字、可点击图标和闪光的帮助文字)都可以在Unity游戏引擎中创建。如果你想尝试一下,可以跳到第4章。

    2.11 《Artillery Live!》

    《Artillery Live! 》(http://www.gamebrew.com/game/artillery-live/play)是标准的炮术游戏机制的一种迭代(见图2.4),从电子游戏出现起就存在这种游戏机制了。可以在Flash中制作它,但是没有任何理由不使用Unity内置的3D坦克模型和一些超炫的爆炸粒子效果来制作。


    2_4

    核心机制:炮术游戏的共同机制是,玩家设置射击的轨迹和力度来摧毁敌人的坦克。该版本也有影响坦克炮弹在风中轨迹的风速功能。随着时间的推移,该游戏机制演变成了模仿弹弓的拉回和打出体验。其他版本拥有根据鼠标自动调整角度的炮塔,玩家按住鼠标按钮即可增大射击的能量。

    主题:《Gamebrew》是一款标准的坦克山游戏,是20世纪70年代的游戏开发先驱设计的第一款炮术游戏。这些游戏从纯文本标题转化为拥有像素化坦克的原始说明游戏。一个明显的备选主题是将坦克换成持弓箭的战士(参考《弓箭手》(Bowman)在线游戏系列)。

    近些年最有意思的炮术主题是《百战天虫》(Worms)系列和在线多人游戏:《坦克宝贝》(GunBound)。《百战天虫》中用全副武装、一心想搞破坏的蠕虫代替坦克,《坦克宝贝》中则是玩家驾驶着大型车辆投入战斗。除了坦克之外,《坦克宝贝》还将动物和神秘生物投入混战中(见图2.5)。


    2_5

    功能集:除了核心机制、通用功能和电脑控制的玩家外,《Gamebrew》炮术游戏还提供了回合制多人游戏。多人游戏是一个很大的主题,值得单独说明。Unity确实可以制作多人游戏。Unity可以使用SmartFoxServer或ElectroServer这类开箱即用的套接字服务器解决方案,也可以使用自己编写的服务器。但是多人游戏超出了本书的范围。如果你从来没有编写过多人游戏,那么你只需要知道它们会带来很多让人头疼的问题就行了!如果你才刚开始,那么最好先解决单机游戏。

    多人游戏的真相:越来越多的游戏从个人的业余爱好变成人们团体(无论是在真实还是网络环境下)的消遣。一旦你跨出单机游戏体验,游戏的制作就需要花费更多的时间、金钱和脑力。下面是以高成本到低成本、最复杂到最简单的顺序排列的多人游戏功能列表。

    实时多人联机游戏:想一下《雷神之锤》(Quake)这类动作游戏,所有人都在同时跑动和射击。实时的开发是成本最高的,因为你需要确保电脑同时“看到”相同的内容。如果电脑掉线或者比别的电脑慢会怎么样呢?
    同步回合制多人联机游戏:《Boggle》、《超级战舰》(Battleship)和各种纸牌室内游戏都属于这类游戏。因为你不必担心电脑每秒多次发送、接收相同的信息,所以这种游戏相对简单。
    异步回合制多人联机游戏:玩家不是同时在玩的,而是通过Facebook消息或E-mail来发送他们的最新情况。允许玩家在移动过程中变老和死亡确实减轻了消息传送压力。《填字游戏》(Words With Friends)就是一个好例子。
    人机对战多人游戏:这是一个高成本的选项,因为你必须编写代码,让计算机玩家拥有足以打败人类玩家的“智力”。这种改变的难度取决于游戏的类型。《四子棋》(Connect Four)人工智能的编写要比《象棋》(Chess)简单得多。
    一台电脑上的人人对战多人游戏:这是最容易实现的。不需要在电脑之间传送复杂的消息,也不需要为电脑玩家编写人工智能。然而,和制作单机游戏相比,仍然需要付出更多努力,而且也不可能让大家都挤在一台电脑前玩游戏。(iPad这类设备可能更容易实现这类玩法。)
    可能的附加功能:《百战天虫》系列通过一系列附加功能的添加,为炮术概念做了很多迭代工作。

    武器库(包括标准的火箭筒、不怎么标准的超级绵羊和圣手榴弹);

    • 有限的或可收藏的弹药;
    • 有等待时间限制的团队游戏;
    • 地雷、油桶和物品空投等场景附加用品;
    • 移动和跳跃;
    • 拥有忍者绳索的物理平台;
    • 过场动画;
    • 可命名的角色;
    • 单人游戏关卡;
    • 可以解锁的附加用品。

    《百战天虫》系列就是一个非常好的例子,它说明了如何选取一个简单有趣的机制、创造性地设置主题,并为其卓越的功能而发狂。但是,最重要的是从制作炮术,而不是《百战天虫》开始。

    低成本,高效益

    到目前为止,功能开发的终极目标是找到快速、低成本制作,却能给玩家带来巨大快乐的功能。为你的《百战天虫》团队命名提供了无限乐趣。我还记得花了很长时间制作其中一个版本的蠕虫爆破时的自定义音效。没有开发人员不能制作的功能,我花在定制团队上的时间,远多于玩这款游戏的时间。

    制作一款游戏,买一栋房子?

    如果你认为玩家只会注意到那些百人团队制作的大制作游戏,那么炮术游戏就会给你一个教训。iPhone开发者Ethan Nicholas发布了一款用于iPhone平台的炮术游戏,到目前为止,已经赚了$600 000。小游戏也很有可能会成功。

    2.12 《Pong》

    正经点,《Pong》?是的,《Pong》。英国电影和电视艺术学院(The British Academy of Film and Television Arts)拥有这款经典游戏的在线版本(http://www.bafta.org/awards/video-games/play-pong-online,678,BA.html)。原始的《Pong》被认为是我们现在所知的商业性电子游戏产业的先驱。

    机制:《Pong》名字的来源是ping pong——现实世界中的运动,两个运动员站在一张带网的桌子两侧,用球拍在两人之间打来打去。乒乓球源于网球,因为人们后来发现跑来跑去太费劲了,所以发明了乒乓球运动。

    现实世界中的一些运动非常适合电子游戏机制。电子游戏产业仍然属于起步阶段。现在世界中有很多有趣的东西(如打乒乓球或炸毁坦克),有待于改编成精彩的电子游戏机制。你能够找到其中一种还没有发现的机制,并制作出下一个《Pong》吗?

    主题:和很多早期的游戏一样,《Pong》显然有很多需要改进的地方。网球和乒乓球电子游戏主题已经存在很长时间了,而且从根本上是不同的。如图2.6和图2.7所示,比较一下《实况桌球》(Rockstar Game Presents Table Tennis)中对乒乓球的超现实处理和任天堂的《马里奥网球》(Mario Tennis)游戏,《马里奥网球》在比赛场地中加入了旋转星和肉食植物。


    2_6
    2_7

    要注意这两个示例中的HUD因素。这三款游戏(《Pong》、《实况桌球》和《马里奥网球》)都在屏幕上显示了一段动态(可变)文字来显示得分数据。《实况桌球》还拥有球员名字、活动距离和显示每个球员赢得场数的小圆圈。看一下这些因素的位置。这三款游戏和《太空采矿机》示例中的HUD元素都显示在屏幕顶端。

    功能集:随着《Pong》的不断改进,功能集也变得越来越丰富。已确知来回击打虚拟球的机制已经足以支撑一款游戏,Rockstar Games和任天堂都在《Pong》游戏中添加了丰富的功能集,几乎都无法辨认它们来源于《Pong》。通过实现网球风格的计分,使这两款游戏更像是网球游戏。两款游戏都添加了锦标赛、排名和拥有不同技能集的玩家角色。《马里奥网球》添加了包括蘑菇在内的30种新功能。《Pong》是一款简单、强大的游戏机制可以期望的复杂程度的证明。但是,再次声明,如果你想制作《实况桌球》或《马里奥网球》这种功能齐全的游戏,关键就是从《Pong》这种简单的游戏开始。

    2.13 适合上千款游戏的机制

    《Pong》游戏机制如此简单、高效,其影响力非常深远,贯穿了整个电子游戏历史。

    从《Pong》中得到了《打砖块》游戏(Breakout)。这里的迭代是将《Pong》转化为单机游戏,例如现实世界中的手球或壁球,并外加了一堵易碎的砖墙。《打砖块》在《Pong》理念中引入了阶段或关卡,每一关都配置了不同的砖块。

    《Arkanoid》通过将主题修改为科幻主题来迭代《打砖块》。球拍变成了宇宙飞船。《Arkanoid》添加了一些新功能,尤为重要的是,当球撞到砖块上,以胶囊形式释放的物品。当玩家用飞船抓住胶囊时,游戏规则就会改变。飞船可以变得更长。它会变得发粘,这样玩家就可以抓住球,并计划下一次射击。我最喜欢的《Arkanoid》物品是标有“L”的红色胶囊;它允许飞船发射激光来毁坏砖块!

    《Pong》和宝开游戏(PopCap Games)的《幻幻球》(Peggle)引领我们进入今天。如图2.8所示,《幻幻球》结合了一些不同的游戏机制:《打砖块》的撞击障碍和球的反弹,《舞王》(Bust-A-Move)或《泡泡龙》(Puzzle Bobble)的瞄准器,以及现实世界中柏青哥游戏的随机性。为了增加主题的趣味性,宝开增加了卡通独角兽和地鼠,而且在电子游戏历史中一个最值得称道的回报中,当奏响贝多芬第九交响曲的高潮时,《幻幻球》奖励给玩家一个超级慢动作的决胜球。


    2_8

    《幻幻球》给了我们一些重要启示。

    对永恒机制的一些小修改仍然可以出售。《幻幻球》已经被下载了5000多万次!
    小游戏和大游戏可以很好地结合起来。著名的MMORPG:《魔兽世界》(World of Warcraft,WoW)中嵌着一个特殊版本的《幻幻球》,以及宝开游戏的另一个佳作:《宝石迷阵》(Bejewelled)。WoW玩家可以使用《幻幻球》来决定如何为队友分配战利品,这可能比抛硬币决定更有趣。
    如果你用友好、图文并茂的独角兽和地鼠,而不是用黑暗血腥的、挥舞着斧头的超级战士:“Kane”或“Glorg”,来包装你的游戏,就能吸引更多的玩家。
    音乐和声音在设计中起着至关重要的作用。它们可以决定游戏的成败。
    试一下——重新设计你最喜欢的游戏
    如果让你负责制作一些知名游戏的续集会怎么样呢?《食豆小子》(Pacman)的续集添加了3D迷宫、跳跃和头上带着红色蝴蝶结的主要角色。这会是你要做的吗?看一看下面的流行游戏列表,考虑一下如果你负责续集的话,会添加哪些游戏功能呢:

    • 《食豆小子》(Pacman);
    • 《俄罗斯方块》(Tetris);
    • 《德军司令部》(Wolfenstein 3D);
    • 《Wii运动——拳击》(Wii Sports-Boxing);
    • 《象棋》(Chess);
    • 《太空侵略者》(Space Invaders)。

    2.14 玩具还是故事

    我们在最初的想法阶段采取的方法不是自然而然形成的方法。和写书一样,游戏开发者通常要从设置、故事情节和角色开始制作新游戏。我们被教导这样开始一个有创意的项目。虽然通常会与书、电影和电视节目的叙事形式有很多重叠的部分,但是从这里开始还是很有诱惑力的。“我的游戏是关于一个名为Kane Glorg的超级战士,他不知道他的父母是谁,所以他手持双斧在一片荒芜的风景中游历,为了和撒旦当面较量而不断劈开挡在前面的邪恶妖魔。”

    本章的结论是所有的这些都是装饰门面。当你刚刚开始(而且除非你制作了一款明确的叙事游戏,如图形冒险类游戏或文字冒险类游戏)时,故事、设置或角色是终点,而不是起点。有太多游戏开发者被束缚在其故事设计能否带来的深远影响,而不是担心最最重要的:我的游戏机制简单有趣吗?玩家会喜欢吗?

    设计游戏并不是创建故事。你是在制作玩具,它们像夹在好听的故事、变化的角色和逆转式的结尾中的香肠卷中,但是你必须要开始制作。你需要从能让玩家发笑开始。正如创造了《马里奥》(Mario)、《大金刚》(Donkey Kong)、《塞尔达》(Zelda)的Shigeru Miyamoto在2007年游戏开发者大会(Game Developers Conference,GDC)所说,先想象你的玩家玩游戏玩得开心,然后再慢慢向后推进。

    购买创意

    寻找游戏灵感的好地方是当地的玩具商店。忽视玩具主题,如《乐高亡灵海盗》(Lego Pirate)系列的公海冒险,专注于机制:制作。忽视《风火轮》(Hot Wheels)轨道装置上巨大的喷火蝎子头,考虑一下机制:趣味性,小车飞过坡道时的科学方法。一定要研究一下在最后过道、镍箱,以及巧克力蛋和焦糖爆米花中的小而简单的玩具。你一定能找到其游戏机制创意。

    考一下自己——寻找非凡的趣味性
    下面是电子游戏列表,它们都是基于现实世界中的物理游戏机制。某些情况下,它们基于物理游戏,其他情况下则是瞎捣乱。你能分辨出这些游戏采取的是哪种非凡的趣味性吗?我把答案折起来,藏在你椅子下了。

    • 超级猴子球(Super Monkey Ball):引导球在斜坡、螺旋形和悬浮在无底深渊上的危险薄台上滚动。
    • 合金装备(Metal Gear Solid):当全副武装的士兵寻找你时,躲在箱子和其他掩护物的后面。
    • 轰隆方块(Boom Blox):将一个球扔在具有不同物理性质的障碍物上,将它们击倒或让它们爆炸。
    • 块魂(Katamari Damacy):将球散落在各个关卡的废墟中滚动,直到它越变越大。积累到指定大小的垃圾团就能达到目标。
    • 热舞革命(Dance Dance Revolution,DDR):通过踩在相应的按钮上点亮一系列滚动的箭头。根据配乐的节奏对按钮被按下来计时。

    2.15 重新定义天空

    天空无限宽广,Unity就是以无尽的天空开始的。但是,我们在本章中已经看到,无尽的天空确实会诱导我们进入不可能完成的概念。所以,需要重新定义一下天空。不要想你的游戏会有多大、多复杂,考虑一下我们世界中所包含的简单交互和快乐时光。将球投出去再捡回来,打翻一堆东西,喂养动物,种植植物——这个世界充满了简单有效的交互,这些交互能点亮我们最原始、最基本的快乐皮层,这是我刚刚发明的神经学术语。

    如果你想发现现实世界中制造快乐的时刻,学一下孩子。因为游戏就是玩,所以能够吸引孩童的事情就是可以获奖的游戏。如果合金装备不是复杂的捉迷藏游戏会怎么样呢?《摇滚乐队》(Rock Band)和《吉他英雄》(Guitar Hero)就是谈空气吉他和假装自己是摇滚巨星的电子版本。你堆过雪人吗?块魂就是制造快乐活动的电子游戏表达。

    2.16 小结

    如果你需要回答关于本章内容的多项选择题测验,下面是关于我们所学内容的简要总结。

    大的游戏创意是不可取的!考虑从小的开始思考,并逐渐获得极大的成功。
    通过从你的游戏创意中剔除功能,而不是剔除内容,将你的设计缩小成更容易实现的大小。
    游戏机制和主题是不同的。好游戏单一、强大的机制可以支持无数不同的主题。
    开始关注你所玩游戏的通用功能和HUD。在后面的几章中,你将开始制作你自己的游戏。
    让我们开始吧
    在本书的剩余部分,我们会忽略Unity的Scene视图中无尽3D平面的巨大影响。我们会专注于小的、简单的、有趣的游戏机制。当合上本书时,你可以采取这些简单的理念并迭代它们,甚至制作出功能齐全的游戏,如《猎户座之王》或《马里奥网球》。但是,坚持让你成功的战略——从零开始,发现非凡的趣味性,然后不断迭代,直到游戏制作完成。

    展开全文
  • 应届游戏开发求职路

    2019-07-16 16:42:42
    ”—网易游戏 写在前面:先介绍下自己的情况,末流985大学本科生一枚,全院人数200+,我的成绩排名在170左右(校招开始的时候仍有一科挂在树上,现在已经补考过了),英语4级。侥幸获得了几个游戏公司的offer,最后...
  • ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2)必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3)必须...
  • ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2)必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3)必须熟悉...
  • 风铃 爱情的铃声 微风吹动这风铃 优美而动听 这爱情浪漫而真诚 ...起个乍眼点的名字,给我新开的blog吸引点人气....强大的游戏程序员这个词造有点夸张,实话实说,吸引眼球用的。 我在面试程序员的...
  • 独立游戏大合集

    2016-03-11 11:29:10
    独立游戏想必大家都玩过,有大型也有非常袖珍的独立游戏,下面小编给大家带来下由知友“TYKisGod”分享的好玩的独立游戏大合集,喜欢单机独立游戏的小伙伴们绝不可错过! 注:如游戏无法下载或下载链接失效,请小...
  • : 开源游戏最大的特点的免费,所以我们玩的开源游戏都是正版游戏,另外开源游戏对外开 放源代码,任何有兴趣的人可以对其改进,其游戏的可玩性,易玩性都会逐步提高,也可以说开源游戏融合了众人智慧,是网友分享的成果...
  • 40款免费开源游戏

    2019-07-11 15:26:50
    开源游戏最大的特点的免费,所以我们玩的开源游戏都是正版游戏,另外开源游戏对外开 放源代码,任何有兴趣的人可以对其改进,其游戏的可玩性,易玩性都会逐步提高,也可以说开源游戏融合了众人智慧,是网友分享的成果。...
  • 最强大的开发工具 Delphi 目录 --------------------------------------------------------------------------- 前言 Delphi现状 Delphi群落 盛大与Delphi Delphi牛人 -----------------------------------...
  • 看了《一个想踏入游戏行业的人的独白》突然想说点什么  呵呵,回贴没全看完,不过大概知道新人们就是求一个机会,老人们就是告诉新人要先努力积累经验,让我想起一个漫画来,两个人拉一头牛,一个说,不去下田怎...
  • 前些日子看到有朋友询问有关于游戏中的关卡设计问题,趁最近有点小空翻译了这篇文章,希望对新来的朋友有所帮助。  因时间匆忙加上本人水平有限,不免有所错误,英文水平好的朋友还是直接下载原文看吧。  作为...
  • 两个月打酱油般的工作当中给我最深的体会是,进行服务器的开发,即使看起来简单十足的逻辑,也会由于大并发、高负载、可扩展、分布式以及网络可靠性等原因而变得复杂并充满陷阱。一个微小的内存泄漏问题,最终会因为...
  • 神界原罪2 mac游戏画面,音效,配音都是非常精心制作的,游戏分为四种难度,适合各种等级玩家!原先有不少朋友因为神界:原罪 2 for Mac是英文版所以放弃了这款神作游戏,但本次未来软件园为您带来了神界原罪2 Mac...
1 2 3 4 5 ... 20
收藏数 2,733
精华内容 1,093