UDK游戏开发的概述

修改
鏉ユ簮: 上帝宝贝 浏览 7196 日期 2011-08-27 0

这节课我们讲述一下游戏的开发,发展,以及结束。这节都是文字叙述,值得给大家讲讲,所以就拿出来了。

游戏开发概述

2.1 循环开发的重要性

游戏开发是一项团队工作。游戏开发是一项宏伟的工程。它漫长而又复杂,显然并非易事。没有类似于简单的转动旋钮调节图形这类事。在今时今日,仅凭个人力量决不可能独自创造出一个第一人称射击游戏……至少在其有生之年是不太可能实现的。

游戏开发是一个有机的过程,在此过程中游戏被创建、修改、重新设计,然后利用新的反馈信息再次创建新的部分。这个过程被称作循环(iteration),是游戏开发的主要方法之一,不仅能够确保游戏在设计伊始便即崭露头角,而且随着开发过程的进行会精益求精。循环开发能够避免游戏开发周期停滞不前,因为它允许所有的成员各抒已见,并且使游戏自身如有机生命体一般成长——吸收新的、有价值的想法,取其精华,去其糟粕。 游戏开发过程中需要开发人员集思广益、多才多艺。完成它需要花费大量的时间,但最重要的是,必须了解这样一种观念,即游戏创建的初衷与最终的开发结果间并不总是完全一致。您的想法会改变,游戏的某些元素可能无法实现或不如预想的那样酷,或者仅仅是由于缺乏足够的时间与资金来实现每一个创意。

那么,就游戏开发而言,循环是指什么呢?简而言之,就是一个包含下列内容的过程:提出创意并进行精炼、基于此创意来开发游戏(或游戏元素)然后在开发团队中对游戏进行评点,来决定此创意是否可行或是否能够加以完善。通过团队讨论,会激发出新的创意,增添新的实现目标,然后再次对游戏进行审核。在整个开发周期中这一过程将贯穿始终。在每一个阶段中都会对游戏进行某种程度的修改。这些改动在开始的阶段会比较大,随着游戏开发的终结将逐渐变小。然而,不用期望这种循环过程会马上结束。在一个良好的、充满活力的开发环境中,改动会持续到开发过程的最后一分钟。因此,循环的过程需要一个高度灵活的团队,成员们渴望在工作中提出新的创意,乐意听取对方的观点并尊重同伴们的意见。

本章将带领您体验一个成功的游戏开发周期中的某些关键元素,即使您并没有参与过一个完整AAA级游戏的制作过程,或只是进行mod开发,您都可以在本章中找到有用的信息,帮助您开始了解如何有效地处理游戏开发项目以及如何才能够保持开发工作顺利进行。 它以循环开发作为主要动力,将其由开发初衷转化为销售给玩家的商品。

2.2 从创意着手

[next]

每个游戏的创建都是从某种创意开始的。这种创意可能是游戏的某种玩法类型、游戏制作新元素的构思——如基于一个玩家可以同时控制多个角色的创意——或仅仅是从一个故事中衍生出的创意。然而,在最佳设计案例情形下,您的创意应当来自于某些不落俗套的东西。重建现有创意通常会使您的游戏很快被玩家遗忘。然而,这并不是说每个游戏都必须是从头到尾原创的(这样就有可能永无法启动游戏项目)。相反,可取的方法是从您想创作的游戏类型开始着手,然后寻找一种可以从现有游戏模式中脱颖而出的方式进行开发。举例来说,假如您想创建一个第三人称射击游戏,那么应该考虑如何加入某些新的内容,使之与相同构思的其他游戏(如《战争机器》)区分开来。如何才能改进现有的内容?同样要记住的是,您也不必将现有的游戏重新改头换面。遵循惯例与独树一帜有时是同样重要的。

那么,如何从使游戏变的有趣的伟大的想法着手开始呢?很简单:去玩游戏。如果您正在读这本书,那么或许您已经是达到某种程度的游戏玩家了。您拥有自己喜爱的游戏,同样也有自己讨厌的游戏。有些游戏让您紧张到无法呼吸,有些则只拥有刹那的“闪光”,而当您弹出游戏光盘后,则将其束之高阁,任其自生自灭。《战争机器》的首席设计师Cliff Bleszinski将其称作“尘封时刻”(shelf moments)。

将您的游戏体验带入到游戏的设计阶段。哪些游戏是您狂热钟爱的?这些游戏为何如此精彩?为何其它游戏略逊一筹?别吝啬于做笔记并写下自己的创意。甚至记得要记下您想要借为已用的游戏,或者那些可以在某种程度上将其融入自己的游戏设计中的关卡。许多游戏开发的新手故意回避那些借鉴其它游戏的想法。然而,如果您真的有数年游戏经验的话,就会了解那些续作游戏是如何型成的。有时这是一件好事。但是,很多时候新的游戏不能带来任何新的东西 ,仅仅是炒冷饭的作品。努力地从以前的游戏体验中汲取灵感和创意,加以润色、修改。用您的想象来重建它们。最重要的是要有心理准备,因为您所热衷的好创意有可能无法实现。关于这一点下文将进一步阐述。

接下来的阶段是完善您的创意。在此阶段中,很多人都是非常兴奋并急于将他们的想法与团队成员或朋友分享。这并不一定会产生问题,但是,要牢记在这个时候让大家参与进来是件糟糕的事。如果此时的想法还很只是“粗略的骨架”或很含糊,而您又没有完全的自信能够将此创意表达清楚,到头来呈现给团队成员的是一个歪曲的观点,那么他们甚至可能在您还未开始之前就已经失去兴趣了。第一印象是非常重要的。在将您的想法呈现出来之前务必使其充实丰满、有血有肉(或尽可能的接近这一目标)。如果您想 得到一些评价或反馈,这没问题,只有当万事具备,才能将整个想法和盘托出。

[next]

完善创意的方法多种多样。您可以从编写故事、描绘概念草图(如果不擅长绘画可以委托他人代劳)开始,甚至可以从制作出游戏本身的小样开始。如有需要,如果需要的话小样完全可以书面化。无论何种形式,都会有助于您完整地理解自己的目标,以及将游戏发展到下一阶段所要做的工作。

某些情况下,此开发阶段可能包含以故事形式对游戏进行增色。随着游戏持续向获得影片级体验发展,利用好的剧情来促使玩家通关的需求变得越来越重要。下文所示为一个理论性的游戏情节简介,游戏的名称为《外星球:九死一生》(Outworlder: Surviving the Fringe)。

剧情简介:

 

有了这个充实的故事情节,您就可以与团队成员讨论游戏的制作路线,以及如何使这种玩法适合剧情的发展需要,给玩家提供一个更可信的(或更好玩的)情境。例如,您可以设定让玩家从在Nightfeather号飞船上搜寻货物开始游戏。这样的设定具有双重目的;由于玩家亲身经历了飞船的坠毁,他们可以更深入的了解故事剧情。您也可以设定在飞船被击中后玩家逃出飞船时受了重伤或者没有配备很好的武器装备。故事情节和游戏名称也暗示了玩家要在这个陌生的外星球上竭尽全力的求生。或许在游戏的动态方面可以加入一些东西,如保持玩家的食物供应和体能恢复等。在游戏本身向前发展之前,这些问题都是需要经过讨论来完善和解决的。

无论如何,在任何时候都要牢记循环开发。在团队的内部范围内,您可以尝试多种创意,尝试哪些可行哪些不可行。在团队中进行试验时,可行的创意可以实现,甚至能够得到进一步的充实。不可行的创意则摒除在实际项目外,即使其或许能够衍生出其它一些对项目开发大有裨益的创意。分析和调整游戏的过程不仅使项目更具灵活性,还能够确定项目中的那些方面最能影响游戏的游戏性。

2.3 考量开发日程表

本节的目的当然不是教您如何具体制作一张开发日程表;因为每个项目都有具体的需求。我们只不过向您提出一些在按照开发日程工作时必须要牢记的东西,以及一些与许多具体资源相关的非常重要的考虑,需要将这些资源用于Unreal Engine3的游戏或可视化项目。

一旦您有了创意并拥有一个团队来助您将其变为现实,那么就到了制定某种开发日程的时候了。这是个好主意,即使您只是在业余时间从事一些mod模式的开发。为您自己设定某一日期底线对项目开发的激励大有帮助,因为这些项目最终都会把您折磨得身心俱疲。无论您是多么喜爱游戏设计,终究会对您的创意或项目的某个部分感到厌倦。按照开发日程工作能够强迫您不停向前并有助于保持工作的相对新鲜性。如果您是在企业资助下按照正式的开发开发日程开发游戏的话,开发日程表就更为重要了。在游戏的实际开发中,无论是否gameplay或故事情节的重要部分,时间都毫无疑问地变成一种关键因素。有时您无法实现预想中的事物,仅仅是因为时间不够用。关键是要在细节上不拖泥带水的前提下进行任何可行的计划,因为这些细枝末节将会积压到后面的开发周期内。

[next]

要知道使用Unreal Engine3制作游戏是一个美工密集型(art-intensive)的过程。您之所以选择使用Unreal Engine3是因为它是一个广受赞誉的游戏引擎及其在多平台游戏开发中广泛成功的盛誉。然而,总体来说,游戏引擎已经“完成”了,您要做的就是在其中创建所要显示的对象。目前,Unreal Engine是以这样的方式进行构建的,即它的授权玩家在实质上可以对引擎本身进行任意的改动,甚至非许可版本也能够通过创建Unreal脚本(UnrealScripts)而进行巨大改动。使用Unreal Engine3(通过授权许可或用其对游戏进行修改),您自己的创意和开发条件将支配在整个开发过程中用于编程的时间。 重点是,一般来说,您总是希望能够尽快完成编码工作,或至少接近完成,这样在整个开发过程中可以对其进行精细微调,使其变得更加完美。

然而,如果您要总结一下Unreal Engine3能够吸引大多数游戏玩家的亮点,那么可以用一个词来表达:视觉效果。使用Unreal Engine3创建的游戏能够提供惊心动魄的真实感以及灵活快速的gameplay…如果您花了时间以充分发挥引擎真正威力的话。为游戏创建一个超真实的百万多边形人物角色不是搞个通宵就能完成的工作。游戏中需要的其它许多资源也是如此,包括模型、贴图、动画、声效 和音乐等等。更不用说还要花时间在游戏中试验这些新的资源,确保它们获得正确的外观、正确的感觉,并在余下的开发过程中保持协调。

为资源创建高分辨率的几何体、给几何体进行适当的贴图、如果是创建人物角色的话还要为其编制适当的造型和动画效果,这些都会花费大量的时间。大多数游戏都要处理成千上万的资源。正因如此,很多游戏开发公司都将大部分的资源创建工作外包出去。在目前最新型的游戏中资源创建工作会花费更多的时间,而您需要找到很多人参与到这项工作中。

值得振奋的是,您仍然可以在这里应用循环开发方法。人物角色或物品模型可以从概念性的图画开始,在团队中进行讨论和提炼,直到团队(或其中的一部分人)同意将其进行实际的建模。在后续的模型创建和审议中都可以使用与之类似的方法。您不想死钻牛角尖(这样会一事无成),但是关键的是要把大部分的团队开发环境和工作排进开发日程表中。要知道这些工作不会很快结束,但是要牢记这些工作不能无休止的进行下去。

一般来说,与团队中的某些成员进行沟通交流是个好主意,这些成员负责管理开发过程的各个方面并知道完成它们所需要的时间。在紧迫的时间限制下进行工作没有问题,但必须要保证有足够的时间把活干完。通过观察搞清楚团队成员的经验水平及其完成分配任务的速度,您就可以更好的进行部署。

[next]

在这些信息的基础上,您可以制定出适合每个人需要的开发日程表。做好受挫的准备(这种事情可能会发生),并准备好接受计划的改动来保持日程表的进度。

2.4 交流

循环开发方法背后的基本法则是,您创建游戏——或其中的某个部分——对其进行评价,确定什么是您想要的什么是不想要的,然后循环这个过程直至游戏的最终完成。这种处理方法需要团队成员之间极好的沟通技巧。实际上,交流障碍已经成为导致开发受挫的最重要问题之一。您要弄清每一件事。

定期举行会议

人们能够进行明确交流的唯一的方法是将他们聚集到一起分享各种想法。不要害怕频繁的开会。根据开发团队及各成员之间相互协作的紧密程度,您甚至需要每天早晨召开一次会议,当然大多数情况下每周一次就够了。会议的目的是将团队成员召集在一起,讨论各自所做工作的进展,对他人的工作提出建议或评价,听取新的想法,对所有需要提炼或复议的想法进行决策,并在这些考虑的基础上制定行动方案。

开会的另一个目的是促成一个创造性的环境,将新的想法以更快的速度呈现出来。在某些会议中,您可能会一直进行下去,直到听到一些让所有人都赞同的新观点为止。通过将大家召集在一起讨论那些“可能很酷”或“可能需要加以改善”的想法,您将会加快循环开发的过程并能让所有的团队成员发表自己的看法。

各抒己见

如果在整个会议期间您只是坐在那里点头称是,那么开会就没有意义了。将您正在考虑的话题说出来。不理解某个创意将如何实现?请把它讲出来!您认为找到某种能够完善某个创意的更好方法?请赶快发言!如果您不能发表值得商榷的意见,那么您将对整个团队毫无贡献。

尊重您的同事

记住您的同事都不是平白无故参与进来的。他们加入到团队中,是因为您相信他们都清楚理解讨论的议题,是因为您重视他们的意见。不要让这些意见无疾而终。聆听他们说些什么,即使他们对您表示反对或不同意您的想法。即使您的想法被枪毙或被拒绝采纳,这些讨论都会让您改正后续出现的错误,并有助于解决其它的问题。

美工人员对峙编程人员:第一回合,开战!

美工人员和编程人员好象没有什么共同语言。如果您是一名美工(对本书感兴趣的大多数人都是),那么您抛出的一个突发奇想的创意可能会立刻招致会议室内的每一个程序员的躁动。有些想法可以很容易地实现。其它的则可能非常地困难或几乎不可能,因为这些想法所需要的改动您无法执行(例如,如果没有Unreal Engine的授权,就不能获得引擎的源代码),或者您仅仅是没有足够的开发时间来完成它们。

[next]

关键是确保美工人员和编程人员能够互相交谈并一直保持这种沟通交流的方式。能否通过编写代码来实现一个想法不是美工人员的工作,正如让模型看起来更加真实不是编程人员的工作那样。在如何将新的想法融入到游戏中时,美工人员和编程人员需要紧密合作,提出一种适当折衷的方案。要互相理解对方的立场。或许团队成员之间不能完全理解对方是如何工作的,但是毫无疑问不能对沟通问题置若罔闻。不要害怕把问题直陈出来!

正视挑战

您不可能将每个创意都用到游戏开发中。要做好准备,某些创意是不可行的,原因有很多,团队成员不喜欢它们,想法还需要加工提炼,等等。当团队成员不同意您的创意时,如果没有必要请不要太过执著。如果您认为某些部分可以放弃,而您的同事对此强烈要求的话,那么就按照他们的意见办吧。然而,与协调能力同等重要的是需要您在某些问题上能够坚持己见。有时您会感觉您的想法中的某些方面对游戏的开发非常重要,但其他人似乎跟您无法心有灵犀。如果处在这样的情形中,您需要做好准备来应对猛烈的反对意见。对于您的沟通技巧和跟同事交流想法的能力来说,这是一次真正的考验。您必须让他们认识到这个想法的重要性。

有时坚持非常关键;有时及时收兵能够保存您的颜面并有助于开发过程的平稳进行。您可能需要暂时的妥协,从而能够在以后的争论中占得先机。更重要的一点是,您可能需要暂时搁置您的想法,而在以后的会议中继续提出来并从不同的角度对其进行诠释,直到发现一种正确的协调方法。同时记住,要尊重您的同事;如果一个想法就是无法实现,而您的同事非常坚决地要摈弃它,那么要知道如何选择合适的时机放弃。

保持创造性

在团队环境中最困难的事情之一是确保每个人都努力工作,防止进度停滞不前。如果您是项目的开发主管,那么保持想法的不断涌现就将成为您的工作。要有奇思妙想。如果需要的话提出一些疯狂的想法。与努力提出三个优秀的想法但最终惨败相比,通过试验五十个创意并从中挑出五个最精彩的创意要好得多。记住即使那些不被采纳的想法也会衍生出可以利用的方面。例如,您可能突然冒出一个很酷的点子,即将弹匣扔到火里就可以让其爆炸杀伤周围的敌人。然而,您的其它同事可能不喜欢它(或从编程人员角度,根本没时间实现此目标),但是提出的这个想法或许会让某个人思考另一种可能性,即可以将枪支设置为自毁模式然后将其扔向敌人。您没了枪,但是有效地制造了一枚威力强大的手榴弹。这个主意可以加入到游戏中并能获得令人疯狂的成功,如果没有些奇异的超常规想法的话,没人能想到这个创意。

[next]

测试与反馈

开发结束

这就是游戏从开发到结束的全部过程,我们要做的还有很多,需要我们一起努力。这就要大家学好3D,学会3D。

更多内容请登陆www.zf3d.com

,

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}