您的位置:首页 > 理论基础 > 计算机网络

网络游戏开发流程管理

2010-07-17 22:23 246 查看
尽管游戏的历史是悠远久长的,但人类把它当作一种理论研究对象却是在近代才开始的事。德国诗人和剧作家席勒在研究艺术起源的问题上曾以‘艺术起源于游戏’的大胆一说而语惊四海。他认为,人类在现实生活中要受到精神与物质的双重束缚,在这两种束缚中常常失去了理想和自由,人们就设法用剩余的精神创造一个自由的世界,这个自由的世界就是游戏。
网络游戏开发人员必备素质
所谓游戏引擎,是指游戏开发的核心技术。基于一个游戏引擎,可以设定不同的人物和情节等,从而开发出多款不同的游戏。
开发心得:
今天的游戏产业已经初具规模,尤其网络游戏这一块更是如日中天,于是就有很多青年人投身到了这个领域来。他们怀揣着美好的梦想。希望有一天可以开发出一款令人难忘的游戏。
要有顽强的意志力。因为无论开发什么类型的游戏都要经历一个艰苦的过程,其间总会碰到各种各样的问题,这些问题可能你之前遇到过,有些却是没见过的技术难关。一旦短时间内无法解决,人们必然会产生厌烦的情绪,但是如果就这样向困难低头,显然是不明智的。这个时候意志力就表现得十分重要。
要有坚实的数学功底。现在很多的游戏开发技术都牵涉到较深的数学知识,尤其是3D游戏,它所覆盖的数学知识更加广泛,从立体几何到线性代数无所不包。
要有出色的计算机能力。当前开发游戏的主流语言是C++,但也有许多游戏是用C来编写的,例如我们常Quake引擎,它主要就是C,其中只有一小部分涉及到C++。为什么要选择C呢,设计者主要还是考虑了效率因素,相比之下C要比C++在程序执行上要快。其中一个原因是C++类中的函数要消耗部分执行时间。除了C和C++以外程序员为了尽可能地提高程序执行速度,他们还会使用汇编语言,汇编语言是最接近底层的语言,像游戏对效率要求极高的应用,如果没有精确到指令的代码,那么想挖掘机器的所有潜力几乎是不可能的。了解计算机的运行机理可以帮助我们编写出更加高效的代码,但是应该指出的是不要一味只追求代码的高效性,而把系统的良好架构给破坏了。
网络游戏的设计
网络游戏,作为游戏与网络有机结合的产物,把玩家带入了新的娱乐领域。网络游戏在中国开始发展至今也仅有3、4年的历史,跟已经拥有几十年开发历史的单机游戏相比,网络游戏还是非常年轻的。当然,它的形成也是根据历史变化而产生的可以说没有互联网的兴起,也就没有网络游戏的诞生。作为新兴产物,网络游戏的开发对广大开发者来说更加神秘,对于一个未知领域,开发者可能更需要了解的是网络游戏与普通单机游戏有何区别,网络游戏如何将玩家们连接起来,以及如何为玩家提供一个互动的娱乐环境。
让我们首先来看看二个游戏引擎和游戏本身之间的主要区别。许多人们会混淆游戏引擎和整个游戏。这有点像把一个汽车发动机和整个汽车混淆起来一样。你能够从汽车里面取出发动机,建造另外一个外壳,再使用发动机一次。游戏也像那游戏引擎被定义为所有的非游戏特有的技术。游戏部份是被称为‘资产’的所有内容(模型,动画,声音,人工智能和物理学)和为了使游戏运行或者控制如何运行而特别需要的程序代码,比如说AI——人工智能。
网络游戏引擎设计与实现
让我们从渲染器来开始游戏引擎设计的探讨吧,当构造一个游戏引擎的时候,你通常想做的第一件事情就是建造渲染器。因为如果看不见任何东西,那么你又如何知道你的程序代码在工作呢?超过50%的CPU处理时间花费在渲染器上面;通常也是在这个部分,游戏开发者将会受到最苛刻的评判。然而,在真实的游戏情形中,应用程序时常在后台做着许多其他的事情——多边形的3D变换,光照计算。
案例——角色扮演游戏引擎的设计原理
角色扮演游戏(RPG)是深受广大游戏迷们喜爱的一种游戏,它以独特的互动性和故事性吸引了无数的玩家。它向人们提供了超出现实生活的广阔的虚拟世界,使人们能够尝试扮演不同的角色,去经历和体验各种不同的人生旅程或奇幻经历。这些体验都是在现实生活中无法实现的。在玩过许多游戏后,许多玩家都不再仅仅满足于一个游戏玩家的身份,而会思考游戏是如何***的,并且打算***一个自己的游戏,网上的各种游戏***小组更是如雨后春笋般涌现。游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合。它像一个发动机,控制着游戏的运行。一个游戏作品可以分为游戏引擎和游戏资源两大部分。游戏资源包括图象,声音,动画等部分,列一个公式就是:游戏=引擎(程序代码)+资源(图象,声音,动画等)。游戏引擎则是按游戏设计的要求顺序的调用这些资源。
一个完整的角色扮演游戏的***从大的分工来说可以分为:策划,程序设计,美工,音乐***以及项目管理,后期的测试等。
策划主要任务是设计游戏的剧情,类型以及模式等,并分析游戏的复杂性有多大,内容有多少,策划的进度要多快等因素。
程序设计的任务是用某种编程语言来完成游戏的设计,并与策划配合,达到预期的目的。
美工主要是根据游戏的时代背景与主题设计游戏的场景及各种角色的图象。
音乐***是根据游戏的剧情和背景***游戏的音乐与音效。
项目管理主要是控制游戏***的进程,充分利用现有的资源(人员,资金,设备等),以达到用尽量少的资金实现最大的收益。
后期的测试也是非常重要的一个环节,对于一个几十人花费几个月甚至是几年时间***的游戏,测试往往能找到许多问题,只有改进程序才能确保游戏的安全发行。
综合以上三种关于网络同步派系的优缺点,综合出一套关于网络游戏传输同步的较完整的解决方案,称它为综合同步法(colligate synchronization)。大体设计思路如下:
首先将服务器需要同步的所有消息从划分一个优先等级,然后按照3/4的比例划分出重要消息和非重要消息,对于非重要消息,把决策权放在客户端,在客户端逻辑上建立相关的决策机构和各种消息缓存区,以及相关的消息缓存区管理机构。
对于非重要消息,客户端的大体处理流程,其中有一个客户端被动行为值得大家注意,其中包括对服务器发过来的某些验证代码做返回,来确保消息缓存中的消息和服务器端是一致的,从而有效的防止外挂来篡改本地消息缓存。其中的消息来源是包括本地的客户端响应玩家的消息以及远程服务器传递过来的消息。
小结:
设计游戏时,出于吸引玩家的目的,应该提高游戏的好玩度。但可玩度是好玩度的基础。好玩度在上升到一个阶段后将由于可玩度的限制而不能再继续上升。比如:俄罗斯方块,通过对每个方块添加意义,增加关数并为每关赋上不同的意义(也就是情节),增加画面效果(如三维立体效果且在水下玩的)和音效(如方块落地时发出机械的焊接声音)。即使这样,其好玩度也不能超过RPG类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: