评论 (


评论 (
2010年10月08日
    当咱们还在思考MMO 
  时, 
  多人游戏已经使许多玩家可能实时衔接进行配合与竞争。( 
  见图表1). 
  在通过DVD-ROM 
  订阅的MMO 
  游戏行业中处在黄金尺度的地位,然而,通过Abobe-flash 
  平台,我们可以利用魔兽的一小部分时间和预算来发展一个自在来玩的通过浏览器的相似于WAKFU 
  和 Small world 
  的MMO 
  。 
  Figure 1. 
  Some leading MMO games. 
  在这篇文章中, 
  我旨在比你设想的少的时间内告诉你制作一个完整的( 
  并且简单的) 
  大型在线游戏的经验。同样,我会给你一些示例代码以使你能控制这种高程度的思惟。这些例子仅限于FLEX3 
  的浏览器版,但是其中好多的信息都是与其他技术的应用程序开发者相关的。包括Adobe 
  Flash CS4 
  以及Flex 
  3 AIR 
  桌面利用程序。 
  我愿望这些能给大型在线游戏 
  的入门者做一个先容,同时,也让高手们取得一些常识。 
  什么是MMO? 
  在超过十年的时光里,大型多人在线技巧已经成为了桌面PC 
  游戏发展中的主流。 在最近几年中,我们发明它在浏览器端也很流行。一个MMO 
  应用程序是一种这样的,它能实时连接很多人,同时,一个人的操作动作会马上影响到其他的人。就像在聊天窒里,当你打出一则消息时,接收者会立刻看到这则消息一样。当你袭击一个敌人的时候,这个敌人会被打,或者挡住攻打并且反攻。在MMO 
  最一般的情势中,一个MMO 
  应用程序是基于团队,同时重视个人休会与人机交互的运用程序。MMO 
  有好多种:角色表演游戏 
  (MMORPGs), 
  实时策略游戏(MMORTS), 
  第一人称射击游戏 
  (MMOFPS), 
  基于浏览器的大型在线游戏 
  (BBMMOGs) 
  以及其他更多。 
  MMORPG 
  是十分风行的,或者仿真游戏。一个仿实在世界的游戏是通过接口联接良多人制造出仿真世界的游戏。仿真游戏通常存在六个特色: 
  共享空间: 
  这是个可以允许多人同时加入的世界。 图形用户界面: 
  这个世界刻画出真实的空间间隔, 
  从二维的图片改变成三维的环境。 实时: 
  彼此操作都是实时产生的。 互相影响: 
  这个世界许可用户更改、发展、建造、或者提交自定义的内容。 始终运行: 
  无论单个用户是否登录,都不会影响到全部程序的运行。 社会化的/ 
  集团化的: 
  这个世界允许并且激励各种社团形式,如团队、行会、俱乐部、团体、同居、街坊等等。随着计算机硬件机能与技术的倏地发展,MMO 
  游戏已从桌面程序发展到网络程序。这篇文章的重点在后者。 
  MMO 
  游戏是贸易性的 
  MMO 
  游戏无比流行。随着越来越多的游戏玩家通过宽带来上网,越来越来的因特网用户开始尝试MMO 
  游戏,使用人数正快速的增加。吸惹人的WEB2 
  。0 
  以及RIA 
  特性使这些游戏在游戏玩家中快捷的流行起来。用户在闲暇时间中都沉浸在这些游戏中,哪里有用户,哪里就有商机。但是传统的商业游戏沉迷于在购买时加入一系列的费用。MMO 
  游戏则是要交付一直增加的用于发展与保护的费用,并且因为在线玩的原因会带来其他的商业机遇。游戏开发者与发行者将通过多种方式从成功的MMO 
  游戏中获利。发行者通常会选择以下几条: 
  订阅: 
  用户每月资付必定钱以可以继续玩,这是桌面发展中的获利方式,并且曾经一度成为最流行的获利方式。 广告: 
  在基于浏览器的游戏中,我们可以发现,游戏发行商会在游戏场景上方放置一个banner 
  广 告,这些广告链接到普通网页,有些广告会被融入到游戏场景中。举个例子,你在游戏中的角色会被一个高速公路广告牌指引,而这个广告牌上显示的将会是真实的 广告信息。除了这种方式,也可能是下面的两种方式:用户游戏是不需要预选支付用度的。这使观众面得到最大化。因为因特网与Mmo 
  游戏固有的连通性,新广告可以在游戏体验中轮换(涌现),而且韵律可以决定每一个广告可以吸引多少眼球。 虚拟物品的销售: 
  固然玩游戏可能不要钱,但是用户可以通过付现金购置虚拟设备来增长角色的属性或者进步游戏的上风。 虚构货泉的销售: 
  While 
  game 
  play may be free, users pay real-world cash to credit their account with virtual currency. The currency is then used to perform 
  game 
  transactions for things like advancing their character growth or purchasing virtual items. Sponsorships: 
  Real-world companies who wish to have their brands integrated into the 
  game 
  pay the publishers. An example is a clothing company who wishes to include virtual clothes in the virtual world.Surely, as the audience for MMO gaming expands, advertisers will become increasingly creative with how they monetize the games in this industry. 
  策划制作一个MMO 
  游戏 
  在计划的互动项目时,主要的是要有令人佩服的创造性以及使用匹配的恰当技术实现您的主意以及满意您的目的受众。在下面的章节中,我将提供整体的MMO 
  制作的看法以及可用技术的讨论。 
  图 
  2. 
  RIP 
  游戏LOGO. 
  举个例子, 
  让我们假设我们的目标市场是8-10 
  岁大的男孩与女孩,次目标市场是具备童心的成年人。我制作一个叫做RIP 
  以供我们来探讨一下。它基本不是一个完全的工程,但它的用途是为了让我们交换一下MMO 
  游戏谋划与开发的思维。 
  角色与故事 
  除了挑衅与漂亮的画面来吸援用户,增添角色的难度是坚持MMO 
  游戏长期有人玩的一个要害。人物和故事是留住你的用户群的两个症结因素。 
  这里有一些提醒对于设计MMO 
  游戏时要考虑的: 
  空前绝后: 
  你以为损害你的市场可能会节俭您的品牌差别。如果您抉择以超人的主题,由于流行的市场调研告知您,您的用户群爱好这样的主题,你同时要做好有半打竞争对手也想到了同样的方法的筹备。 让你的角色成长: 
  想想RPG 
  游戏。里面的角色有许多特性(如强度,健康,速度和情报) ,这些都随着经验的增加以及学习新的能力而增加。 让你的游戏情节成长: 
  请记住,假如您盼望你的MMO 
  游戏产生长久的寿命,。就要把您的内容设计的更像是正在进行的电视节目而不是一个孤单的卖座片子情节。您的开始部分一定要设置很多的铺垫,一定要打下好的基本。对于RIP 
  协定,我使用一个友好的鬼主题(见图3 
  ) 。当我创立的,我无奈找到一个友爱的以鬼为主题的MMO 
  游 戏。所以这是举世无双的。鬼魂可以有许多人的特性以及也可能发生一些超才能。这就使角色的特性可以增加。当我想到一个鬼的世界,我想多少件事情:新的鬼会定 时呈现,一个梦幻般的世界上任何事都是可能的,天堂与地狱的主题中角色可以死一遍又一遍。这些设法应当增进一个长期,丰硕的故事情节。 
  Figure 3. 
  角色样子. 
  跟着人物和故事件节确实定,今天是湖人和火箭季后赛第二轮第六场比赛,您可以让作家和艺术家开端考察所需要的技术。 
  客户端与服务器端技术 
  MMO 
  技术,主要有两个方面要考虑:客户端和服务器端。您已完成的项目结合了这两种技术。客户端技术(即Adobe 
  Flash Player,AIR 
  ,等等)将做所有工作量大的事情- 
  它负责前台表示以及鼠标和键盘的输入。服务器端的技术负责在每个客户端之间进行通信。 
  从大处到细节,技术上有很多问题都要斟酌。例如,什么类型的盘算机不能应用您的产品? 
  Mac 
  或PC 
  或两者都可以?它是桌面应用程序仍是运行在Web 
  阅读器?它将是一个三维的或二维的?它要运行在怎么的平台上? 
  If you are interested in creating casual online multi-player games without the headache of hosting your own servers, consider checking out the 
  Adobe 
  Flash Collaboration Service 
  . 
  对于这项工作,并与经济的考虑,我们使用的Adobe 
  Flash 
  平台开发并使用2D技术将此游戏部署在网络浏览器。我们使用了Adobe 
  FlexBuilder 
  作为我们的开发环境。我们联合客户端和服务器的技术,在客户端使用Flash Player 
  和在服务器端使用ElectroServer 4 
  。与我们的客户端选择的Flash Player 
  ,我挑选使用了一个现成的服务器技术,其中包括一个ActionScript 3 
  特定的帮助性文件,因为这将有助于加快发展的速度。除了ElectroServer 4 
  ,一些重要的服务器端的选择,支持ActionScript 3 
  还包括Adobe 
  Flash Media Interactive Server 3.5 
  和SmartFoxServer 1.6 
  。如果你有兴致创造休闲多玩家游戏并不必为托管本人的服务器头痛时,可以考虑Adobe 
  Flash Collaboration Service 
  。 
  我选择ElectroServer 4 
  ,主要是因为它是稳固,易于开发,免费(最多20 
  个用户) 。这象征着你可以开始一个新项目或测试而不用付费。此外, 
  ElectroServer 4 
  拥有可扩大性,辅助文档丰盛,并得到普遍支撑。 
  您可能还问我为什么选择二维而不是三维。虽然最新的Flash Player 10 
  中有一些令人高兴的3D 
  提供的解决计划(其中提供比硬件提供的解决方案还慢的动画) ,如Papervision3D 
  。我很等待Flash Player 
  中3D 
  的将来 ,但是据我的经验, 
  Flash 
  平台目前不是强盛的3D 
  需求的最好的选择。 
  开发 
  当初,我已决定好了友好鬼主题故事和人物,Flash Player 
  作为客户端,并且ElectroServer 4 
  作为服务器端,我预备开始开Flex 
  Builder中进行开发。对用户界面,我们将界面分块,以知足特定用户的需要(见图4 
  ) 。每个地域获取用户输入,并作出对应反应: 
  连接: 
  容许用户登录和登出程序. 用户列表: 
  显示目前在线的所有用户。 聊天记录: 
  显示游戏的聊天记录. 聊天输入口: 
  答应用户向游戏中确当前用户发送一则新闻. 游戏界面: 
  显示了游戏世界,由背景艺术和用户角色组成。用户通过控件角色的位置来把持角色进行移动。 
  Figure 4. 
  粗略布局的组成部分。 
  创建组件 
  我们将依照图4 
  来创造Flex 
  组件。对于每一个组成部分,我们必需考虑到用户的需要,来决议UI 
  元素,以满意这些需要,并充足利用Flex 
  中的MXML 
  来轻松地创建布局。在Flex 
  开发进程中, 
  这是最基础的,所以让我们来看看一个简单的例子。 
  犹如任何应用,聊天输入在应用程序的布局的底部(见图5 
  ) ,用户可以输入文字信息,并将其提交到聊天记载中以供其他用户看到。在参加者之间这是重要的通信方式。 
  Figure 5. 
  聊天输入部门 
  TextInput 
  与Button 
  组件放在一个Panel 
  组件中, ID 
  属性是用来给主程序中相干功效控件进行编号,当用户点击chatSend_button 
  实例,在chat_textinput 
  实例中的任何文字,将传递给其他玩家。在下一节中,我们将看到这个信息是如何传递给服务器。 
  Figure 6. 
  聊天输入口的MXML. 
  客户端- 服务器端 代码 
  我们继承建破我们的组成部分放下一些客户端与服务器之间的通信。开发多人游戏与开发的根本差异在,当用户交互而产生的任何货色都不应该在屏幕长进行修正。所有的游戏客户端(游戏运行的某个特定的玩家) ,包括提供了输入口的玩家,应该等候回信当服务器说"玩家1 
  已经发出了一个聊天信息" ,例如, 
  当玩家1 
  的客户端发送请求到服务器,服务器发送响应给每一位客户。只有到那时,屏幕才作出更新。当然,玩家1 
  的客户端必须随时准备处理回应,并且当客户端发送请求时, 
  其可以随时随刻的更新。玩家1 
  使用Client (A) 
  发出一个聊天信息要求和处置响应(见图7 
  ) 。发出的信息包括足够的信息以供所有客户作出适当的反映。在这种情形作出的反响很简单地放入到聊天记载中以供所有用户可见。 
  Figure 7. 
  客户端- 
  服务器端- 
  客户端信息流 
  在这个游戏中,有5 
  个类型的请求/ 
  响应配对(见图8 
  ) 。所有与服务器端的交互是通过一个叫作称为ElectroServer 
  的ActionScript 3 
  对象来实现的。当程序加载连接服务器与加入到房间中时,,该组合被显示。所有文字聊天和所有玩家的操作动作(如位置的变化,进攻,防守,等等)用这种方式进行发送。 
  当PublicMessageRequest 
  仅发送文字,它通常是作为一个聊天信息。但不仅仅是文字是可能的。一个消息也可以发送一个EsObject 
  对象。这是一个通用的ActionScript 3 
  对象。开发包装EsObject 
  的有用特征- 
  例如,玩家在游戏中挪动的新的X 
  和Y 
  的位置。更庞杂的游戏功能较重使用EsObjects 
  并且封装更多的数据。创造复杂的游戏而不通过EsObjects 
  传递太多的数据是一种艺术。发送较小的信息将有助于游戏反应速度。最后配对显示如何断开客户端从服务器室当用户停止他或她的游戏。 
  Figure 8. 
  RIP 
  的恳求/ 
  响应答. 
  技巧, 
  皮肤以及样式 
  因为Adobe 
  的Creative Suite 4 
  产品之间的协作,整合写好的控件到Flex 
  项目是很简略。这是使用FLEX 
  一个主要利益。如果细心规划高效力的工作流程,开发人员和设计职员,可以对项目以起码的抵触。 
  对于RIP 
  ,我开始铺设应用程序的MXML 
  而平面设计师编写CSS 
  来定义色彩和字体。我持续编写角色的移动和交互而艺术设计师用Flash 
  制作背景和角色。我们三人简直不中止工作,因为RIP 
  参考可见的元素进行开发。 
  在Flex 
  Builder 
  中主要有两品种型的视觉后果:造型和外观。在程序中,很是欣赏《神墓》和《,造型决定基本质泽和文本显示属性。杰出的(但还远远没有完成)的CSS 
  兼容性的Flex 
  允许一个CSS 
  文本文件来定义样式属性。艺术团队编纂和保留每个款式的变更。一个例子是panels 
  的背景颜色梯度和各种字体的处理(见图9 
  )。 
  应用程序中包括皮肤制定与动画的设计。在RIP 
  中,应用程序中嵌入一个包含资源的SWF 
  文件。界面小组应用Adobe 
  Flash CS4 
  专业版重新宣布此SWF 
  以更新每个皮肤。每一次的Flex 
  项目是重新编译,发布的游戏以程序上与创造性上作出修改。一个皮肤制作的例子就是RIP LOGO 
  或鬼魂的动画角色设计(见图9 
  )。 
  Figure 9. 
  实现游戏的作风和完整的皮肤。 
  现 在我们有了一个坚实的,抛光建立的游戏,我们都乐意尝试一下。虽然尚未针对许多用户优化,游戏应处理几十个屏幕。加入有趣的是轻易的。单击连接并且一个独 特的彩色鬼魂显示在屏幕上。输入文字信息进行交流,而后点击游戏中的任何处所,来控件你的游戏角色。更大的游戏可以扩展到包括化身属性,如经验和速度,以 完成义务,库存物品收集,和更多的世界来摸索。 
  下一步 
  除了发展自己的游戏,有两个重要的辅助因素:在线整合您的应用程序并规划项目标维护工作。 
  整合 
  你的开发周期行将走到止境时,您需要在线整合您的应用程序。在开发过程中,你可以在您的桌面上运行的一个ElectroServer 
  实例,并直接与出版的SWF 
  文件交互,这种方法的好处在于直观、易于统计和比较。只要打开两个或两个以上的游戏SWF 
  文件在您的桌面上,以测试多个用户。这个工作流程可以疾速发展。 
  一旦你已经准备好您的应用程序的在线测试,请履行下列步骤: 
  在Web 
  服务器上装置和运行的一个ElectroServer 
  实例。 您的游戏配置请求在线实例,而非您的桌面实例。 浏览网页,其中包含您的SWF 
  文件,并开始播放。翻开两个或两个以上的窗口,以该网页来自统一台式或台式机,以测试不同的多个用户。请记住,对大多数商业应用,你还需要某种玩家匹配体系- 
  通常称为lobby 
  , 这样,用户就可以找到友人,并开始游戏。您可以建立一个lobby 
  到您的游戏或使用外部的。您可以使用一个精心设计的外部lobby 
  作为进口成多个MMO 
  游戏,所以当你安排多人游戏你不须要从新发现车轮。 
  维护 
  除了典范的应用系统维修,包括过错修改和功能要求, 
  MMO 
  游戏需要更多的举动,不断推出服务后。重要的是要考虑推出项目作为一个完整的游戏所需要的。许多商业模式的应用受益于前面提到的长期用户。 
  用户聚精会神保持数月或数年,需要坚实的社会治理和按期的内容更新。大局部用户将享受来自与其余玩家互动。新玩家参加后引起的社会动态与戏剧性发展将捕捉用户的留神力。这是开发 
  商一个最大的优势。然而,有很大的竞争来自其他的MMO游戏,以及用户与用户共享,可享受其他许多游戏。为了使您的游戏令人兴奋并保持新颖,并确保您的用户继续介入,建立一个维持战略去产生更多的角色,游戏关卡,和情节随着时间的推移。由于开发商往往不充分意识维护要求,因而没有和估算范畴内保持平衡,颐养不善是导致MMO 
  游戏逝世亡的最大起因。 
  结尾 
  MMO 
  结合最好的Web 2.0 
  和RIA 
  方式为用户供给教训。它们能够成为令人高兴的名目开发跟有利可图的事业的游戏出版商。 
  树立成功的MMO 
  游戏需要当真规划,包括开发角色和故事应该是绝无仅有的,并允许发展,建设一个有吸引力的视觉设计,并选择适当的客户端和服务器的技术力气去实现构想。 
  开发包含用户界面设计,客户端服务器通讯,游戏逻辑,艺术和皮肤。我们信任的Flex 
  Builder 
  是一个幻想的客户真个技术的取舍,因为它机动的开发环境。再加上Adobe 
  公司的Creative Suite 4 
  ,Flex 
  Builder 
  将使你从一开始就顺利地构建您的团队合作。 
  如果您打算真正特别的东西,制订周密,并保持您的项目启动后运行良久,你就会使用Flex 
  3 
  发明一个胜利的MMO 
  游戏。 
  致谢 
  我特殊感激作出奉献的艺术家。Warren Lee 
  创造了风格和游戏艺术和Bill Coons 

猜你喜欢

转载自em641em.iteye.com/blog/1571882