移动梦网WAP业务规范V3.0

Posted: 七月 23rd, 2009 | Author: 达达尼昂 | Filed under: 资料收藏 | Tags: , , | 1 Comment »

 移动梦网WAP业务规范V3.0

 

虽然这份业务规范没有什么考虑用户体验优化,但它是规范。It must be …老实的遵守吧…

 

移动梦网WAP业务规范V3.0在线阅读
 

豆丁网在线阅读及WORD原件下载

 

  •  

    移动梦网WAP业务规范 (V3.0)

       

    中国移动通信集团公司

    二零零五年五月

      

    目     录

    第一章 概述. 3

    1.1目的… 3

    1.2适用对象… 3

    1.3相关术语和缩略语… 3

    第二章 业务设计规范. 4

    2.1页面设计… 4

    2.1.1页面字符及编码方式… 4

    2.1.2页面支持范围… 4

    2.1.3页面技术指标… 4

    2.1.4页面格式… 4

    2.1.5注册与认证… 7

    2.2返回链接链接规范… 7

    2.3  终端适配:… 7

    2.4  安全:… 8

    2.5其他规范… 8

    2.5.1 CACHE. 8

    2.5.2  COOKIE规范… 8

    第三章 免费试用规范:. 8

    第四章 移动梦网铃声图片下载类业务规范. 10

    4.1  规划… 10

    4.2管理办法… 10

    4.3 业务逻辑… 11 

      

    第一章     概述

    1.1目的

    本规范是对移动梦网WAP主站建设和规划所应遵循的原则之一。移动梦网WAP主站是为中国移动通信集团公司的全国用户使用移动梦网业务而建设的一个WAP门户。

    本规范的目的是为了规范服务供应商(SP)在中国移动通信集团公司的移动梦网WAP主站上提供的应用服务而制定。

    本规范是指导SP进行WAP业务开发的原则之一,提供WAP服务的SP同时必须遵循《中国移动通信集团公司与移动梦网WAP服务提供商合作协议》和《移动梦网SP合作管理办法》。

    本规范将随着移动梦网WAP业务的发展而进行修订,中国移动通信集团公司将及时把新修订的业务规范通知各服务供应商(SP),各SP应遵循当时的移动梦网WAP主站业务规范进行业务开发。

    本规范中未涉及到的议题,由中国移动和各SP本着相互尊重、平等互利的原则进行磋商。

    本规范自颁发之日起执行。

    本规范的解释权归中国移动通信集团公司所有。

     

    1.2适用对象

    本规范适用于所有在中国移动通信集团公司的移动梦网WAP主站上提供应用服务的服务供应商(SP)。各服务供应商(SP)应按照当前版本的业务规范来开展业务。

    移动梦网WAP各省资源站的应用服务可参照此规范执行。

     

    1.3相关术语和缩略语

    WAP:Wireless Application Protocol

    SP:Service Provider,服务供应商

    页面:每一次请求,所得到的显示内容

    菜单:栏目列表

    栏目:菜单中某一类服务的名称

    栏目标题:显示内容的页面顶端显示的内容标题

    栏目名称:菜单栏目列表中指向内容链接或下一级菜单链接的栏目名

     移动梦网WAP业务是中国移动移动数据业务的主要门户之一,为了保证业务的规范性和用户界面的一致化,加强业务的可用性,中国移动特制定本规范,同时也欢迎合作伙伴提出建议和意见。

      

    第二章     业务设计规范

     

    移动梦网WAP业务内容设计的原则是:界面统一,使用方便。

     

    2.1页面设计

    2.1.1页面字符及编码方式

    2.1.1.1页面上所有的文字都应使用中文简体字,以下情况除外:

    1、已经为大家所接受、理解上不存在疑难或歧义的外文,如:OK,TAXI等;

    2、专有名词,如外国人的姓名、国外公司的名称、商标等,难以翻译或翻译后对理解反而造成困难的外文;

    3、专门的外文栏目,如:English Club;

    4、其他经中国移动认可的。

    2.1.1.2 页面字符编码应采用UTF-8编码方式。

    注:对于目前左右按键不支持中文的手机,如Nokia 6150等可采用英文显示。

     

    2.1.2页面支持范围

    1、 保证Motorola、Nokia、Siemens、Ericcson、Sumsung等主要品牌的网关和手机浏览器都能正常访问WAP页面。

    2、 页面应按照WAP标准化组织(WAP FORUM)提出的标准开发。

    3、 鼓励各SP提供的页面支持一些新特性,如数字快捷健,软按键,浏览器直接发起呼叫等,在中国移动提出要求的情况下,移动梦网WAP页面应满足对这些新特性的支持。

     

    2.1.3页面技术指标

    WAP页面采用灵活的可视化设计方案;开发工具采用目前主流的WAP浏览器技术,语言采用主流编程语言。WAP页面的技术性能指标如下:

    1、 页面平均响应时间:在网络正常传输情况下小于3秒;

    2、 忙时链接成功率应不小于98%;

    3、 网络时延(指从WTBS PING SP服务器的环回时延)应不大于100毫秒。

    4、 SP响应时延(指从WTBS发出业务请求到WTBS接收业务响应的时延)应不大于500毫秒。

    5、 页面平均故障间隔时间(MTBF):大于10000小时;

    6、 页面平均故障恢复时间:小于5分钟;

    7、 每秒处理的WAP页面请求数:大于200次;

    8、 平台应用服务器响应时间:在2000并发用户(假设每个用户每10秒钟发送一个请求)的前提下响应时间为1s;

    9、 数据库服务器响应时间:在所建库的100万条记录中查询某条记录的搜索平均时长小于0.5s。

     

    2.1.4页面格式

    2.1.4.1 菜单使用规范

    2.1.4.1.1菜单使用规范

    缺省情况下,菜单内每一个栏目占据一行,但在特殊情况下允许同一行中使用多个栏目;

    如果需要在一个栏目上执行多个操作,以后可通过弹出式菜单实现。

    2.1.4.1.2栏目层次、排列规范

    (1)  首页菜单显示一级栏目列表,分别链接到其二级栏目列表;

    (2)  若有栏目标题,须在页面正上方居中显示;

    (3)  栏目名称左对齐排列,加入数字标识,便于以后数字快捷键的实现,显示方式如图一所示:

  •  

    移动梦网欢迎您 

    新闻中心

    2  QQ聊天

     

    在线游戏

    证券彩票

    时尚娱乐

    天气预报

    地方服务

    其他服务

     

  •   <图一>栏目显示方式(4)栏目标题超出一行时,优先选择向左滚动显示,若终端无法实现滚动显示,则     将超出内容另行显示;其他情况根据终端特性,选择分行或左右滚动显示。(5)每页显示栏目数目不多于9个,多于时建立“更多”作为第九个选项,或使用折叠菜单。

    (6)测试栏目不能出现在栏目列表中,内容为空或者还没有调试好的栏目应该暂时隐藏。

    (7)鼓励SP根据终端适配的原则,提供图形化、彩色化的栏目标示。

    (8)用户点击业务名进入SP业务界面,在等待页面中不允许出现SP的WAP网站名

         称。在进入SP业务界面后,应在页面正上方显示该业务名,业务名必须与用户从

    梦网上点击进入的业务名一致。

     2.1.4.2、文本显示规范

    2.1.4.2.1   业务中必须提供“帮助”链接,提供的内容为:

    (1)  业务使用中的秘诀和技巧;

    (2)  用户使用业务中常见问题的解答;

    (3)  公布投诉和客服电话。客服电话不能为分机。

    (4)  有条件、有能力的可以允许用户手工输入文字内容,由SP在后台进行处理并给予答复。但未经中国移动许可,不得将用户输入的内容在页面上显示。

    2.1.4.2.2  翻页规范:

    (1)  出现内容无法在一页内显示而必须翻页的情况,提供“下一页”的链接。

    (2)  在内容较多需要多页显示时,提供“下一页“和”上一页“的链接。

    (3)  同时存在“下一页”和“上一页”的情况下,“下一页”的链接在前,“上一页”的链接在后。

    2.1.4.2.3  对齐方式:左对齐,广告过渡、图片窗口可以居中对齐;

    2.1.4.2.4  免费业务的提示:

    (1)为了让用户清楚免费业务的资费,在业务首页的左上方进行明确提示,文字表述一律为 “本业务免费”。

    (2)对于提前上线还没有开始计费的业务,在计费前必须在业务首页的左上方进行明确提示,文字表述一律为 “本业务免费”。在业务计费生效时,必须去除关于业务免费的提示。

     2.1.4.3、输入规范

    2.1.4.3.1用户输入规范:

    尽量减少用户的文本输入,去除不必要的输入项;

    对已激活的输入区域只需要提供一个确认连接;

    对输入数据类型进行强行匹配,以免除用户在终端上进行输入法切换的麻烦。例如

    该输入数字的地方不允许输入字母等;

    对确定内容提供默认值或进行预制,如输入手机号码表示为13XXXX,只让用户输入后几个数字即可;

    对于密码输入采用明文方式,不用*,或用户输入密码应先显示其所输入的内容,再以*号覆盖。

    在用户必须进行输入操作的情况下,应防止用户在格式化输入区域中不输入任何内

     容就进行下一个操作。但必须支持用户在不输入任何内容的情况下的返回和跳转到

    梦网首页的操作。

    2.1.4.3.2多选列表规范:

    当用户需要选择一个以上选项时,可以通过多选列表来实现;

    多选项之间必须分行显示,当单个选项内容超过一行时,必须通过左右滚动显示该

    选项内容。

    2.1.4.3.3表单输入规范

    对有一定顺序的信息输入,建议使用向导表单来引导用户输入;

    当用户完成一个表单中的所有页面的输入后,要提醒用户确认输入;

    对用户使用表单中途退出的情况,要有一个页面提示用户确认退出;

    表单中尽量不要使用到其他页面的连接,除非该连接以下的内容无关紧要,因为用户很容易通过该连接跳过后面的内容。

     

    2.1.4.4、移动梦网标识使用规范

    SP在移动梦网WAP主站上提供的应用服务,不得出现SP自有品牌的标识,而应统一使用移动梦网的标识;

    SP提供的内容的合作伙伴可以在征得中国移动和SP的许可之后使用自有标识。

     

    2.1.4.5、图像规范

    提供的图像须是大部分手机所支持的格式,对于不能支持图像的手机在用户预览时要提供文字说明;

    不要对图像定义任何操作;

    对大于手机屏幕的图像可以使图像垂直移动,但不能水平移动;

    对时效性很强的页面使用图像要谨慎,有可能在图像下载的过程中页面已经失效了。

     

    2.1.4.6、出错页面规范

    所有出错页面应给出简洁、友好的错误原因说明或者提示信息,指导用户进行正确操作;每个出错页面应给出[返回上一级]链接,恢复到用户前次页面。

     

    2.1.5注册与认证

    1、 移动梦网WAP总站统一完成用户的注册与认证,各SP业务内容中不允许出现由于计费需要,或与业务无关的要求验证用户身份的注册与认证。

    2、 各SP业务内容中,与业务相关的注册认证要求如下:

    (1)  所有服务内容的注册与认证,应尽量简单。

    (2)  普通信息浏览类业务,不允许再出现用户注册、认证的流程。

    (3)  邮件、聊天、游戏等业务,由于业务开展需要,可以出现虚拟用户的注册认证流程。

    (4)  下载类业务,不允许出现用户注册、认证的流程,可以出现输入下载接收方的流程。

    (5)  交易类业务,由于安全需要,可以出现交易的注册认证流程。

     

    2.2返回链接规范

    2.2.1   返回链接应简单明确,符合用户使用习惯,方便用户使用业务。

    2.2.2   同一页面的返回链接不要超过3个。

    2.2.3  每一页面都必须提供返回梦网首页的链接,链接指向http://wap.monternet.com,文字表述一律为“梦网首页”。

    2.2.4   返回业务首页菜单的链接的文字表述一律为“返回XXXX”(XXXX为业务

                名,该业务名必须与梦网上显示的业务名一致)。
    2.2.5   为了方便用户重新操作使用,可以提供一个跳转的返回链接,指向用户最

            方便使用业务的层次;该菜单或业务层次不能为该业务首页菜单,不能跳出该业务,不能仅仅指向上一页面。该链接的文字表述一律为“返回上一级”。

    2.2.6  不允许出现仅仅指向上一页面的返回链接,该链接的功能直接由终端的返

             回键实现。对于一些为了保证业务效果而封闭了返回功能键的,可以提供

             “返回”链接。

    2.2.7   不允许出现以上4种返回链接以外的其他文字描述的返回链接。

    2.2.8   不允许出现跳转到SP自有WAP网站的链接;

    2.2.9   不允许出现跳转到SP在梦网其他业务的链接;

    2.2.10   不允许出现非本业务的其他业务的介绍或链接;

    2.2.11   不允许出现宣传SP WAP网站、WWW网站或其他网站的介绍或链接。

     

    2.3  终端适配:

    2.3.1   SP应能识别用户手机型号,根据终端适配的原则给出最理想的页面。

    2.3.2   铃声图片下载类、动漫浏览类必须实现终端适配;

    2.3.3   不属铃声图片下载类、动漫浏览类业务但提供图片浏览的,也必须实现终端

            适配。

    2.3.4   上2条中所涉及的业务,在免费试用链接和正式业务中必须判断用户所使用

            的终端型号,对不支持用户所使用终端的情况,必须向用户进行说明。

    2.3.5   对于针对彩色手机设计的业务,如铃声图片下载、动漫类业务,应将页面作成彩色。

      

    2.4  安全:

    2.4.1 聊天业务、提供用户留言并可以将留言显示的业务,必须增加安全过滤机制。对不安全、不合法的字词进行过滤,对不符合信息安全的言论一律不予发布。达不到本要求的业务,将取消留言功能。

    2.4.2  对于连续发布不安全、不合法信息的用户,将情况通报中国移动。

     

    2.5其他规范

    2.5.1 CACHE

    1、不要将时效性很强的内容,如新闻、股票信息等留在CACHE中。

    2、对时效性较强的内容,如天气信息、交通信息等要限制在CACHE中的有效时间

    3、对动态信息要强制更新

    4、如果用户可能要用到下一页的内容,应事先将下页内容下载到CACHE中,加快用户阅读速度

     

    2.5.2  COOKIE规范

    1. COOKIE一般情况下存放在用户的手机上,若用户手机不支持COOKIE功能,则WAP网关将协助存储用户COOKIE信息;
    2. COOKIE可分为永久性COOKIE和暂时性COOKIE,通过手机与WAP网关的配合,两种COOKIE均可实现,可根据业务的需求选择使用;
    3. 暂时性COOKIE的保存时间一般是1小时,可根据业务的需要自行指定;
    4. 在游戏、社区类业务中,涉及用户身份识别的信息应使用永久性COOKIE;

      

     

    第三章     免费试用规范:

    3.1    免费试用的功能是让用户在支付信息费前先对业务有个比较清楚的认识和了解,然后再根据自己的兴趣爱好来决定是否购买和使用。免费试用链接符合用户的购买习惯,能较大程度地保护用户的合法利益。

    3.2  所有计费业务都必须提供免费试用内容,不能提供的业务不予上线。

    3.3  免费试用的逻辑要求;

    除了游戏类、聊天交友类业务外,在每个业务的免费试用页面上必须提供按次使用方式,而且按次使用次序在前,免费试用页面的示例如下: 

  •  

    幻彩图片

    以下三幅图片下载免费

    图片一

    图片二

    图片三

    1. 栏目一

    2. 栏目二

    …………

    按次使用,每条1元

    包月定购,每月5元

    下载帮助

    梦网首页

     

  •  

    各类业务必须符合以下要求:

    1、新闻类业务:

             (1)用户进入后应能至少看到最近更新的2条新闻,为了保护订购用户的利益,该新闻的更新可以比实际业务晚1小时。

               (2)新闻中如果有图表,必须保证图表在所有主流终端能够正确显示。如果新闻中没有图表,在新闻标题中不应出现图、表等字样。

    2、天气预报:

             用户可以看到昨天的本城市天气报道情况,同时提示用户如果要了解最新的天气预报,请订购本业务。

    3、聊天交友类业务:

    (1)  用户可以“游客”的身份进入聊天室,可以参观聊天的全部功能,可以旁观其他订购用户的聊天,但不能发表言论。

    (2)  SP可以给用户一个默认的‘游客’身份,但不允许给免费试用的用户创建身份。

    4、铃声图片业务遵循第四章的《移动梦网铃声图片下载类业务规范》。

    5、游戏类业务:

    (1)  角色扮演类和闯关晋级类游戏必须提供用户进入游戏实际操作的功能,用户在该链接中应至少与系统互动30次以上,但可以不超过该游戏完整互动总次数的1/4。

    (2)  占卜类业务可以在用户完成测试输入项后,要求用户订购业务再出现测试结果。但必须能够保留用户在订购前的输入项,不再需要用户重复输入。

    (3)  益智冲浪和消遣笑话类业务必须提供3则以上的内容供用户阅读,益智类业务必须提供答案。

    6、证券财经类;

           提供能演示其全部功能的示范,可以用历史数据来进行演示,但必须向用户

           说明所用数据的时间并向用户保证实际业务中数据的时效性。

    7、伊人时尚类业务:   

    (1)  至少提供3则内容供阅读。

    (2)  该内容应注意更新,更新频度应保持至少1周1次。

    8、生活学习类服务:

    (1)  至少提供3则内容供阅读。

    (2)  该内容应注意更新,更新频度应保持至少1周1次。

    9、动漫类业务:

    (1)  采用USER AGENT功能,自动识别用户所使用终端的型号,对应给出彩色和黑白的图片,该过程不再需要用户进行选择,以减少点击。该要求同样适用于实际已经订购的业务。

    (2)  至少提供3则以上的完整内容(带图片)供用户浏览。

    (3)  提供整个业务的内容标题介绍供用户浏览 。

    (4)  上线最低要求为:能够提供30则以上的动漫内容,每周更新5则以上的内容。

    3.4  业务免费试用页面上链接的要求:

    (1)  不允许出现跳转到SP自有WAP网站的链接;

    (2)  不允许出现跳转到SP在梦网其他业务的链接;

    (3)  必须提供返回梦网首页的链接,链接指向http://wap.monternet.com,文字表述一律为“梦网首页”。

    (4)  不允许出现非本业务的其他业务的介绍或链接;

    (5)  不允许出现宣传SP WAP网站、WWW网站或其他网站的介绍或链接。

    3.5  免费试用必须展示业务的真正功能和特色,不允许夸张、虚夸本业务,不允许提供未实现的业务功能介绍或演示。

    3.6  免费试用链接中应提供提示用户订购的链接,同时根据在SP侧发起订购请求的接口规范进行返回。

    3.7  鼓励SP开发出更有表现力、吸引力的免费试用内容。

     

    第四章     移动梦网铃声图片下载类业务规范

     

    4.1  规划

  •  

    我的梦网北京风采…………铃声图片游戏娱乐…………
    (纳维)(讯天)(吉菲尔)(新浪)(TOM)……….
    进入SP的页面

     

  •   说明; 

    1、 SP名称打上括号是表示不允许出现SP自己的名称,而是给其产品起一个固定的名称,我们宣传其产品品牌; 

    2、 SP侧应启动USER AGENT功能,自动识别用户的手机型号,仅提供适合用户手机型号的铃声,如下图所示,虚框表示用户并不经过该阶段,仅是系统的处理逻辑。 

  •  

    (纳维)(讯天)(吉菲尔)(新浪)(TOM)……….
    765035104和弦手机单音手机……… 
    最新推荐华语流行欧美金曲影视插曲……….
    自动识别用户的手机型号为7650

     

  •    

    4.2管理要求

    1、  SP所负责的栏目名称不能起“大而全”的名称,如“和弦铃声大全”类的名称将被禁止。所采用的名称必须具有可区隔性,不以业务种类作为业务名。 

    2、  铃声、图片、屏动栏目SP可以具有多个SERVICE ID,但只提供一个入口。 

    3、  SP上线条件: 

    (1)       链接完整,曲目或图片的下载成功率在90%以上; 

    (2)       必须支持目前市场上主流的机型15种以上; 

    (3)       每种机型提供的铃声曲目或图片数量不少于200项; 

    (4)       能够保证做到及时更新,能够根据市场流行制作曲目或图片; 

    (5)       必须提供模糊检索功能; 

    (6)       必须提供免费试用链接并满足业务规范中的要求; 

    (7)       必须具备USER AGENT功能; 

    (8)       已经解决版权问题; 

    (9)       提供在线帮助,在线帮助中应提供客服电话,客服电话必须为直拨电话,最好提供中国移动的手机号,且保证7×24小时有人接听; 

    (10)   业务逻辑设计符合中国移动的规范。详见下文。 

    (11)   提供发送给好友的链接,通过WAP PUSH实现将铃声或图片传递给其他人的业务类型,费用由发送方承担。 

    (12)   符合梦网WAP业务规范和其他规范。 

    4、  免费试用链接的要求:

    (1)       提供至少3首的歌曲或图片供用户免费下载;

    (2)       用户可以看到该栏目所有的歌曲名或图片名列表,但不能下载;

    (3)       支持用户进行模糊搜索,查找自己所需的曲目;

    (4)       支持从SP端发起的订购请求。

    5、  SP增加新的机型必须要经过数据部的测试通过后才能增加;要撤掉某机型必须先免费使用2个月后再下线。不允许未经数据部许可而私自增加、减少所支持的手机型号。

    6、  中国移动将根据业务发展的需要,对管理办法进行调整,SP以最新发布的管理办法为准进行业务调整和设计。

     

    4.3 业务逻辑

    总的要求:

    用户在付费前清楚业务的实际情况;

    计费逻辑清晰,用户不会因误点击或在对计费点不清楚的情况下产生计费;

    尽量减少用户的点击次数;

    维护梦网的统一形象。

     

    一、免费试用链接:

    1、  SP点击进入“免费试用”后,SP对用户的手机型号进行判断:如果不支持该型号,则礼貌地向用户道歉;如果无法判断用户的手机型号,则提供所支持的所有型号列表。

    2、  SP所列的支持的手机型号必须通过MISC测试,未通过MISC测试的手机型号不允许提供服务。SP向中国移动提供所支持的手机型号列表,不允许私自增加新的支持型号。

    3、  SP增加新的支持型号,必须先通过MISC的测试才允许添加。

    4、  中国移动对此进行检查,发现私自增加新型号的SP将给予降低推荐位置的处理,情节严重、屡次违反的将取消提供业务的资格。

    5、  在免费试用页面中提供链接,能让用户进入看到SP所提供的业务的框架和具体的曲目。这些曲目作成浏览型,用户定购后才能下载。注意:用户所看到的界面应该和实际订购业务后看到的界面完全一致。

    6、  提供搜索功能,支持模糊搜索。搜索必须支持按歌手搜索和按曲目搜索。搜索结果必须真实。搜索结果为空时,必须向用户诚恳道歉。

     

    二、图片下载的业务逻辑:

    1、  图片名称应该能够描述图片的特性,不允许用XX1、XX2等作为图片的名称。

    2、  SP的必须提供图片的缩略图。当用户点击图片名称时,不允许直接下载图片到用户的手机上,不允许在这一阶段对用户进行计费;而是提供缩略图让用户对该图片产生一定的概念。仅当用户满意图片,点击“下载”链接后,才允许进行实际的图片下载并计费。

    3、  在下载页面提供一个链接“重来一次”,该链接不计费。确保当用户下载失败后能够免费下载。对用户返回并重新下载也要进行逻辑判断,对此操作不予计费。

    4、  以上1-3要求适用于计次业务,对于包月业务,为了减少用户的点击次数,可以点击图片名称即立即下载。

     

    三、铃声下载的业务逻辑:

    1、  在铃声下载业务中,当用户点击铃声名称时,不允许直接下载铃声到用户的手机上,不允许在这一阶段对用户进行计费。

    2、  应该出现对这一铃声的相关描述,内容必须包括:歌手、数据大小、已下载的次数,同时提供“下载”链接。

    3、  仅当用户点击“下载”链接后,才允许进行实际的铃声下载并计费。

    4、  下载页面提供一个链接“重新下载”,该链接不计费。确保当用户下载失败后能够免费下载。对用户点击返回并重新下载也要进行逻辑判断,对此操作不予计费。

    5、  以上1-4要求适用于计次业务,对于包月业务,为了减少用户的点击次数,可以点击铃声名称即立即下载。

     

    四、其他:

    1、  SP必须设置“帮助”链接,提供客服电话和下载的必要指导。

    2、 SP必须在对用户手机型号判别后,对彩色手机提供彩色页面和彩色小图标,以丰富业务的可用性,吸引更多用户登录使用梦网业务。 


  • MMORPG游戏开发入门【转】

    Posted: 六月 26th, 2009 | Author: 达达尼昂 | Filed under: 资料收藏 | Tags: , , | No Comments »

    MMORPG游戏开发入门

    原著:Radu Privantu
    翻译:pAnic

      
      译者序:这是一篇讲解如何开发一款MMORPG的入门文章,作者本人也是一款游戏的开发者,文中的内容源于实践,有很高的参考价值。很多人都想拥有自 己的游戏,这篇文章对那些想自己开发游戏的人来说可能是一纸福音,也可能是一盆冷水。无论如何,开发游戏都不是一件简单的事情。以下是翻译正文:
      

      文章的中心是如何起步开发你自己的大型多人在线角色扮演游戏( 原文:Massive Multiplayer Online Role Playing Games) (MMORPG)(译者注:俗称:网络游戏,网游)。针对的读者是经验和资源有限的开发者。 读完文章之后,你应该懂得如何起步, 还有一些关于什么是应该做的和不应该做的忠告。第一步是评估你的能力和资源。你必须对自己诚实,因为做你力不从心的事情会浪费你的时间并让你心灰意冷。
      
      第一步:评估你的能力
      
    必须的技能:
      
      1、懂至少一种编程语言。 迄今为止, C++因为性能和效率的优越性成为游戏开发者的首选。 Visual Basic, Java 或者 C# 可能也是不错的选择;

      2、熟悉一种图形库。通常的选择是SDL, OpenGL, 或者DX/D3D。(译者注:网上也有很多免费/付费引擎下载和出售);

      3、选择一种网络通讯库。 你可以从WinSock, SDL_net, 或DirectPlay中选择。(译者注:很多人喜欢开发自己独特的网络库,这并不复杂,似乎ACE也是一种选择);

      4、对游戏开发有大体的经验。例如,事件循环,多线程,GUI 设计,等等。
      
    强烈推荐的技能:
      
      1、C/S结构通讯;
      
      2、多平台开发。 你可能希望设计一个MMORPG, 尤其是服务器能运行在多种操作系统。为此,我推荐使用SDL, OpenGL 和SDL_net;

      3、网站开发。如果你想让用户通过网站查看玩家统计,服务器信息和其他信息,这是必须的。(译者注:其实网站可以交给其他人开发,如果有必要的话);

      4、安全管理。你当然不想因为有人攻击你的服务器而浪费时间!

      6、团队组织能力。 你需要一个你能成功领导和管理的团队;
      
      第二步:初步规划
      
      我注意到很多人在不同的论坛发帖子寻找团队开发MMORPG。他们中的大部分是这样:“我们成立了一个公司/游戏工作室,需要3个美工,两个程序,1个音乐制作,等等。为了创新,不要看过去的MMORPG,你有全部的自由用来创造你想要的世界,等等。 我们会在项目完成并赚到钱的时候付给你酬劳,等等”。不幸的是,以现有的技术和带宽,你无法拥有一个动态的世界。 朝向无法到达的目标前进只会导致失败。正确的做法是拿出一些小规模的,功能性强的,可扩展的设计和构架。,
      
    基本软件构架
      
      首先,尝试创建一个简单的C/S模型,有如下功能:
      
      1、创建一个新角色;
      2、保存那个角色(服务器端);
      3、用那个角色登陆;
      4、能够和其他人交谈;
      5、能在3D空间游览;
      
      保存角色看起来简单,其实不然。 例如,有两种方式保存角色:使用数据库服务或者使用文件。两者有各自的优缺点:

      数据库 文件
    优点
  • 添加新域或者修改现有的都很简单。
  • 更新玩家统计数据非常简单(从游戏外)。
  • 你可以通过SQL查询方便的获取不同种类的统计结果。
  • 无需自行完成I/O操作,数据库会替你做好。
  • 易于更新/恢复。
  • 高速操作(读/写)。
  • 实现简单。
  • 无需额外的库。
  • 不依赖数据库服务器。因此你不必担心数据库升级或安全问题。
  • 缺点
  • 容易出错。 例如,做一个更新查询的时候遗漏了”where”子句。会导致惨痛的损失,尤其是你没有备份的时候。
  • 数据库会比打开/写入一个玩家档案文件慢。你查询一些数据的时候会耗费几个毫秒,尤其是大量玩家同时登入/登出的时候。
  • 需要额外的代码进行游戏和数据库间的数据转换。
  • 需要操作数据库和SQL的经验。并且需要一个程序和数据库之间的接口库。
  • 如果因为某些原因数据库文件损坏,那算你倒霉,你可能会丢失所有的玩家数据(尤其是短期内没有备份的时候)。
  • 很难添加新的域,除非一开始就很小心的设计了文件的格式/结构。
  • 没法做全体玩家的查询。(这可以通过每天晚上用程序把重要字段添加进一个数据库间接实现)。
  • 如果你想更新/检查玩家状态,你必须额外写代码。
  • 更新和还原比较复杂。
  •   现在你决定了如何存储角色,你还得选择C/S通讯的网络协议:TCP 还是 UDP?,我们都知道TCP速度慢,但是更准确,并且需要额外带宽。我实际使用TCP并没有遇到什么问题。 如果你有充足的带宽,TCP是个好选择,至少对初学者是这样。 UDP 会很麻烦,尤其是对新手。 记住,游戏或引擎的初步测试会在你的局域网进行,所有的包都会按顺序依次抵达。在Internet上无法保证这一点。虽然包会按顺序到达,但是有时候会丢包,这通常是个麻烦事。 当然,你可以设计你的协议使得C/S能够从丢包中恢复。但这对初学者来说很痛苦,不值得推荐。

    第三步:选择数据传输协议
      
      又是看起来很简单,其实不然。你不能只是发送’’\0’’结尾的串。因为你需要一个通用的协议,能同时适用字符串和二进制数据。用0(或其他字符)做 结束符是不明智的,因为那个结束符可能是你要发送的数据的一部分。此外,如果你发送20字节,然后再20字节,服务器极有可能收不到两个20字节的包。取 而代之的是,它会一次性收到40字节,为了避免浪费带宽在不必要的头上。 而且,你可以发送1KB的包,但服务器会以两个小包的形式收到它。所以你必须知道哪里是一个包的开始,哪里是结束。在 “永恒大陆”(译者注:原文: Eternal Lands,本文的作者正在开发的一款MMORPG)中,我们用如下的方法:
      
      ·Offset 0: 1 字节 表示传输的命令;
      ·Offset 1: 2 字节,传输的数据长度;
      ·Offset 3: 变长,消息内容;

      这种方法有一致的优点:所有的数据传输有统一的标准。缺点是有些命令有固定已知的长度,浪费了一些带宽。以后我们会改成混合的方法。
      
      下一件事是决定服务器模型: “非阻塞soket,不使用线程”,或者“阻塞soket,使用线程”。两种方法(使用线程 vs 不使用线程)各有优缺点。
      
      线程:
      
      1、服务器响应会更加平滑,因为如果一个玩家需要大量时间(例如从数据库中读取数据),这会在它自己的线程中完成,不会影响其他人。(译者注:也许作者的意思是每个玩家都有独立的线程,但这对MMORPG不太现实);

      2、难以恰当的实现和调试:你可能需要大量同步,并且一个小疏忽就会导致灾难性的后果( 服务器瘫痪,物品复制,等等);

      3、可以利用多处理器;

      无线程:
      
      1、实现和调试更简单;

      2、响应速度慢;

      在我的公司,我们使用无线程的方法,因为我没有足够的资源和人力处理线程模式。
      
      第四步:客户端

      
      你打算做2D还是3D游戏?有些人认为2D游戏做起来简单。我两者都做过,并且我倾向于3D游戏更简单。容我解释。

      2D下,你通常有一个帧缓冲,也就是一个巨大的象素点数组。象素点的格式会因显卡的不同而不同。 有些是RGB模式,另一些是BGR模式,等等。每种颜色的bit数也会不同。只有在16bpp模式才有这个问题。8-bit和24-bit模式简单一些, 但有他们各自的问题(8-bit颜色数太少(256),而24-bit速度更慢)。同时,你需要制作你的精灵动画程序,不得不自己排序所有对象,以便他们 以正确的顺序绘制。 当然,你可以用OpenGL或者D3D制作2D游戏,但通常这并不值得。并不是所有人都有3D加速卡,所以使用3D库开发2D游戏一般会带给你两者的缺 点:不是所有人都能玩,你也不能旋转摄像机,拥有漂亮的阴影,和3D游戏炫目的效果。

      (译者注,目前绝大部分显卡都支持565的16bpp格式,这个也成为目前16位色的业界通用格式,有不少文章和代码都是讲述这一格式下图像处理的,尤其是使用MMX技术)

      3D的途径,正如我所说,更简单。但是需要一些数学(尤其是三角)的知识。现代的图形库很强大,免费提供了基本的操作(你不需要从后到前排列对象,改 变物体的色彩和/或帖图都十分简单,对象的光照会按照光源和它的位置计算(只要你为它们计算了法向量),还有更多)。并且。3D给了你的创作和运动更多的 自由度,缺点就是不是所有人都能玩你的游戏(没有3D卡的人数可能会让你大吃一惊的),并且,预渲染的图片总是比实时渲染的更漂亮。

      (译者注:市面上想买不支持3D的显卡目前很困难,只是高性能的3D卡价格也不低)

    第五步:安全
      
      显然,不能相信用户。任何时候都不能假设用户无法破解你精巧的加密算法(如果你使用了的话)或者协议,用户发送的任何信息都要通过验证。极有可能,在 你的服务器上,你有固定的缓冲区。例如,通常有一个小(可能是4k)缓冲区用来接收数据(从soket)。恶意用户会发送超长数据。如果不检查,这会导致 缓冲区溢出,引起服务器瘫痪,或者更坏的,这个用户可以hack你的服务器,执行非法代码。每个单独的消息都必须检查:缓冲区是否溢出,数据是否合法(例 如用户发送“进入那扇门”,即使门在地图的另一端,或者“使用治疗药水”尽管用户没有那种药水,等等)。 我再次强调,验证所有数据非常重要。一旦有非法数据,把它和用户名,IP,时间和日期,和非法的原因记录下来。偶尔检查一下那个记录。如果你发现少量的非 法数据,并且来自于大量用户,这通常是客户端的bug或者网络问题。然而,如果你发现从一个用户或者IP发现大量非法数据,这是明显的迹象表明有人正在欺 骗服务器,试图hack服务器,或者运行宏/脚本。同时,决不要在客户端存储数据。客户端应该从服务器接收数据。换句话说,不能发送这样的消息“OK,这 是我得物品列表”或者“我的力量是10,魔法是200,生命值是2000/2000”。 而且,客户端不应收到它不需要的数据。例如:客户端不应该知道其他玩家的位置,除非他们在附近。 这是常识,给每个人发送所有玩家会占用大量带宽,并且有些玩家会破解客户端从中获取不公平的利益(像在地图上显示特定玩家的位置)
      
      (译者注:就像传奇的免蜡烛外挂)。所有这些似乎都是常识,但,再次,你会惊奇的发现有多少人不知道这些我们认为的常识。
        
      另一个要考虑的问题,当涉及到安全:玩家走动的速度必须在服务器计算,而不是客户端。
      
      (译者注:这是重要的原则,但是会耗费大量服务器资源。魔兽世界没有这样做,它采用类似其他玩家揭发的形式掩盖这个事实,导致加速外挂可以用,但是在有其他玩家的时候会暴露)。
      
      服务器应该跟踪时间(以ms为单位)当客户最后一次移动的时候,并且,移动的请求如果比通常的极限更快到来,这个请求应该被抛弃。不要记录这类虚假请求,因为这可能是因为网络延迟(也就是玩家延迟,过去的10秒内发送的数据同时到达了)。
        
      检查距离。如果一个玩家试图和100亿公里以外的玩家交易(或者甚至在另一张地图上),记录下来。如果一个玩家试图查看,或者使用一个遥远的地图对 象,记录它。小心假的ID。例如,正常情况下每个玩家都会分配一个ID(ID在登陆的时候分配,可以是持久的(唯一ID)。 如果ID在玩家登陆的时候赋予9或怪物被创建的时候),显然可以用玩家数组(保存玩家)的位置(索引)作为ID。
        
      所以第一个登陆的玩家ID是0,第二个是1,依此类推。现在,通常你会有一个限制,比如说2000个索引在玩家列表里。所以如果一个客户端发送一条命 令类似:“查看ID200000的角色”,这会使服务器当机,如果没有防备的话,因为服务器会访问非法的内存区域。所以,一定要检查,就像这样: “if actor id<0 or if actor id> max players 然后记录非法操作并且断开玩家。如果你使用C或者C++,注意或者定义索引为’’unsigned int’’ 并且检查上限,或因为某些原因定义为int(int,默认是有符号的),记得检查 <0 and >max 。没有做这些会严重挫伤你和其他用户。类似的,要检查超出地图坐标。如果你的服务器有某种寻路算法,并且客户端通过点击地面来移动,确保他们不要点击在地 图外部。
      
      第六步:获得一个团队
      
      制作游戏需要大量的工作(除非是个Pong and Tetris游戏)。尤其是MMORPG。你无法单靠自己。理论上,一个完整的团队组成是这样:
      
      ·至少3 个程序员: 1 个做服务器,两个客户端(或者一个客户端,一个负责工具,例如美术插件,世界编辑器,等等)。有6个程序员是最好的,更多就没必要了。这取决于你的领导能 力。最少一个美工,2到3个更合适。如果这是个3D游戏,你需要一个3D美工,一个2D美工(制作帖图,界面,等等),一个动画师,和一个美术部负责人。 美术部应该由有经验的人组织和安排,除非你就是个艺术家。
      
      ·少数世界构建者:创建所有地图是个漫长的过程, 并且直接关系到游戏的成败。再次,你需要一个世界构建部的负责人。你的世界需要协调一致,所以不能只有一个意气用事的人。
      
      ·一个 网站管理员是必须的,除非你精通网站设计,并且愿意花时间做网站。音效和音乐不是必须的,但是有音效和音乐的游戏比没有的会更吸引人。
      
      ·一个游戏经济系统 设计师.。你也许觉得那很简单,可以自己来做,但事实上那是最复杂的工作之一。如果经济系统设计不良(比如物品没有平衡,资源在地图上随意放置,等等。) 玩家会觉得无聊并且退出游戏。我们早期的进展存在很大的问题,尤其是因为经济系统主要是由我(一个程序员)设计的,它没有被恰当的计划。 于是,我们花费了两个月来重新思考和建立一整个新的经济系统。这需要一次完全的物品清除。我告诉你,玩家会很不乐意你删除他们的物品。幸运的是,大部分玩 家赞同这个想法,但是这么多小时的争论,妥协,解释和时间的浪费还是让我们丧气。以后会更多。
      
      如前所说,你需要一个10~15人的团队,不包括协调员和管理者。这10~15人必须是有经验的。如果都是新手就不值得,因为你需要花大量时间解释要做什么,怎样做,为什么他现在的做法不好,等等。
      
      一开始就凑齐10~15人几乎是不可能的。不管你在不同的论坛发多少帖,你也无法找到合适的团队成员。毕竟,如果一个人熟练于他/她的领域,为什么在 你无法拿出任何东西的时候他/她要加入你的团队?很多人有远大的想法,但是实现它们需要大量时间和努力,所以他们宁可从事自己的工作也不会加入你。那如果 你需要10~15人,但是无法让他们加入你的团队,你如何才能制作一款MMORPG呢? 好,事实上,你一开始不需要所有人都到位。你真正需要的是一个程序员和一个美工。如果你是个程序员,只要找个美工就可以了。请求懂美术的朋友帮忙,花钱请 大学生/朋友做一些美术或者其他工作。
      
      现在你有了一个美工,你期待的游戏的样子,现在可以开始实现了。一旦你有了可以运行的C/S引擎,一些用来展示的截图(或者更好,玩家可以登陆你的世 界,四处走动,聊天),更多的人会愿意加入你的团队。更恰当的是,除非你使用独有的技术,否则你的客户端可以开源。许多程序员会加入(作为志愿者)一个开 源工程而不是非开源项目。而服务器不应该开源(除非你打算做一款完全开源的MMORPG)。
        
      其他一些忠告:在有东西可展示之前,不要夸大你的游戏。最惹人烦的事情之一就是一个新手发一个“需要帮助”的请求,要求一个巨大的团队加入他的游戏制 作,解释这个游戏到底有多酷。一旦你拥有了网站广告(通常是在一个免费主机),你会看到一个吸引人的导航条,包含“下载”,“截图”,“ 原画”(译者注,原文:Concept art,概念艺术,在游戏应该指美工的原始设计),“论坛”。你点击下载链接,然后看到美妙的“建设中”页面(或者更糟糕,一个404错误)。然后你点击 截图,得到同样的结果。如果你没有东西给人下载,就不要放下载链接。如果没有截图展示,不要放截图链接。然而更好的是,在工程进展10%(程序和美工)之 前,不要浪费时间在网站上。

    第七步:打破某些神话
      
      1、你无法制作MMORPG, 只有大公司才可以。
      
      我不同意。虽然制作一款像魔兽世界(World of Warcraft),无尽任务2(Ever Quest 2),亚瑟王的召唤2(Asheron’’s Call 2),血统2(Lineage 2),和其他一些游戏对一个小的自发团队是不可能的,但是做一款像样的游戏还是可以的,只要你有经验,动机,和时间。,你需要1000小时的编程来制作一 个可运行的测试版,大概10~15k小时完成几乎完整的客户端和服务器。。但是作为团队领导者,你不能只编程。保持团队团结,解决争执,维护公共关系 (PR),技术支持,架设服务器,惩罚捣乱分子,自由讨论,等等都是你的职责。你可能会被非编程的任务淹没。你很可能需要上班/上学,这减少了你花费在项 目上的时间。我们很幸运,没有成员离开团队,但是如果这种事情发生,那的确是大问题。假设你的美工半途离开。或者更糟糕,他/她没有给你使用他/她作品的 许可。当然这可以通过和他们签订合同来解决,但找另外一个美工仍然很麻烦。一个工程中有两种不同的美术风格也是问题。
      
      2、需要大笔金钱(通常 4-6 位数) 用来架设一个 MMORPG 服务器.
      
      当然,这不是真的。我见过专业服务器,1000GB/月,不到100美元/月(2~300美元的初装费)。除非你的数据传输协议设计非常不合理, 1000GB/月对一个1000玩家在线(平均)的服务器来说足够了。当然,你还需要另一个服务器做网站和客户端下载(客户端下载会占用大量流量,当游戏 变得流行的时候)。我们的客户端有22MB,有时候会有400GB/月的传输量。而我们还没有很流行(仍然)。另一件事,我们不需要另一台专用服务器开启 这个工程。ADSL/cable服务器可以胜任,直到你的同时在线人数达到20~30。然后要么找一个友好的主机公司,用广告交换免费主机,要么就只能自 己掏腰包了。
      
      3、制作一个MMORPG很有趣。
      
      这不是真的。你可能认为每个人都会赏识你,玩家会支持你,你标新立异,并且,当然,很多玩家都玩你的游戏。玩家可能让人讨厌。即使是完全免费的游戏, 他们也能找到理由抱怨。更糟糕的是人们经常会抱怨矛盾的事。战士会抱怨升级太难,商人会对战士掠夺大量钱财很失望。如果你减少怪物掉落物品,有些玩家就会 威胁说要退出游戏。如果你增加,同样的一群人会不满新手能更简单赚钱的事实。 真是左右为难。改革和改进是必须的。如果你决定改变某些东西,例如给加工物品增加挑战性,有些人会说太难了。如果你不做,他们又会说太简单无味。你会发现 满意的玩家通常不会说什么并且感到满意,同时破坏者会怨声载道。
        
      MMORPG的经济比单机版难以平衡的多。在单机游戏,你可以逐渐改良武器,只要玩家进展,他/她可以使用更好的装备,丢弃(或者卖掉)旧的。另一方 面,在多人游戏里,这种观点不成立,因为每个人都试图得到最好的武器,而跳过低等级武器。大部分玩家宁可空手省钱,直到他们能买游戏中最好的武器。经济系 统设计要参考相关的文章。
        
      迄今为止我列举的所有事情,加上额外的工作和挑战,足以让你在决定涉足这个工程之前三思而行。你必须知道你的决定意味着什么。
      
      总结
      
      希望这篇文章能给你足够的知识。我的下一篇文章将介绍如何建立一个经济系统(更明确的,要避免哪些错误),还有一些调试服务器和客户端的信息。
      
      关于作者

      
      这篇文章作者是 Radu Privantu, 永恒大陆(Eternal Lands) www.eternal-lands.com的主程序和项目规划, 永恒大陆是一款免费,客户端开源的MMORPG。

     

    来源:http://job.17173.com/content/2009-06-25/20090625163128782,4.shtml


    《我所了解的游戏策划》视频

    Posted: 六月 1st, 2009 | Author: 达达尼昂 | Filed under: 资料收藏 | Tags: , , , , | 6 Comments »

    《我所了解的游戏策划》视频

    作者 cdhe@live.cn 来源 游戏魂

     

    《我所了解的游戏策划》视频【上】
    游戏行业以及游戏制作流程
    http://www.tudou.com/programs/view/FJPomPznTfU/

     

    《我所了解的游戏策划》视频【下】
    游戏策划软件演示
    http://www.tudou.com/programs/view/roDu4A4Ep8c/